随着https网站的普及,ssl证书的过期时间需要重点关注。如果使用let’s encrypt的免费证书,可以配置自动更新程序。不过我觉得最好还是做下监控,因为有时候自动续期可能会出现问题。zabbix实现https网站ssl证书到期时间监控思路很清晰,把到期时间取出来和当前时间比较,比如到期前15天告警。
查询证书api接口请求url:https://api.nbhao.org/v1/ssl/cert
接口说明:https://api.nbhao.org/web/#/1?page_id=5
监控脚本如下:
#!/usr/bin/env python#coding: utf-8import requestsimport argparseimport timeurl = \'https://api.nbhao.org/v1/ssl/cert\'if __name__ == \__main__\: parser = argparse.argumentparser(description=\check ssl expire time.\) parser.add_argument(\-h\, dest=\host\, help=\https hostname\) parser.add_argument(\-p\, dest=\port\, default=443, help=\https port ,default 443\) args = parser.parse_args() try: resp = requests.get(url = url, params={\host\:args.host,\port\:args.port}) result = resp.json() except: result = dict() if result: if result[\'code\'] == 200: tm_end = result[\'message\'][\'te\'] # 返回剩余的天数 print (tm_end - int(time.time()))/86400 else: print \error\ else: print \error\此脚本正常会返回ssl证书剩余的天数,把这个脚本保存到zabbix的外部命令externalscripts目录,并赋予可执行权限。zabbix外部命令具体路径在配置文件zabbix_server.conf的externalscripts,默认注销没有启用。
配置zabbix1、添加itemtype:选择“external check”
key:配置类似如“check_ssl.py[“-h”,”www.szl724.com”]”,其中check_ssl.py是脚本的名字,中括号里是对应的参数“-h www.szl724.com”,查询www.szl724.com域名443端口的ssl证书。
type of information:numeric,整数格式
update interval:5m,5分钟检查一次
注:添加item后注意查看“latest data”里是不是正常采集到数据。
2、添加triggerexpression:触发器两个条件,分别是30分钟没有数值(ssl证书信息获取失败)和30分钟内最大值小于15(ssl证书到期时间小于15天)。
如果有多个https网站的话按照这个步骤添加即可。
电脑用一段时间后出现噪音怎么处理链接提交工具中为什么推送不存在的url一篇好的文案是怎么写出来的云主机挂机服务器云服务器的费用是根据什么计算的移动云服务器怎么扩容腾讯校园云服务器买哪个雪人计划 ipv6网络是什么