添加域名ssl证书过期时间监控

1.cd  /usr/local/zabbix/scripts 目录下

创建如下脚本(check-cert-expire.sh):

#!/bin/sh

host=$1
port=$2
end_date=`openssl s_client -servername $host -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' `
# openssl 检验和验证SSL证书。
# -servername $host 因一台主机存在多个证书,利用SNI特性检查
# </dev/null 定向标准输入,防止交互式程序Hang。从/dev/null 读时,直接读出0 。
# sed -n 和p 一起使用,仅显示匹配到的部分。 //,// 区间匹配。
# openssl x509 -text 解码证书信息,包含证书的有效期。
 
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

2.cd /usr/local/zabbix/conf/zabbix_agentd目录下

创建如下自定义参数配置文件(userparameter_ssl_check_expire.conf):

 

1
UserParameter=check_ssl_cert_expire[*], /bin/bash  /usr/local/zabbix/scripts/check-cert-expire .sh  $1 $2

         可以使用sh+脚本+域名+443端口进行测试

         sh check-cert-expire.sh mj0001.mjshxiaochengxu.top 443

 

3.重启zabbix agent

1
2
3
4
5
6
7
8
9
10
#kill zabbix进程
pkill zabbix
# 配置文件软链接
ln  -s   /usr/local/zabbix/conf/zabbix_agentd .conf    /usr/local/etc/zabbix_agentd .conf
#启动命令启动zabbix agent
/usr/local/zabbix/sbin/zabbix_agentd
#查看启动日志
tail  -f  /data/logs/zabbix/zabbix_agentd .log
#检查端口服务
netstat  -ntlp

 

 

4.zabbix server端找到对应主机

1)创建监控项(目前没有做到自动发现)   进入该目录找到相应的证书域名  /usr/local/nginx/conf/ssl

一个域名对应一个https端口

键值如下:check_ssl_cert_expire[www.mjshenghuo.com,443]

 

 

 

 

 

 

 

 

 

 

时间间隔可调大

 

2)创建触发器

一个触发器对应一个监控项键值

名称:{HOSTNAME}的域名www.qqsk.com的ssl证书还有{ITEM.LASTVALUE}天过期

严重性:一般严重

表达式如下:{weilaili-nj-java-mysql-01:check_ssl_cert_expire[www.mjshenghuo.com,443].last()}<60

 

转载于:https://www.cnblogs.com/panshihao/p/9385755.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值