点击蓝字 关注我们

1、自定义监控项
在zabbix server端这里面创建一个监控项
cd /etc/zabbix/zabbix_agentd.d
```
# vi domain_certificate_check.conf
```
UserParameter=https.remaining[*],/etc/zabbix/scripts/domain_certificate_check.sh $1
```

2、编写脚本
mkdir -p /etc/zabbix/scripts
```
# vi domain_certificate_check.sh
```
#/bin/bash
```
host=$1
```
port=443
```
end_date=`openssl s_client -host $host -port $port -showcerts /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" | bc
```
fi
3、重启zabbix_agent
systemctl restart zabbix-agent
4、zabbix_server端测试
安装zabbix-get
yum -y install zabbix-get
```
给脚本赋予执行权限,然后测试
chmod 755 /etc/zabbix/scripts/domain_certificate_check.sh
```
yum -y install bc
```
zabbix_get -s 127.0.0.1 -p10050 -k https.remaining[www.jd.com]
```
99
```
解决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界面添加监控项
以本地化商户掌门1对1为例,域名证书到期时间还有109天过期

配置——模板——Template App check_domain

创建监控项
名称:域名到期时间_掌门1对1
键值:https.remaining[wgj.wgj.zhangmen.com]

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


7、创建图形

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

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

以上,既然看到这里了,如果觉得不错,随手点个赞、在看、转发三连吧,如果想第一时间收到推送,也可以给我个星标⭐~谢谢你看我的文章,我们,下次再见。
原文链接: https://mp.weixin.qq.com/s/lZo7bxZpYK4pYwvZ7yuO7A