zabbix监控域名到期时间
1、自定义监控项
在zabbix server端这里面创建一个监控项
cd /etc/zabbix/zabbix_agentd.d# vi domain_check.confUserParameter=https.remaining[*],/etc/zabbix/scripts/domain_check.sh $1
2、编写脚本
mkdir -p /etc/zabbix/scripts# vi domain_check.sh#/bin/bashhost=$1port=443end_date=`openssl s_client -host $host -port $port -showcerts </dev/null 2>/dev/null | sed -n '/BEGIN CERTIFICATE/,/END CERT/p' | openssl x509 -text 2>/dev/null | sed -n 's/ *Not After : *//p'`if [ -n "$end_date" ]then end_date_seconds=`date '+%s' --date "$end_date"` # date指令format字符串时间。 now_seconds=`date '+%s'` echo "($end_date_seconds-$now_seconds)/24/3600" | bcfi
3、重启zabbix_agent
systemctl restart zabbix-agent
4、zabbix_server端测试
安装zabbix-get
yum -y install zabbix-get
给脚本赋予执行权限,然后测试
chmod 755 /etc/zabbix/scripts/domain_check.shyum -y install bczabbix_get -s 127.0.0.1 -p10050 -k https.remaining[www.jd.com] 97
解决zabbix“ZBX_NOTSUPPORTED: Timeout while executing a shell script”报错
解决方案
(1)修改zabbix_server的zabbix_server.conf:
# vi /etc/zabbix/zabbix_server.conf
修改以下参数:
Timeout=30
注:超时时间为30秒
(2)修改zabbix_agent的zabbix_agentd.conf:
# vi /etc/zabbix/zabbix_agentd.conf
修改以下参数:
Timeout=30
注:超时时间为30秒
(3) 重启zabbix服务端和客户端
systemctl restart zabbix-server
systemctl restart zabbix-agent
5、zabbix的web界面添加监控项
以京东为例,域名证书到期时间还有97天过期

配置——模板——Template App check_domain

创建监控项
名称:域名到期时间_京东
键值:https.remaining[jd.com]

6、创建触发器
触发器——新建触发器
名称:京东域名到期时间
表达式:{Template App check_domain:https.remaining[jd.com].last()}<7


7、创建图形

8、把这个模板应用到zabbix_server机器上

9、查看图形监控阀值,少于7天报警通知

评论