zabbix企业应用之dns监控 您所在的位置:网站首页 监控DNS zabbix企业应用之dns监控

zabbix企业应用之dns监控

2024-07-10 18:47| 来源: 网络整理| 查看: 265

继续介绍zabbix监控企业应用的实例,本次介绍zabbix监控dns,我监控的dns为bind 9.8.2,本dns为公网dns,是为了解决公司内网服务器自动化所需求的dns解析,比如目前的puppet或者salt软件,如果结合dns,管理起来更方便,对于管理服务器来说,如果搬迁机房或者硬件出现故障,如果有dns解析,那么直接切换域名,30s内生效,这样故障恢复的时间就会更短,总之有dns做解析的好处多多,这里就不多介绍,如何的安装可以参考我的文章http://dl528888.blog.51cto.com/blog/2382721/1249311(centos 6.2安装bind 9.8.2 master、slave与自动修改后更新)

一、客户端操作

1.登陆dns部署的服务器,安装zabbix客户端,然后客户端的配置文件里,比如我的是/usr/loca/zabbix/conf/zabbix_agentd.conf里添加

UserParameter=check_dns[*],/usr/bin/sudo /usr/local/zabbix/bin/zabbix_monitor_dns.sh $1

然后在cd /usr/local/zabbix/bin/

添加一个zabbix_monitor_dns.sh文件,内容为

#!/bin/bash named_stats='/tmp/named_stats.txt' ###++ Incoming Requests ++ Incoming_QUERY=`awk '/QUERY/{print $1}' $named_stats` Incoming_RESERVED9=`awk '/RESERVED9/{print $1}' $named_stats` ###++ Incoming Queries ++ Incoming_A=`grep A $named_stats |awk 'NR==1{print $1}'` Incoming_SOA=`grep SOA $named_stats |awk 'NR==1{print $1}'` Incoming_PTR=`grep PTR $named_stats |awk 'NR==1{print $1}'` Incoming_MX=`grep MX $named_stats |awk 'NR==1{print $1}'` Incoming_TXT=`grep TXT $named_stats |awk 'NR==1{print $1}'` Incoming_AAAA=`grep AAAA $named_stats |awk 'NR==1{print $1}'` Incoming_A6=`grep A6 $named_stats |awk 'NR==1{print $1}'` Incoming_IXFR=`grep IXFR $named_stats |awk 'NR==1{print $1}'` Incoming_ANY=`grep ANY $named_stats |awk 'NR==1{print $1}'` ###++ Outgoing Queries ++ Outgoing_A=`grep  "\" $named_stats |awk 'NR==2{print $1}'` Outgoing_NS=`grep NS $named_stats |awk 'NR==1{print $1}'` Outgoing_PTR=`grep PTR $named_stats |awk 'NR==2{print $1}'` #Outgoing_AAAA=`grep NS $named_stats |awk 'NR==2{print $1}'` Outgoing_DNSKEY=`grep DNSKEY $named_stats |awk 'NR==1{print $1}'` Outgoing_ANY=`grep ANY $named_stats |awk 'NR==2{print $1}'` Outgoing_DLV=`grep DLV $named_stats |awk 'NR==2{print $1}'` ###++ Name Server Statistics ++ Statistics_IPv4_requests=`grep "IPv4 requests received" $named_stats |awk 'NR==1{print $1}'` Statistics_requests_received=`grep "requests with EDNS(0) received" $named_stats |awk 'NR==1{print $1}'` Statistics_TCP_requests=`grep "TCP requests received" $named_stats |awk 'NR==1{print $1}'` Statistics_queries_rejected=`grep "recursive queries rejected" $named_stats |awk 'NR==1{print $1}'` Statistics_responses_sent=`grep "responses sent" $named_stats |awk 'NR==1{print $1}'` Statistics_EDNS_sent=`grep "responses with EDNS(0) sent" $named_stats |awk 'NR==1{print $1}'` Statistics_successful_answer=`grep "queries resulted in successful answer" $named_stats |awk 'NR==1{print $1}'` Statistics_authoritative_answer=`grep "queries resulted in authoritative answer" $named_stats |awk 'NR==1{print $1}'` Statistics_non_authoritative_answer=`grep "queries resulted in non authoritative answer" $named_stats |awk 'NR==1{print $1}'` Statistics_nxrrset=`grep "queries resulted in nxrrset" $named_stats |awk 'NR==1{print $1}'` Statistics_SERVFAIL=`grep "queries resulted in SERVFAIL" $named_stats |awk 'NR==1{print $1}'` Statistics_NXDOMAIN=`grep "queries resulted in NXDOMAIN" $named_stats |awk 'NR==1{print $1}'` Statistics_recursion=`grep "queries resulted in recursion" $named_stats |awk 'NR==1{print $1}'` Statistics_received=`grep "queries resulted in received" $named_stats |awk 'NR==1{print $1}'` Statistics_dropped=`grep "queries resulted in dropped" $named_stats |awk 'NR==1{print $1}'` ###++ Resolver Statistics ++ Resolver_sent=`grep "IPv4 queries sent" $named_stats |awk 'NR==1{print $1}'` Resolver_received=`grep "IPv4 responses received" $named_stats |awk 'NR==1{print $1}'` #Resolver_NXDOMAIN_received=`grep "" $named_stats |awk 'NR==1{print $1}'` #Resolver_responses_received=`sed -n '49p' $named_stats |sed 's/^[ \t]*//g'|cut -d ' ' -f 1` #Resolver_delegations_received=`sed -n '50p' $named_stats |sed 's/^[ \t]*//g'|cut -d ' ' -f 1` Resolver_query_retries=`grep "query retries" $named_stats |awk 'NR==1{print $1}'` Resolver_query_timeouts=`grep "query timeouts" $named_stats |awk 'NR==1{print $1}'` Resolver_fetches=`grep "IPv4 NS address fetches" $named_stats |awk 'NR==1{print $1}'` #Resolver_fetch_failed=`sed -n '54p' $named_stats |sed 's/^[ \t]*//g'|cut -d ' ' -f 1` Resolver_validation_attempted=`grep "DNSSEC validation attempted" $named_stats |awk 'NR==1{print $1}'` Resolver_validation_succeeded=`grep "DNSSEC validation succeeded" $named_stats |awk 'NR==1{print $1}'` Resolver_NX_validation_succeeded=`grep "DNSSEC NX validation succeeded" $named_stats |awk 'NR==1{print $1}'` Resolver_RTT_10ms=`grep "queries with RTT 


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有