前言
搭建好了zabbix监控平台后,想着充分应用平台。公司注册的域名一般都三年以上,存在到期时期久没及时续费的情况。添加zabbix监测域名注册到期时间项。
一、运行环境
zabbix 6.0 + Centos 8
前提:已正常使用zabbix监控平台
二、操作步骤
1.Centos添加whois查询功能
# yum search whois
Last metadata expiration check: 0:25:59 ago on Wed 14 Sep 2022 10:55:59 AM CST.
============================================== Name & Summary Matched: whois ===============================================
whois.x86_64 : Improved WHOIS client
whois-nls.noarch : Gettext catalogs for whois tools
# yum install whois
过程省略
#whois -H baidu.com
执行查询命名就可以看到返回的相应域名注册的信息了。
2.创建SH脚本
本代码为引用互联网的资源
脚本命名为whois_check.sh
#!/bin/bash
host=$1
#end_date=`whois -H $host|grep "Registry Expiry Date"|awk '{print $NF}'`
end_date=`whois -H $host|egrep "Registry Expiry Date|Expiration Time"|awk '{print $3,$4}'|sed 's#Date: ##g'`
#echo "$end_date"
if [ -n "$end_date" ]
then
end_date_seconds=`date '+%s' --date "$end_date"`
now_seconds=`date '+%s'`
echo "($end_date_seconds-$now_seconds)/24/3600" | bc
fi
保存脚本到 /usr/lib/zabbix/externalscripts/
3.设置相关配置
- 设置脚本执行权限,本命令在externalscripts/目录下执行
chmod +x whois_check.sh
- 编辑zabbix_agentd.d目录下的 userparameter_key.conf,最后添加一条代码
UserParameter=whois.info[*],/usr/lib/zabbix/externalscripts/whois_check.sh $1
vi /etc/zabbix/zabbix_agentd.d/userparameter_key.conf
-
重启服务 systemctl restart zabbix-agent
-
zabbix添加监控项
-
-
添加好后点测试,正常获取数据。
至此,完成域名到期时间正常通过zabbix获取,获取的单位时间是天。
总结
监控域名到期注册时间,是通过linux自带的whois功能来实现的。脚本中使用了 whois -H 域名来获取数据。关于whois的更多应用可以自行查找资源。
脚本正常后,通过正确的方法,配置zabbix-agent,就可以在后台获取到正常的到期天数。就可以通过zabbix平台应用了。