在上篇,讲解了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了。
访问grafana主页,通过dashboard就可以看到炫的DNS服务器监控面板啦。
在下篇,我会讲prometheus对存储系统的监控,下期见。
閱讀更多 InternetPlus 的文章