拓冰建站拓冰建站
首页 / 资讯中心 / 正文

Nightingale Whois 域名探测插件:基于 Categraf 的域名注册与到期时间监控指南

Nightingale Whois 域名探测插件基于 Categraf 的域名注册与到期时间监控指南【免费下载链接】nightingaleNightingale is to monitoring and alerting what Grafana is to visualization.项目地址: https://gitcode.com/GitHub_Trending/ni/nightingale导读域名是线上服务的地基域名过期未续费导致服务中断甚至被抢注的案例屡见不鲜。Nightingale 监控体系内置的 Whois 集成插件通过 Categraf 采集器周期探测目标域名的注册时间、更新时间和到期时间以 UTC0 时间戳形式输出为 Prometheus 指标配合预置告警规则即可实现域名 30 天内到期域名 7 天内到期域名注册信息发生变更等场景的自动告警。本文以 integrations/Whois/markdown/README.md 为主干结合仓库中的实际配置样例与告警规则文件完整讲解该插件的启用方式、配置参数、指标含义与生产实践要点。插件定位域名生命周期的一等公民监控Whois 插件是 Nightingale integrations 集成体系中的一员其功能描述为域名探测插件用于探测域名的注册时间和到期时间值为 UTC0 时间戳。它解决的核心问题是域名这类低频但高风险资产的到期状态通常游离于常规基础设施监控之外而 Whois 数据恰好是判断域名健康度的权威信息来源。从源码结构看aiagent/tools/integrations_loader.go 将integrations/目录视为 categraf 配置语法和指标命名的权威 ground truthground truth每个组件的markdown/README.md与collect/*/*.toml会被加载为文档条目供 AI Agent 通过search_n9e_docs检索。也就是说Whis 插件的 README 与配置文件不仅是人类运维的参考手册也是 Nightingale AI 能力理解该插件配置方式的直接依据——这进一步印证了本文所讲内容的准确性与权威性。启用配置从注释到生效最核心的 domain 配置该插件最核心的配置项是domain用于指定要探测的目标地址。配置默认保持注释状态注释状态下插件默认不启用。基础配置写法如下# [[instances]] ## Used to collect domain name information. # domain baidu.com请注意这里配置的是域名而不是 URL。即应填写baidu.com而非https://baidu.comwww.baidu.com这类带子域的形式也应谨慎——插件探测的是域名的注册信息与具体 Web 服务无关。启用插件时取消注释即可[[instances]] ## Used to collect domain name information. domain baidu.com完整配置样例解析仓库中的 integrations/Whois/collect/whois/whois.toml 提供了完整的多实例配置样例各参数说明如下# # collect interval #interval 3600 #[[instances]] ## Used to collect domain name information. #domain baidu.com ## append some labels for series #labels { regionn9e, producttest1 } ## interval global.interval * interval_times #interval_times 1 #[[instances]] ## Used to collect domain name information. #domain google.com ## append some labels for series #labels { regionn9e, producttest2 } ## interval global.interval * interval_times #interval_times 1各配置项的作用与建议取值配置项作用说明interval采集周期秒默认注释样例中给出 3600 秒1 小时。结合注意事项域名到期监控应放长请求周期不建议设置过短[[instances]]实例定义支持多个实例每个实例可监控一个域名注释状态下插件不启用domain探测的目标域名只填域名不填 URL例如baidu.com、google.comlabels附加标签为序列追加标签例如{ regionn9e, producttest1 }便于区分不同实例的归属业务interval_times周期倍率实际采集周期 全局interval×interval_times默认 1其中labels的典型用法是区分不同域名的业务归属。例如同时监控多个域名时可以为每个实例打上region、product标签后续在告警规则和图表中就能按标签聚合筛选避免所有域名混在一起的窘境。interval_times则提供了一种更灵活的调度方式不必修改全局interval只需为个别实例放大采集周期即可实现大部分域名每小时探测一次、个别域名每 4 小时探测一次这类差异化策略。指标解释三个时间戳读懂域名状态插件采集并输出以下三个指标值均为 UTC0 时间戳Unix 秒级时间戳指标名含义whois_domain_createddate域名创建时间戳whois_domain_updateddate域名更新时间戳whois_domain_expirationdate域名到期时间戳基于这三个指标可以衍生出最有价值的监控判断到期倒计时whois_domain_expirationdate - time()即为距到期剩余的秒数除以 86400 换算为天数注册信息变更changes(whois_domain_updateddate[1d])可检测更新时间的波动——续费、改 NS、转移注册商等操作都会刷新更新日期该指标对发现非己方操作的域名变更如劫持风险非常有价值。预置告警规则开箱即用的域名守护仓库的 integrations/Whois/alerts/whois_by_categraf.json 提供了三条预置的 Prometheus 告警规则可在 Nightingale 告警中心直接导入使用覆盖域名监控最关键的三个场景1. 域名 30 天内到期severity 2一般查询语句(whois_domain_expirationdate - time()) / 86400 30附加标签alertnameWhoisDomainExpiringSoon建议动作登录域名注册商控制台确认到期时间与续费状态立即续费并打开自动续费核对注册联系人邮箱是否有效——注册商的到期提醒发到废弃邮箱是最常见的失守原因。2. 域名 7 天内到期severity 1严重查询语句(whois_domain_expirationdate - time()) / 86400 7附加标签alertnameWhoisDomainExpiringCritical建议动作立刻完成续费不要等待自动续费自动续费失败时核对支付方式、余额与实名认证状态若域名已被转出或账号无法登录立即联系注册商客服走紧急通道续费后确认域名状态从clientHold/pendingDelete恢复为ok并用dig domain验证解析正常。3. 域名注册信息发生变更severity 2一般查询语句changes(whois_domain_updateddate[1d]) 0附加标签alertnameWhoisDomainRecordChanged建议动作执行whois domain对比 NS 记录、注册商、注册联系人是否与预期一致确认是否为己方发起的续费、改 NS、转移注册商等操作非己方操作的立即修改注册商密码、开启二次验证并检查异常的转移申请确认被劫持的立即联系注册商冻结域名并启用注册商锁clientTransferProhibited。三条规则在 JSON 中均以disabled: 1导入默认不启用prom_eval_interval为 15 秒、prom_for_duration分别为 300/300/60 秒notify_recovered为 1恢复后通知可按需在告警中心调整。英文版规则文案可在 integrations/Whois/i18n/en_US.json 中查看。注意事项采集周期的取舍原文档特别强调请不要将 interval 设置过短会导致频繁请求 timeout没太大必要性请尽量放长请求周期。原因有两层一是 Whois 探测是向 WHOIS 服务器发起的实时网络请求频率过高极易触发服务器限流或超时timeout反而造成采集失败和无效告警二是域名注册信息的变更频率天然很低小时级甚至天级采集已经完全够用。因此全局interval建议从 3600 秒1 小时起步单个实例如有特殊需要可用interval_times放大周期监控周期内若触发30 天内到期类告警等待续费后 Whois 数据刷新通常需要数小时属正常现象。总结Nightingale Whois 集成插件以极低的配置成本一行domain为域名资产补齐了生命周期监控能力三个 UTC0 时间戳指标承载创建、更新、到期三种状态配合 collect/whois/whois.toml 的实例化与标签能力可横向扩展监控多个域名再叠加 alerts/whois_by_categraf.json 的三条预置规则即可形成到期前 30 天提醒 → 到期前 7 天严重告警 → 注册信息异常变更告警的完整防护闭环。记住一条核心纪律域名探测请求务必放长周期慢即是稳。【免费下载链接】nightingaleNightingale is to monitoring and alerting what Grafana is to visualization.项目地址: https://gitcode.com/GitHub_Trending/ni/nightingale创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
分享:

看完干货,该让你的企业上线了

免费需求沟通 · 48 小时内出具建站方案 · 河南本地可上门