🩺 安装 DNS 健康检查
📝 概述
重要
请先确保已安装 LoadUP-CP 和 Load Proxy,并从 Web 仪表板记录用户账户的 API Token,然后再进行以下操作。
注意
DNS 健康检查可以部署在现有的 LoadProxy 服务器上,或是干净的 VPS 上,只要其他 EdgeHit DNS 实例能够访问 DNS health-check 的 IP,并能够 CURL 到 DNS Healthcheck Web 实例中托管的 health-dns.txt 即可。
!!!tip “提示” 由于 DNS Health-check 不像其他独立安装一样包含 Node-Exporter,因此建议在 Load Proxy 实例中下载并运行。
DNS Healthcheck 是一个模块,用于从 LoadUP-CP 拉取数据,并以 health-dns.txt 形式呈现。它作为 EdgeHit DNS 和 LoadUP 之间的中间件,因为 EdgeHit DNS 只能识别通过 DNS Health-check 呈现的格式。
以下为安装 DNS Healthcheck 并配置 EdgeHit DNS 连接到 DNS Healthcheck(以及绑定 LoadUP 中 Healthcheck UUID)的步骤。
📦 安装 DNS 健康检查
-
设置环境变量与密钥
export REGISTRY_PASSWORD='<密钥>' export health_check_api_url='<LoadUP-CP 的域名>' export health_check_api_key='<LoadUP-CP 的管理员账户 API Token>'!!!info “注意” HTTP_AUTH_PASS 是定义 LoadUP-Worker 中 Node-Exporter 的 PSK,如未配置将随机生成。提前设置为 Load Proxy 相同的值可简化加入 Prometheus 目标的流程,不过 LoadUP-Worker 的指标将与 Load Proxy 实例共享相同 job :
node。 -
使用
CURL下载并运行安装脚本-
安装完成后,相关信息和管理工具将保存在
/usr/local/loadproxy/health-check/目录中,内容如下: -
.env包含密钥和配置项 install-info.txt包含安装信息bin/目录包含如更新与备份的管理脚本
-
您可以通过浏览器访问 URL <DNS HealthCheck 域名>:16666/health-dns.txt 来验证安装是否成功,页面应类似如下图所示:
DNS Health-check 安装完成后,接下来可配置 EdgeHit DNS 连接 DNS Health-check。
🛠️ 编辑 EdgeHit DNS 的环境变量
-
编辑 .env 文件
- 将 DNS 健康检查地址添加到 EdgeHit DNS 的
.env文件中,使用如下命令:
cat >> /usr/local/loadproxy/EdgeHit-DNS/.env <<EOF EdgeHit DNS_health_check_url=<DNS HealthCheck 域名>:16666/health-dns.txt EOF
- 将 DNS 健康检查地址添加到 EdgeHit DNS 的
-
重新加载 docker-compose 服务:
/usr/local/loadproxy/EdgeHit-DNS/bin/docker-compose.sh down /usr/local/loadproxy/EdgeHit-DNS/bin/docker-compose.sh up -d注意
需要使用
/usr/local/loadproxy/EdgeHit-DNS/bin/docker-compose.sh脚本,而非原生 docker-compose 命令,因为某些.env值会通过脚本从预定义目录加载。
安装完成后,您可以在 EdgeHit Controller 中添加 DNS 记录并创建与 DNS 记录对应的 Uptime 跟踪任务。
接着,需要将该任务的 UUID 绑定到 DNS 记录中的 Healthcheck ID。详细说明请参见 配置 DNS 健康检查 部分。
