分享我的开源项目: cloud_dns_exporter。自动获取 DNS 提供商的域名及解析列表,同时自动获取每个域名解析的证书信息 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
eryajf
V2EX    分享发现

分享我的开源项目: cloud_dns_exporter。自动获取 DNS 提供商的域名及解析列表,同时自动获取每个域名解析的证书信息

  •  
  •   eryajf 2024-09-01 09:30:51 +08:00 1809 次点击
    这是一个创建于 405 天前的主题,其中的信息可能已经有所发展或是发生改变。

    项目地址: https://github.com/eryajf/cloud_dns_exporter

    项目简介

    在我们维护网站的时候,偶尔可能会犯一些相对低级的错误,莫过于忘记更换域名证书而使网站无法访问。然而当我们记得并更换了证书,却又因为遗漏了某些解析而导致网站无法访问。这些都是令人难受的错误。

    这个项目,希望能够让你轻松掌握到每个域名解析的证书信息,从而在更换证书时,不会遗漏任何一个解析。

    支持多种 DNS 提供商(目前支持阿里云,腾讯云,其他更多,期待有缘人 PR),且支持单提供商多账号管理。

    如何使用

    可以直接在 Release 发布页面下载二进制,然后更改配置文件,直接运行即可。

    默认端口监听在21798,为什么选择这个端口,因为项目对应在 grafana 中的仪表板 ID 就是21798

    你也可以选择使用 docker 部署,部署时把 config.yaml 在本地配置好,然后运行时,通过挂载(-v ./config.yaml:/app/config.yaml)覆盖容器内默认配置即可。

    镜像地址:

    目前应用还提供了-v参数,用于打印当前所使用的版本信息。

    一些注意

    • 为了提高请求指标数据时的效率,项目设计为通过定时任务提前将数据缓存的方案,默认情况下,域名及解析记录信息为 30s/次,证书信息在每天凌晨获取一次。如果你想重新获取,则重启一次应用即可。
    • 解析记录的证书信息获取,会受限于不同的网络访问场景,因此请尽可能把本程序部署在能够访问所有解析记录的地方。
    • 很多域名证书可能与域名没有 match ,是因为取到了所在负载服务监听的 443 对应的证书信息,可根据自己的情况选择忽略或进行处理。

    如果发现证书获取不准确或错误的情况,请提交 issue 交流。

    指标说明

    本项目提供指标有如下几项:

    名称 说明
    domain_list 域名列表
    record_list 域名解析记录列表
    record_cert_info 解析记录证书信息列表

    指标标签说明:

    <!-- 域名列表 --> domain_list{ cloud_provider="DNS 提供商", cloud_name="云账号名称", domain_id="域名 ID", domain_name="域名", domain_remark="域名备注", domain_status="域名状态", create_time="域名创建时间"} 0 <!-- 域名记录列表 --> record_list{ cloud_provider="DNS 提供商", cloud_name="云账号名称", domain_name="域名", record_id="记录 ID", record_type="记录类型", record_name="记录", record_value="记录值", record_ttl="记录缓存时间", record_weight="记录权重", record_status="状态", record_remark="记录备注", update_time="更新时间", full_record="完整记录"} 0 <!-- 域名记录证书信息 --> record_cert_info{ cloud_provider="DNS 提供商", cloud_name="云账号名称", domain_name="域名", record_id="记录 ID", full_record="完整记录", subject_common_name="颁发对象 CN(公用名)", subject_organization="颁发对象 O(组织)", subject_organizational_unit="颁发对象 OU(组织单位)", issuer_common_name="颁发者 CN(公用名)", issuer_organization="颁发者 O(组织)", issuer_organizational_unit="颁发者 OU(组织单位)", created_date="颁发日期", expiry_date="过期日期", cert_matched="与主域名是否匹配", error_msg="错误信息"} 30 (此 value 为记录的证书距离到期的天数) 

    Grafana 仪表板

    项目对应的 Grafana Dashboard ID: 21798

    概览与域名列表:

    解析记录与证书详情列表:

    5 条回复    2024-09-02 09:22:08 +08:00
    semxau789
        1
    semxau789  
       2024-09-01 11:08:38 +08:00
    厉害了,请问最后两张截图是用什么软件截的,可以分享一下吗?
    Earsum
        2
    Earsum  
       2024-09-01 12:07:36 +08:00
    感谢开源分享
    eryajf
        3
    eryajf  
    OP
       2024-09-01 13:47:39 +08:00
    @semxau789 截图我是用的 ishot ,然后背景以及水印用的是 utoos 里边的 photor-截图美化插件。
    eryajf
        4
    eryajf  
    OP
       2024-09-01 13:48:43 +08:0
    @Earsum 欢迎体验,项目根据自己的理解写的,可能还有很多不足
    semxau789
        5
    semxau789  
       2024-09-02 09:22:08 +08:00
    @eryajf #3 学习了,感谢
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5341 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 09:15 PVG 17:15 LAX 02:15 JFK 05:15
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86