博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
添加域名ssl证书过期时间监控
阅读量:6492 次
发布时间:2019-06-24

本文共 1609 字,大约阅读时间需要 5 分钟。

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[,443]

 

 

 

 

 

 

 

 

 

 

时间间隔可调大

 

2)创建触发器

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

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

严重性:一般严重

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

 

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

你可能感兴趣的文章
html模板生成静态页面及模板分页处理
查看>>
BJTUOJ 1652 Enumerating Brackets
查看>>
【杂谈】是谁发明了轮子?有关前端组件的些许思考与总结
查看>>
post
查看>>
application.properties中自定义属性的使用
查看>>
.NET中不同Timer
查看>>
Jmeter 4.0 扩展插件
查看>>
虚函数和虚表
查看>>
fcntl()功能 详解
查看>>
C语言第五次作业
查看>>
JavaScript 基础,登录验证.
查看>>
汇编语言之实验一
查看>>
ABP(现代ASP.NET样板开发框架)系列之10、ABP领域层——实体
查看>>
币氪研报|DOGE(dogecoin)
查看>>
GitHub使用总结
查看>>
求字符串的组合
查看>>
UINavigationController
查看>>
nginx 设置websocket支持
查看>>
appium+python搭建自动化测试框架_Appium元素定位(二)
查看>>
分辨率纪录
查看>>