ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
## 域名监控 ## 一、域名过期的问题 问题描述 域名都是有有效期的,有效期内可以正常使用,有效期之后可能会被其他用户买走。城名过期会导致多种问题,包括 * 无法更新内容 * 访问受限制 搜索引擎的排名和权重下降 以及安全风险增加。 具体来说,过期后,网站所有者可能无法通过该域名登录后台管理系统,无法更新网站的内容和功能,导致网站停留在过期时的状态。此外,过期的域名解析将无效,用户无法通过域名直接访问网站,虽然网站可能仍然可以通过IP地址访问,但访问非常不方便,流量会大幅下降。搜索引擎也会将过期网站的排名降低,甚至从搜索结果中删除。 问题的解决 为了应对域名过期,建议采取以下措施: * 及时续费 确保域名在过期之前及时续费,可以设置自动续费选项 * 施加域名过期的监控防止过期 可以利用prometheus的域名监控功能,防止过期 * 网站数据的安全保护 在城名过期之前,定期备份网站的数据和内容,即使域名过期,网站所有者仍然可以通过其他域名或IP地址恢复网站。 保持活跃。警惕域名劫持。过期后,可能会有思意攻击者注册该域名并控制网站内容,应定期检查域名的状态,确保没有被劫持。 如果域名已过期,续费成功后通常需要24~48小时可恢复使用。对于过期未续费的域名,它们可能会进入赎回期,这个期间内可以恢复域名,但可能需要支付高昂的费用。如果错过赎回期,域名将进入制除期,任何人都可以通过域名拍卖平台购买这个名。 ### 二 、怎么在prometheus中监控域名 ### 2.1 主机清单 职责 | ip地址 | 备注 Prometheus服务器 | 192.168.100.85 | docker机式的prometheus 待监控Linux | 192.168.100.141 | 待准备组件: domain_exporter <hr> ## 二、prometheus监控process-exporter ### &nbsp;&nbsp;&nbsp;2.1 docker安装(略) ### &nbsp;&nbsp;&nbsp;2.2 docker-compose安装(略) ### &nbsp;&nbsp;&nbsp;2.3 安装domain_exporter &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;创建domain_exporter目录 mkdir /data/domain_exporter -p cd /data/domain_exporter &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;创建docker-compose.yaml vim docker-compose.yaml &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;配置如下: services: domain_exporter: image: caarlos0/domain_exporter container_name: domain_exporter restart: always ports: - "9222:9222" &nbsp;&nbsp;&nbsp;启动 docker-compose.yaml docker-compose up -d &nbsp;&nbsp;&nbsp;查看docker的信息 docker images docker ps -a &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;宿主机上访问domain_exporter 的metrics http://192.168.100.141:9222/metrics <hr> ## &nbsp;&nbsp;&nbsp;2.6 prometheus服务器添加domain_exporter 的地址 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;192.168.100.85的centos上,修改prometheus的配置文件 #进入docker-prometheus目录 cd /data/docker-prometheus #修改prometheus.yml vi prometheus/prometheus.yml &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;添加domain_exporter 配置如下图: ![](https://img.kancloud.cn/69/3d/693d8b8e674486964673a57514dd51b2_540x482.png) - job_name: "domain-exporter" metrics_path: /probe relabel_configs: - source_labels: [__address__] target_label: __param_target - target_label: __address__ replacement: 192.168.100.141:9222 static_configs: - targets: - qq.com labels: istance: "qq域名监听" - targets: - baidu.com labels: istance: "百度域名监听" &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;保存后输入命令更新: curl -XPOST http://localhost:9090/-/reload &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;成功监听 ![](https://img.kancloud.cn/0b/8a/0b8a93919ba5d8afbbb862169748139b_1700x728.png) <hr/> ## 三、常用的进程监控指标 | 指标名称 | 含义 | domain_expiry_days | 域名到期时间 | domain probe success | 域名检测状态 ### 3.1grafana中对process-exporter进行监控 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;copy id to clipboard->grafana的dashboards中lmport dashboard https://grafana.com/grafana/dashboards/14605-domain-exporter-for-prometheus/ ![](https://img.kancloud.cn/e6/8b/e68bfc8464281667848842af60f144ec_1380x888.png) ![](https://img.kancloud.cn/cf/76/cf76185089dae782e5c405b5a8ccde8d_1880x785.png) ### 3.2 设置domain的触发器(过期告警规则) centos1上 #创建告警目录 mkdir /data/docker-prometheus/prometheus/rules -p cat >> /data/docker-prometheus/prometheus/rules/domain.yml <<"EOF" groups: - name: domain rules: - alert: 域名检测失败 expr: domain_probe_success = 0 for: 2h labels : severity: warning annotations: summary: "{{ $labels.instance }}' description: '{{$labels.domain }}域名检测失败' - alert: 域名过期 expr: domain_expiry_days < 30 for: 2h labels : severity: warning annotations: summary: '{{ $labels.instance }}' description: "{{$labels.domain }}将在30天后过期" - alert: 域名过期 expr: domain_expiry_days < 5 for: 2h labels: severity: page annotations : summary: "{{ $labels.instance }}' description: '{{ $labels.domain }}将在5天后过期' EOF