【Zabbix4.2学习笔记】4、数据收集-外部监查

使用场景

当被监控端无法安装agent,可以使用外部监查

准备

1.需要在server端配置ExternalScripts参数,指定脚本路径
2.准备获取监控数据的脚本

数据收集流程

脚本一般放在server/proxy上,当有外部检查监控项获取数据时,zabbix-server会到配置文件指定的路径查找监控项对应的脚本并且执行。脚本会到被监控的设备获取数据并将输出的结果返回给zabbix-server。

语法

script[ parameter1, parameter2,...]

1.zabbix-server端配置

首先查看配置文件

vim /etc/zabbix/zabbix_server.conf
查看ExternalScripts路径
ExternalScripts=/usr/lib/zabbix/externalscripts

在/usr/lib/zabbix/externalscripts目录下编写监控项脚本

[root@localhost externalscripts]# vim dns_time.sh

#!/bin/bash
TIMEOUT=15
DNS_SERVER=$1
DOMAIN=$2

if test -z "$1"
then
   echo"未指定DNS Server"
fi

if test -z "$2"
then
   echo "未指定解析域名"
   exit
fi

RESOLVE_TIME=`(time dig @$1 $2) 2>&1|grep real|cut -dm -f 2 |sed 's/[s.]//g'`

echo $RESOLVE_TIME

脚本是用来返回DNS响应时间的,此作为参考
[root@localhost externalscripts]# ./dns_time.sh 114.114.114.114 www.baidu.com
0029    #已经获取到DNS响应时间

2.添加zabbix监控项

【Zabbix4.2学习笔记】4、数据收集-外部监查

查看最新数据,已经可以正确获取dns解析时间

【Zabbix4.2学习笔记】4、数据收集-外部监查

欢×××
【Zabbix4.2学习笔记】4、数据收集-外部监查