centos7之zabbix监控域名解析

  公司有个域名内网解析总有问题,内网有AD域控,但是莫名其妙就解析不了了。所以想监控一下。

  操作系统:centos7.4

       zabbix版本:3.2.6

  1、安装dig检测包。

  2、创建检测脚本,并修改配置文件。

  3、创建监控项。

  4、创建触发器。

     5、创建图形。

一、安装dig检测包

yum install bind-utils

  dig介绍:

     dig命令是常用的域名查询工具,可以用来测试域名系统工作是否正常,它可以通过指定不同的DNS服务器来解析域名

  dig命令 (选项) (参数)

       @<服务器地址>:指定进行域名解析的域名服务器;

       -b<ip地址>:当主机具有多个IP地址,指定使用本机的哪个IP地址向域名服务器发送域名查询请求;

       -f<文件名称>:指定dig以批处理的方式运行,指定的文件中保存着需要批处理查询的DNS任务信息;

       -P:指定域名服务器所使用端口号;

       -t<类型>:指定要查询的DNS数据类型;

       -x<IP地址>:执行逆向域名查询;

       -4:使用IPv4;

       -6:使用IPv6;

       -h:显示指令帮助信息。

       +time= :指定超时时间(秒)

       +short :只显示解析ip地址,不显示其他信息

二、创建检测脚本,并修改配置文件 

cd   /usr/local/zabbix/share/zabbix/alertscripts
touch dns_mail.gaosiedu.com.sh
chmod  755 dns_mail.gaosiedu.com.sh

  测试解析:

  dig xxx.xxxxxx.com +time=3 +short @DNS,解析出来的地址ip地址就是域名服务器的地址,域名就是服务器解析出来的地址。

  

  编写脚本:

#!/bin/bash
#可以接受三个参数$1,$2,$3,分别代表域名,dns服务器,解析的ip地址
A=$(dig $1 +time=3 +short @$2)
if [ ${A} = $3 ]
then
  echo 1
else
  echo 0
fi
dns_xxx.xxxxxx.com.sh

    测试脚本:

[root@localhost alertscripts]# ./dns_xxx.xxxxxx.com.sh  xxx.xxxxxx.com  192.168.1.xxx   192.168.1.xx

  输出1证明解析正常,0为故障。

  修改配置文件

  这里是使用的zabbixserver上的zabbix-agent客户端配置文件来触发检测脚本的。首先需要修改zabbix-agent.conf配置文件。

vim  /etc/zabbix/zabbix_agentd.conf

  修改如下两个参数:

  

  说明:

  1、UnsafeUserParameters=1  #表示使用自定义监控项。

  2、dns_xxx.xxxxxx.com[*],/usr/local/zabbix/share/zabbix/alertscripts/dns_xxx.xxxxxx.com.sh $1 $2 $3    #注意标点符号,三个参数是需要解析的域名、dns地址、解析后正确的ip地址。

 systemctl restart zabbix_agentd

  我们还需要使用zabbix-get方法来获取监控项的值,看是否能够正常。

  [解析出来的正确域名、DNS服务器地址、域名对应的正确服务器IP地址]

 /usr/local/zabbix-3.2.6/bin/zabbix_get -s 127.0.0.1 -p 10050 -k "dns_xxx.xxxxxx.com.sh[xxx.xx.xxxxxx.com,192.168.1.xxx,192.168.1.xx]"

 

三、创建监控项

   1、首先添加报警主机,IP地址是127.0.0.1,不选择任何模板。

   2、自定义监控项。

  

四、创建触发器

  

五、创建图形:

  

  验证:

  

来自于:https://blog.51cto.com/11555417/2164073?cid=726439

posted @ 2019-03-19 10:46  Charles.L  阅读(2746)  评论(0)    收藏  举报