## 域名監控
## 一、域名過期的問題
問題描述
域名都是有有效期的,有效期內可以正常使用,有效期之后可能會被其他用戶買走。城名過期會導致多種問題,包括
* 無法更新內容
* 訪問受限制
搜索引擎的排名和權重下降
以及安全風險增加。
具體來說,過期后,網站所有者可能無法通過該域名登錄后臺管理系統,無法更新網站的內容和功能,導致網站停留在過期時的狀態。此外,過期的域名解析將無效,用戶無法通過域名直接訪問網站,雖然網站可能仍然可以通過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
配置如下圖:

- 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
成功監聽

<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/


### 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機制