Domain Admin

  • 简单说明

    • Domain Admin 是基于Python + Vue3.js 技术栈实现的 开源 域名、SSL证书及网站可用性的监测平台
    ## 开源地址
    # 后端代码
    https://github.com/dromara/domain-admin
    # 前端代码
    https://github.com/mouday/domain-admin-web
    # 移动端
    https://github.com/mouday/domain-admin-mini
    # 官方文档
    https://domain-admin.readthedocs.io/zh-cn/latest/index.html

11.1 Docker部署

  • 操作如下

    • docker-compose.yaml
    version: '3.5'
    services:
    domain-admin:
      image: mouday/domain-admin:v1.6.61
      container_name: domain-admin
      dns:
        - 8.8.8.8  # Google 的公共 DNS 服务器
        - 114.114.114.114  # 中国电信公共DNS
        - 223.5.5.5 # 阿里云公共DNS
      restart: unless-stopped
      ports:
        - 8088:8000
      volumes:
        - ./data:/app/database
        - ./logs:/app/logs
      environment:
        - APP_MODE=production
    • 创建容器
    docker-compose up -d

11.2 创建分组

  • 操作如下

    • 创建分组目的是区分域名归属,一般根据业务类别创建分组
    • 路径: 首页 > 分组管理

11.3 证书监控

  • 操作如下

    • 在证书管理界面添加域名后,会自动获取并展示该域名的证书生效时间相关信息
    • 同时其二级域名会自动纳入域名监控管理界面中进行管理
    • 路径:首页 > 证书管理 > 证书监控

11.4 证书申请

  • 说明

    • 官方指导文档 https://domain-admin.readthedocs.io/zh-cn/latest/manual/ssl-cert.html
  • 操作如下

    • 路径:首页 > 证书管理 > 证书申请
    • Let's EcryptZeroSSL 两种证书的申请方式都一样,下面以 Let's Encrypt 申请为例
    推荐使用 ZeroSSL API没有速率限制
    • 下载校验文件,并将下方给出的nginx配置添加到 blog.hukanfa.com 配置中,重启nginx ,之后点击页面下方验证按钮
    # 校验文件放在 /var/www/challenges/ 这个路径可自定义
    # blog.hukanfa.com 配置中增加以下 location
    location /.well-known/acme-challenge/ {
        alias /var/www/challenges/;
        try_files $uri = 404;
    }
    # 重启nginx
    /usr/local/nginx/sbnin/nginx -t
    /usr/local/nginx/sbnin/nginx -s reload
    • 验证成功后,可以将证书下载后自行部署,后点击关闭

11.5 域名监控

  • 操作如下

    • 路径:首页 > 域名监控 ,管理域名购买剩余有效时长

11.6 网站监控

  • 操作如下

    • 可以有效监控站点是否正常访问

    • 路径: 首页 > 网站监控

11.7 通知管理

  • 说明

    • 官方通知配置说明文档 https://domain-admin.readthedocs.io/zh-cn/latest/manual/notify.html
    • 通知相关配置如下
    # 通知方式
    支持邮件、WebHook、企业微信、钉钉、飞书、电报
    # 触发事件
    SSL证书到期、域名证书、托管证书到期、网站监控异常、监控异常恢复
    # 触发条件
    统一通过:剩余天数 设定触发
    # 触发分组
    支持按照前面创建的分组进行配置告警通知
    # 实现方式
    每种通知方式的告警实现方式和配置都不通,请根据具体情况配置。系统也给出了默认的通知模板
    • 下面介绍如何通过 WebHook 将告警消息推送给企业微信机器人
    # 如何创建企业微信机器人
    1、登陆企业微信 2、以群主身份建群 3、右上角点开群设置可以添加机器人 4、机器人添加后可以获得 WebHook 地址

11.7.1 SSL证书到期告警

  • 操作如下

    • 通知频率系统设置-监测设置的定时任务关联,即定时任务触发通知,适合告警不频繁的场景
    • 路径:首页 > 通知管理 > 添加通知
    # 可以用官方模板,下面是调整后的markdown格式模板,将模板粘贴到请求体中
    {
    "msgtype": "markdown",
    "markdown": {
        "content": "<font color="warning">**【温馨提示】:域名SSL证书到期提醒 🔔**</font>n
      {% for row in list %}><font color="comment">{{row.domain}}</font> 证书将于{{row.expire_date or '-' }}到期,剩余 {{row.expire_days}} 天n{% endfor %}"
    }
    }
    • 点击测试查看通知效果

11.7.2 域名到期告警

  • 操作如下

    • 通知频率系统设置-监测设置的定时任务关联,即定时任务触发通知,适合告警不频繁的场景
    • 路径:首页 > 通知管理 > 添加通知
    # 可以用官方模板,下面是调整后的markdown格式模板,将模板粘贴到请求体中
    {
    "msgtype": "markdown",
    "markdown": {
        "content": "<font color="warning">**【温馨提示】:一级域名到期提醒 🔔**</font>n
      {% for row in list %}><font color="comment">{{row.domain}}</font> 将于{{row.expire_date or '-' }}到期,剩余 {{row.expire_days}} 天n{% endfor %}"
    }
    }
    • 点击测试查看通知效果

11.7.3 网站监控异常告警

  • 操作如下

    • 通知频率和配置的检测频率关联,若检测到符合条件的则立刻触发告警
    • 路径:首页 > 通知管理 > 添加通知
    # 可以用官方模板,下面是调整后的markdown格式模板,将模板粘贴到请求体中
    {
      "msgtype": "markdown",
      "markdown": {
          "content": "<font color="warning">**【警告】: 站点可用性探测异常 ⚠**</font>n
        >事件名称: {{monitor_row.title}}异常n
          >探测链接:  {{monitor_row.http_url}}n
          >报错信息: {{error}}"
      }
    }
    • 查看测试效果(需在站点监控配置个不存在的链接模拟异常,然后到系统管理中调整定时推动告警的时间)

11.7.4 网站监控恢复通知

  • 操作如下

    • 路径:首页 > 通知管理 > 添加通知
    # 可以用官方模板,下面是调整后的markdown格式模板,将模板粘贴到请求体中
    {
      "msgtype": "markdown",
      "markdown": {
          "content": "<font color="info">**【恢复】: 站点可用性探测已正常 ✅**</font>n
        >事件名称: {{monitor_row.title}}已恢复n
          >探测链接: {{monitor_row.http_url}}"
      }
    }
    • 查看效果
    • 注意:恢复通知只针对于网站监控异常SSL证书到期 和 域名到期 是没有对应的恢复通知配置的