Prometheus——DNS服务器实时监控的利器

在上篇,讲解了node_exporter的配置,用它来可以监控服务器硬件信息。这里,我们讲解对DNS服务器的监控。

  • DNS服务器监控

在DNS服务器监控方面,选择主流的BIND DNS进行监控,只需配置bind_exporter导出器就可以,步骤如下:

bind_exporter安装:

下载


go get github.com/digitalocean/bind_exporter

cd $GOPATH/src/github.com/digitalocean/bind_exporter

cp /usr/bin/go/promu /usr/local/gowork/bin


编译

make

创建软连接


ln -s /usr/local/gowork/src/github.com/digitalocean/bind_exporter /usr/local/bind_exporter

ln -s /usr/local/bind_exporter/bind_exporter /usr/bin/bind_exporter


配置systemd服务:

sudo vim /etc/systemd/system/bind_exporter.service

[Unit]

Description=bind_exporter

Documentation=https://github.com/digitalocean/bind_exporter

Wants=network-online.target

After=network-online.target

[Service]

Type=simple

User=bind

Group=bind

ExecReload=/bin/kill -HUP $MAINPID

ExecStart=/usr/bin/bind_exporter \\

--bind.pid-file=/var/run/named/named.pid \\

--bind.timeout=20s \\

--web.listen-address=127.0.0.1:9119 \\

--web.telemetry-path=/metrics \\

--bind.stats-url=http://127.0.0.1:8053/ \\

--bind.stats-groups=server,view,tasks

SyslogIdentifier=bind_exporter

Restart=always

[Install]

WantedBy=multi-user.target


最后,启动bind_exporter就可以了(默认监听9119端口)。

sudo systemctl daemon-reload

sudo systemctl restart bind_exporter


此外,BIND DNS编译时要加入:./configure --with-libxml2参数,还要配置监控接口,将接口暴露出来,使得可以实时采集到时序数据。

在/etc/bind/named.conf中加入:

statistics-channels {

inet 127.0.0.1 port 8053 allow { 127.0.0.1; };

};

注意到,bind.stats-url是BIND DNS的统计指标监控地址。


下载bind_exporter的json模板:

https://grafana.com/api/dashboards/1666/revisions/1/download

点击导入后,就可以看到dashboard了。

Prometheus——DNS服务器实时监控的利器

访问grafana主页,通过dashboard就可以看到炫的DNS服务器监控面板啦。

Prometheus——DNS服务器实时监控的利器

在下篇,我会讲prometheus对存储系统的监控,下期见。


分享到:


相關文章: