BIND Exporter

现在使用最为广泛的DNS服务器软件是 BIND(Berkeley Internet Name Domain),最早有伯克利大学的一名学生编写,现在最新的版本是 9,由ISC(Internet Systems Consortium)编写和维护。

针对 Bind Prometheus 社区开发了 Bind Exporter 来导出 BIND 的监控数据给 Prometheus 官方仓库地址是 https://github.com/prometheus-community/bind_exporter ,当前最新版本是 0.5.0 ,发布于 2021 年 11 月 23 日,BIND Exporter 支持 Bind v9+ 以上版本。

安装运行

BIND Exporter 支持二进制和容器运行,从 https://github.com/prometheus-community/bind_exporter/releases 可以下载到 BIND Exporter 的最新版本,包含常用的发行版操作系统和常见的处理器架构。

使用二进制文件启动 BIND Exporter 可以通过下列命令来启动:

./bind_exporter [flags]

如果要监控的 named 是运行在机器本地 localhost ,那么使用容器运行 BIND Exporter 可以使用如下命令

docker pull prometheuscommunity/bind-exporter:v0.5.0

如要要监控的 named 运行在非默认的统计 URL ,那么启动 BIND Exporter 可以使用如下命令:

docker run -d prometheuscommunity/bind-exporter:v0.5.0 -bind.stats-url http://<IP/hostname>:8053

TLS 和 基本认证

BIND Exporter 支持 TLS 和基本的认证,使用 TLS 或者基本认证需要准备一个配置文件,并且在启动 BIND Exporter 的时候使用 --web.config.file 参数来指定这个文件,这个文件的格式在 https://github.com/prometheus/exporter-toolkit/blob/master/docs/web-configuration.md 中有描述。

排错

首先需要确认 BIND 在构建的时候添加了 libxml2 的支持,可以使用 named -V | grep libxml2 来检查是否使用。

配置 BIND 需要打开一个 statistics channel ,建议 BIND Exporter 和 BIND 运行在同一台机器上,或者容器的同一个网桥上,这样只需要打开一个端口就可以了。

statistics-channels {
  inet 127.0.0.1 port 8053 allow { 127.0.0.1; };
};

小结

BIND 是自建 DNS 非常好的解决方案,BIND Exporter 是监控 BIND 非常好的工具,结合 Prometheus 可以做的很好。

results matching ""

    No results matching ""