使用Prometheus和Grafana监视BIND DNS服务器的方法_Linux云服务器_云网牛站


本站和网页 https://ywnz.com/linuxyffq/4266.html 的作者无关,不对其内容负责。快照谨为网络故障时之索引,不代表被搜索网站的即时页面。

使用Prometheus和Grafana监视BIND DNS服务器的方法_Linux云服务器_云网牛站
首页
Linux新闻
Linux下载
Linux安装
Linux教程
Linux软件
Linux命令
Linux美化
Linux培训
Linux云服务器
Linux云数据库
Linux安全
Linux编程
所在位置:首页 > Linux云服务器 > 使用Prometheus和Grafana监视BIND DNS服务器的方法
使用Prometheus和Grafana监视BIND DNS服务器的方法
2019-02-15 21:42:59作者:叶云稿源:云网牛站
本文介绍使用Prometheus和Grafana监视BIND DNS服务器的方法,可以用来监视BIND DNS服务器的工具数量是有限的,就个人而言,我喜欢使用Grafana的Prometheus Bind导出器,同时BIND需要使用libxml2支持构建,可以使用named -V | grep libxml2.来确认,返回信息是using libxml2 version: 2.9.1,同时安装Prometheus和Grafana,参考在RHEL 8系统上安装Prometheus 2.6.0的步骤和在RHEL 8系统上安装Grafana 5.4.2的步骤。
一、安装Bind Prometheus Exporter
安装git:
sudo yum install git
对于Ubuntu运行:
sudo apt install wget
安装Go,需要在服务器上安装Go以构建bind_exporter,参考在Linux Mint 19系统中安装Go(Golang)的三种方法。
一旦安装了git和Go,就下载bind_exporter:
go get github.com/digitalocean/bind_exporter
cd $GOPATH/src/github.com/digitalocean/bind_exporter
使用.make生成二进制文件:
# make
>> formatting code
>> building binaries
> bind_exporter
>> running tests
ok github.com/digitalocean/bind_exporter 0.099s
? github.com/digitalocean/bind_exporter/bind [no test files]
? github.com/digitalocean/bind_exporter/bind/auto [no test files]
? github.com/digitalocean/bind_exporter/bind/v2 [no test files]
? github.com/digitalocean/bind_exporter/bind/v3 [no test files]
将生成bind_exporter二进制文件,将二进制文件复制到/usr/local/bin:
chmod +x bind_exporter
sudo mv bind_exporter /usr/local/bin/
你可以使用bind_exporter --help打印命令选项:
# ./bind_exporter --help
Usage of ./bind_exporter:
-bind.pid-file string
 Path to Bind's pid file to export process information.
-bind.stats-groups value
 Comma-separated list of statistics to collect. Available: [server, view, tasks] (default "server,view")
-bind.stats-url string
 HTTP XML API address of an Bind server. (default "http://localhost:8053/")
-bind.stats-version string
 BIND statistics version. Can be detected automatically. Available: [xml.v2, xml.v3, auto] (default "auto")
-bind.timeout duration
 Timeout for trying to get stats from Bind. (default 10s)
-log.format value
 Set the log target and format. Example: "logger:syslog?appname=bob&local=7" or "logger:stdout?json=true" (default "logger:stderr")
-log.level value
 Only log messages with the given severity or above. Valid levels: [debug, info, warn, error, fatal] (default "info")
-version
 Print version information.
-web.listen-address string
 Address to listen on for web interface and telemetry. (default ":9119")
-web.telemetry-path string
 Path under which to expose metrics. (default "/metrics")
二、配置BIND DNS服务器
你需要配置BIND以打开统计信道,由于导出器和BIND位于同一主机上,因此端口在本地打开。
对于CentOS ISC BIND DNS服务器,编辑要添加的文件/etc/named.conf:
statistics-channels {
inet 127.0.0.1 port 8053 allow { 127.0.0.1; };
};
对于Ubuntu/Debian ISC BIND DNS服务器,编辑文件/etc/bind/named.conf.options:
statistics-channels {
inet 127.0.0.1 port 8053 allow { 127.0.0.1; };
};
重新启动绑定以使更改生效:
sudo systemctl restart named
三、创建绑定导出系统服务
下一部分是创建用于启动收集器的systemd服务,可以访问bind(命名)pid文件并启用view stats组。
添加Prometheus系统用户帐户:
sudo groupadd --system prometheus
sudo useradd -s /sbin/nologin --system -g prometheus prometheus
该用户将管理导出器服务。
添加用户帐户后,创建systemd服务单元文件:
sudo vim /etc/systemd/system/bind_exporter.service
添加以下内容:
[Unit]
Description=Prometheus
Documentation=https://github.com/digitalocean/bind_exporter
Wants=network-online.target
After=network-online.target
[Service]
Type=simple
User=prometheus
Group=prometheus
ExecReload=/bin/kill -HUP $MAINPID
ExecStart=/usr/local/bin/bind_exporter \
--bind.pid-file=/var/run/named/named.pid \
--bind.timeout=20s \
--web.listen-address=0.0.0.0:9153 \
--web.telemetry-path=/metrics \
--bind.stats-url=http://localhost:8053/ \
--bind.stats-groups=server,view,tasks
SyslogIdentifier=prometheus
Restart=always
[Install]
WantedBy=multi-user.target
重新加载systemd并启动bind_exporter服务:
sudo systemctl daemon-reload
sudo systemctl restart bind_exporter.service
启用服务以在启动时启动:
$ sudo systemctl enable bind_exporter.service
Created symlink from /etc/systemd/system/multi-user.target.wants/bind_exporter.service to /etc/systemd/system/bind_exporter.service.
确认服务正在侦听已配置的端口9153:
# ss -tunelp | grep 9153
tcp LISTEN 0 128 :::9153   :::*   users:(("bind_exporter",pid=23266,fd=3)) uid:997 ino:113951 sk:ffff8d17fab19980 v6only:0 <->
如果你有firewalld运行,请打开防火墙上的端口:
sudo firewall-cmd --add-port=9153/tcp --permanent
sudo firewall-cmd --reload
四、配置Prometheus服务器
如果你没有正在运行的Prometheus服务器,请参考上面的文章安装,以下是我的两份工作的定义:
- job_name: dns-master
static_configs:
- targets: ['10.1.5.3:9153']
labels:
alias: dns-master
- job_name: dns-slave1
static_configs:
- targets: ['10.1.5.4:9153']
labels:
alias: dns-slave
重启prometheus服务器:
sudo systemctl restart prometheus
五、添加Grafana仪表板
我们将使用Cristian Calin已经创建的Grafana仪表板,仪表板ID为1666,如果还没有,请登录Grafana并添加Prometheus数据源。
添加Prometheus数据源后,通过导航到仪表板>导入来导入Bind Grafana仪表板,使用1666表示Grafana仪表板ID:
为其指定一个描述性名称,然后选择之前添加的Prometheus数据源:
单击导入按钮开始使用仪表板,等几分钟这样就可以显示相关的指标了,这表示目标达到,如下图:
相关主题
采用BIND9在Ubuntu 18.04/16.04上设置Authoritative DNS Server
频道文章
在Fedora Linux系统上用Docker Compose和Podman编排容器
OpenSSL 3.0发布首个Beta版下载,附新功能和变化介绍
在Arch Linux/Manjaro上安装Apache、PHP、MariaDB的方法
在Linux服务器上创建和使用本地CentOS 7 YUM存储库的方法
在Linux服务器下出现503服务不可用错误的原因和排除方法
扩展OpenStack Magnum Kubernetes集群中的工作节点
如何升级由OpenStack Magnum提供支持的Kubernetes集群
统信服务器操作系统V20(1020a)的主要特性和功能介绍
使用Fedora CoreOS在OpenStack Magnum上创建Kubernetes集群
在CentOS 8服务器上配置OpenLDAP多主复制的方法
在Linux上安装和配置OpenStack Barbican密钥管理器服务
在Ubuntu 20.04系统上安装和配置Apache Tomcat 10的方法
全站推荐文章
Linux用户最爱使用的搜索引擎是百度,其次是Google
适用于Linux系统的七款PDF内容编辑器,附下载和安装方法
网友对中国主流厂商不开发Linux版本软件各有主见,附评论内容
deepin-wine5应用升级方法,以手动升级deepin-wine5微信为例
在优麒麟、Ubuntu 20.04系统下安装和使用Crossover的方法
优麒麟的网易、哈工大、兰大、华农大、开源社镜像站地址
在Ubuntu 20.04/18.04下安装PHP 8.0和PHP 8扩展
把apt换成apt-fast能达到极速下载,突破了单线带宽限制
Linux下使用有线网络和WiFi能不能叠加网速?网友评论不一
在Ubuntu 20.04系统上安装Deepin桌面环境(DDE)的方法
在Ubuntu 20.04系统中安装TeamViewer_amd64.deb的方法
Ubuntu 20.04上为Python 3/2安装pip3/2,及使用pip的方法
精选文章
介绍Ubuntu 20.04服务器中的Netplan及配
快速在Ubuntu 20.04上安装LAMP Stack(
在CentOS 8系统上使用命令快速安装
加强Linux服务器安全的20项建议
热门文章
CentOS 7:使用HAProxy实现Nginx负载均衡
用Python快速实现HTTP和FTP服务器
教你在线设计一个简单美观的LOGO
在Ubuntu 16.04系统上安装Rocket.Chat的方
在Ubuntu 18.04服务器上安装Monica PRM的
在Debian 10(Buster)上安装和配置P
在Ubuntu 20.04服务器上安装和配置F
在Ubuntu 20.04服务器上安装和配置R
利用Naxsi在Nginx上构建WAF
使用Nginx实现TCP反向代理和UDP反向代
在阿里云ECS中配置Ubuntu服务器的方
在Ubuntu 18.04系统上安装Taiga.io项目管
关于云网牛站 联系我们 网站合作 版权声明 网站导航
ywnz.com 版权所有