{"repo":"opsre/cloud_dns_exporter","free":true,"listed":false,"github":"https://github.com/opsre/cloud_dns_exporter","clone":"git clone https://github.com/opsre/cloud_dns_exporter.git","description":"🧰 自动获取DNS提供商的域名及解析列表，同时自动获取每个域名解析的证书信息，并导出为Prometheus Metrics。已支持：Tencent，Aliyun，Godaddy，DNSLA，Amazon，Cloudflare","language":"Go","stars":368,"topics":["dns","eryajf","prometheus","prometheus-exporter","ssl-certificates","aliyun","aliyun-dns","amazon","cloudflare","cloudflare-dns"],"license":"Apache-2.0","category":"analytics","readme_excerpt":"English 简体中文 Cloud DNS Exporter 🧰 自动获取DNS提供商的域名及解析列表，同时自动获取每个域名解析的证书信息。🧰 项目简介 在我们维护网站的时候，偶尔可能会犯一些相对低级的错误，莫过于忘记更换域名证书而使网站无法访问。然而当我们记得并更换了证书，却又因为遗漏了某些解析而导致网站无法访问。这些都是令人难受的错误。 这个项目，希望能够让你轻松掌握到每个域名解析的证书信息，从而在更换证书时，不会遗漏任何一个解析。 支持多种 DNS 提供商，且支持单提供商多账号管理，同时支持自定义配置文件获取证书信息。 如何使用 可以直接在 Release 发布页面下载二进制，然后更改配置文件，直接运行即可。 默认端口监听在 21798 ，为什么选择这个端口，因为项目对应在 Grafana 中的仪表板ID就是 21798。 你也可以选择使用 Docker 部署，部署时把 config.yaml 在本地配置好，然后运行时，通过挂载( -v ./config.yaml:/app/config.yaml )覆盖容器内默认配置即可。 镜像地址： - 国外: eryajf/cloud dns exporter - 国内: registry.cn-hangzhou.aliyuncs.com/eryajf/cloud dns exporter 目前应用还提供了 -v 参数，用于打印当前所使用的版本信息。 快速体验 本项目提供了 docker-compose.yml 配置文件用于快速体验。在启动前，请先在 docker-compose.yml 中配置好你的DNS服务商的 AK/SK 相关信息，并确保你的 docker-compose 的版本不低于2.23.0。 然后在 docker-compose.yml 所在目录下执行以下命令: 不懂docker-compose的用户,可以参考: docker-compose官方教程 或 中文教程 docker-compose.yml 中定义了三个容器，分别是: - cloud dns exporter : 用于获取域名和解析/证书信息 - grafana : 用于展示域名和解析/证书信息 - prometheus : 用于持久化存储域名和解析/证书信息 使用 docker-compose.yml 启动后，通过 http://localhost:3000 访问 Grafana ，使用默认的用户名和密码 admin/admin 登录。 Grafana 中添加 Prometheus 类型的数据源，地址为 http://prometheus:9090 ，然后保存。再导入 Grafana Dashboard 21798 ，数据源选择刚才添加的 prometheus 数据源，即可看到 UI 展示效果。 一些注意 - 为了提高请求指标数据时的效率，项目设计为通过定时任务提前将数据缓存的方案，默认情况下，域名及解析记录信息为30s/次，证书信息在每天凌晨获取一次。如果你想重新获取，则重启一次应用即可。 - 解析记录的证书信息获取，会受限于不同的网络访问场景，因此请尽可能把本程序部署在能够访问所有解析记录的地方。 - 很多域名证书可能与域名没有match，是因为取到了所在负载服务监听的443对应的证书信息，可根据自己的情况选择忽略或进行处理。 - 因为域名注册与解析管理可能不在同一个云账号下，因此会存在 domain list 指标中域名创建时间和到期时间标签为空的情况。 如果发现证书获取不准确或错误的情况，请提交issue交流。","default_branch":null,"files":null,"tree":[],"storefront":"/r/opsre","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/opsre/cloud_dns_exporter/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}