Loading... ## 启动 ``` docker run -d --restart=always --name domain-exporter \ --network prometheus \ caarlos0/domain_exporter:v1.23.0 ``` ## Job 示例 ```yaml - job_name: domain metrics_path: /probe scrape_interval: 8h static_configs: - targets: - qwerto.cc labels: env: prod company: xxx name: xxx - targets: - baidu.com labels: env: prod company: xxx name: xxx relabel_configs: - source_labels: [__address__] target_label: __param_target - target_label: __address__ replacement: domain-exporter:9222 ``` ## 指标 ```bash # 域名过期的时间 domain_expiry_days # 域名查询状态 domain_probe_success ``` ## 告警示例 ```yaml groups: - name: alert_domain rules: - alert: DomainExpiring[60d] expr: max_over_time(domain_expiry_days[1d]) < 60 for: 1h labels: severity: warning annotations: description: "Domain {{ $labels.domain }} will expire in less than 60 days" summary: "{{ $labels.domain }}: domain is expiring\n - env: {{ $labels.env }}\n - name: {{ $labels.name }}" - alert: DomainExpiring[30d] expr: max_over_time(domain_expiry_days[1d]) < 30 for: 1h labels: severity: warning annotations: description: "Domain {{ $labels.domain }} will expire in less than 30 days" summary: "{{ $labels.domain }}: domain is expiring\n - env: {{ $labels.env }}\n - name: {{ $labels.name }}" - alert: DomainExpiring[7d] expr: max_over_time(domain_expiry_days[1d]) < 7 for: 1h labels: severity: critical annotations: description: "Domain {{ $labels.domain }} will expire in less than 7 days" summary: "{{ $labels.domain }}: domain is expiring\n - env: {{ $labels.env }}\n - name: {{ $labels.name }}" ``` 最后修改:2024 年 07 月 30 日 © 允许规范转载 赞 如果觉得我的文章对你有用,请随意赞赏