## 域名监控
## 一、域名过期的问题
问题描述
域名都是有有效期的,有效期内可以正常使用,有效期之后可能会被其他用户买走。城名过期会导致多种问题,包括
* 无法更新内容
* 访问受限制
搜索引擎的排名和权重下降
以及安全风险增加。
具体来说,过期后,网站所有者可能无法通过该域名登录后台管理系统,无法更新网站的内容和功能,导致网站停留在过期时的状态。此外,过期的域名解析将无效,用户无法通过域名直接访问网站,虽然网站可能仍然可以通过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
### 2.1 docker安装(略)
### 2.2 docker-compose安装(略)
### 2.3 安装domain_exporter
创建domain_exporter目录
mkdir /data/domain_exporter -p
cd /data/domain_exporter
创建docker-compose.yaml
vim docker-compose.yaml
配置如下:
services:
domain_exporter:
image: caarlos0/domain_exporter
container_name: domain_exporter
restart: always
ports:
- "9222:9222"
启动 docker-compose.yaml
docker-compose up -d
查看docker的信息
docker images
docker ps -a
宿主机上访问domain_exporter
的metrics
http://192.168.100.141:9222/metrics
<hr>
## 2.6 prometheus服务器添加domain_exporter
的地址
192.168.100.85的centos上,修改prometheus的配置文件
#进入docker-prometheus目录
cd /data/docker-prometheus
#修改prometheus.yml
vi prometheus/prometheus.yml
添加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: "百度域名监听"
保存后输入命令更新:
curl -XPOST http://localhost:9090/-/reload
成功监听
![](https://img.kancloud.cn/0b/8a/0b8a93919ba5d8afbbb862169748139b_1700x728.png)
<hr/>
## 三、常用的进程监控指标
| 指标名称 | 含义
| domain_expiry_days | 域名到期时间
| domain probe success | 域名检测状态
### 3.1grafana中对process-exporter进行监控
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
- Prometheus教程
- 一. dokcer 安装
- 二. 安装docker-compose
- 三. docker-compose安装Prometheus
- 四. 配置grafana的数据源
- 五. Prometheus的Exporter
- 六. Prometheus的基本术语
- 七. 监控Linux
- 八. 监控redis和mongodb
- 九. 监控mysql数据库
- 十. 监控go程序
- 十一. 监控nginx
- 十二. 监控消息队列
- 十三. 监控docker
- 十四. 监控进程
- 十五. 域名监控
- 十六. SNMP监控
- 十七. 黑盒监控
- 十八. 自定义监控
- 十九. go实现自定义监控
- 二十. 服务发现概述
- 二十一. 基于文件的服务发现
- 二十二. 基于Consul的服务发现
- 二十三. relabeling机制