前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >更高效的SSL证书监控方案

更高效的SSL证书监控方案

作者头像
李俊鹏
发布2020-06-12 15:09:25
1.4K0
发布2020-06-12 15:09:25
举报
文章被收录于专栏:运维研习社

上篇文章"简单脚本监控SSL证书,到期告警提醒"发布之后,不少朋友说项目少的情况还好,在zabbix中手动添加监控项和触发器就可以,但项目多的时候,一条一条添加,就有点不合适了

所以今天再介绍个方法,不用手动添加,不管你有多少项目,自动收集

这里用到的就是zabbix的自动发现规则,操作很简单,流程如下:

  • 从web配置文件中获取域名
  • 编写监控脚本,输出json格式
  • 创建zabbix模板
  • 添加自动发现规则
  • 主机绑定模板
  • 验证结果

1

获取域名

获取域名思路很简单,通常情况下,有证书的web配置,都监听443端口,所以可以通过python脚本,从web配置文件中,将监听了443端口的vhost中的ServerName字段拿到就可以了,当然,如果你监听的是其他端口,就通过其他端口去匹配,这里肯定是用正则去匹配

比如我要读取apache中配置了证书的vhost,我写的正则模型如下:

通过以上简单的一个脚本,我就拿到了配置文件下所有配置了证书的域名的一个列表,如果你是nginx,一样的方法,读取配置文件,获取listen是443端口的配置,拿到域名,至于怎么拿要具体看你nginx配置文件的写法,这里就不多说了

2

输出json格式

zabbix编写的脚本,要用于自动发现,输出格式必须为json格式,而且键一定要是data,所以通过python脚本,将第一步得到的ServerName格式化输出为json,脚本如下

这样经过格式化后输出的json,zabbix才能识别,在zabbix_server端通过zabbix_get获取数据测试

当然,能在server端获取到数据的前提是,将上面写好的脚本,添加到zabbix_agent配置中,添加为UserParameter

3

创建zabbix模板

上面添加玩玩脚本,从server端可以获取到数据之后,就可以在zabbix的web端添加模板了,配置——模板——创建模板

创建一个模板,模板名称自己定,其他的选项没有需要特别说明的,按自己的情况来

然后这个模板中,不需要创建任何东西,只需要创建自动发现规则

创建自动发现规则的时候,名称同样看自己(我比较土,就这么随意),类型要选zabbix客户端,键值比较重要,键值就是你在zabbix_agent中配置的UserParameter的key,也就是这个自动发现规则的数据,需要通过这个key来返回数据,或者说获取数据

添加完成后,就要开始添加监控项原型了

自动发现规则中,可以用自定义宏,从上面的脚本中可以看到,我把ServerName自定义为{#SERVERNAME},所以在添加监控项原型中可以使用该宏,名称和键值中通过使用该宏,动态获取要监控SSL的域名

这里名称也是自己定,用这种宏的方式,在告警的时候,可以更方便直观,键值这里用到的就是之前文章中的脚本,通过传{#SERVERNAME}获取到的域名给脚本,脚本返回证书到期时间

监控项原型添加完,就可以添加触发器类型了

这里是小于30天警告提醒

到这里zabbix模板就创建好了

4

主机绑定模板

主机绑定模板简单说下,上面模板配置好之后,选择要添加该模板的主机,在主机的模板中,链接刚才创建的模板就可以了

5

查看数据,验证结果

模板链接好之后,就可以通过监测中的最新数据查看返回结果了

当然,这个数据返回的时间,要根据你配置的模板中,更新间隔来定,开始测试,可以将时间设置短一点,测试没问题后,因为是SSL检测,不需要那么频繁检测,所以可以按天来设置更新间隔,减轻zabbix压力

上面模板链接后,如果数据没有返回,可以通过主机中的监控项中的状态和信息提示进行相应的调整

通过zabbix模板及自动发现,就可以很方便的自动监控添加的域名,不需要一个一个添加,也不用担心web中配置后,忘记在zabbix中添加

如果觉得有用,请关注、转发、在看三连!!!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-06-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 运维研习社 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
SSL 证书
腾讯云 SSL 证书(SSL Certificates)为您提供 SSL 证书的申请、管理、部署等服务,为您提供一站式 HTTPS 解决方案。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档