前提:

zabbix6 +网上资料

写这编文件的目的是让更多的人在查询了网上资料,还会遇上无法正常读取SSL证书到期时间的问题。所以在观看本文时,你需要有搭建ZABBIX6的基础,及Cenos8系统操作基础。

  1. 检查你的系统是否支持openssl 检测
  2. openssl s_client  -connect  www.baidu.com:443 2>/dev/null | openssl x509 -noout -dates

    返回结果如下图,CTRL+C可结束退出来。

    如果遇上无法使用openssl请自行查阅资料安装相关插件。

  3. vi /usr/lib/zabbix/externalscripts/ssl_check_port.sh  #这个文件我是创建到zabbix脚本目录/usr/lib/zabbix/externalscripts ,请也可cd到指定的目录后在创建。

    #!/bin/bash
    #获取ssl证书的过期时间
    #author:Allen
    #获取证书的有效时间
    weburl=$1
    sslprot=$2
    ssltls=$3  #启用可引入1,1_1,1_2等协议版本,可解决低版服务器检测不到ssl证书时用
    time=$(echo | openssl s_client  -connect  ${weburl}:${sslprot} -tls${ssltls} 2>/dev/null | openssl x509 -noout -dates |awk -F'=' 'NR==2{print $2}')
    #有效时间生成时间戳
    time1=$(date +%s -d "$time")
    #当前时间生成时间戳
    time2=$(date +%s)
    #当前时间减去有效时间,获得将要过期的天数
    time3=$(((time1-time2)/(60*60*24)))
    echo $time3

    代码上网上拷的,上网大概有三种版本。测试了下都可以用,特别是默认是检测443端口的。但我的情况比较特殊,所以我自己改了下这样可以自定义SSL端口

  4. chmod +x ssl_check_port.sh  给文件加执行权限,否则zabbix监控项无法正常

  5. vi /etc/zabbix/zabbix_agentd.d/userparameter_key.conf  添加以下脚本到最后一条。重启zabbix代理服务后,此部分内容会被agent.conf引入。也就是agent会知道这个key怎么操作,key后面是之前定义的shell+参数。

    UserParameter=ssl_check[*],/usr/lib/zabbix/externalscripts/ssl_check_port.sh $1 $2 $3

    本文中自定义的KEY是ssl_check[]

  6. systemctl restart zabbix-agent

  7. 手动添加监控项

    以上两个监控项,一条是默认检测443接口,用的TLS1.2;第二条是检测的8051端口的,用的是TLS1。

  8. 手动检测结果

    读取到正常的数值就说明成功。

  9. 总结。

    错误代码:
    unable to load certificate
    139813418198848:error:0909006C:PEM routines:get_name:no start line:crypto/pem/pem_lib.c:745:Expecting: TRUSTED CERTIFICATE

    当初使用网上的脚本,在一台windows 2008 IIS上面检查SSL证书。一直无法成功提示以上错误,经过多方面查找资料。发现是因为服务器SSL支持协议只能是TSL1,把通过修改脚本,以些来支持直接在zabbix监控项上面定义域名、端口号、协议版本信息,完美的解决了务类服务器检测证书时间到期问题。

zabbix6 通过脚本监控SSL证书到期时间相关推荐

  1. python证书过期_简单python脚本监控SSL证书到期提醒

    随着https的普及,或者说被强制使用,需要维护的SSL证书越来越多,而且由于各种原因吧,需要在各种不同的平台申请维护证书,时间长了,总有证书忘记续签 有些使用了letsencrypt自动续签,但是某 ...

  2. 监控域名证书到期时间

    1.需求 nginx服务器中的域名,在跑的业务域名比较多,需要监控各个域名的证书到期时间,提前做好准备更换证书. 网上有很多的平台监控,但很多都是需要付费的,本次是使用telegram配合做监控提示. ...

  3. ssl证书到期时间查询的三种方法

    之前,有一个域名使用了网上免费的 ssl 证书,然后想在该证书过期后更换为 Let's encrypt 的免费证书,便想查询下该域名 ssl 证书还剩多少天过期. 查询证书到期时间的方法还是很简单的, ...

  4. php 通过网站域名获取SSL证书到期时间

    记录:PHP 通过网站域名去获取SSL证书的到期时间 //查询入口public function testOp(){$domain = ''; //网站域名$cert_info = $this-> ...

  5. ssl证书到期时间查询方法

    目录 1.在浏览器上直接查看 2.通过openssl查看 3.通过s_client 获取证书过期剩余天数 1.在浏览器上直接查看 2.通过openssl查看 由于我服务端是搭建在 Centos 上,所 ...

  6. prometheus监控域名证书到期时间

    参考:https://mp.weixin.qq.com/s/gXffcNzixAiTKSBZcf2sBA 最终效果图: 下面全部使用docker部署: 一.部署prometheus 这是一个默认的pr ...

  7. Prometheus 监控之 Blackbox_exporter黑盒监测 [icmp、tcp、http(get\post)、dns、ssl证书过期时间]

    Blackbox_exporter 主动监测主机与服务状态 Prometheus 官方提供的 exporter 之一,可以提供 http.dns.tcp.icmp 的监控数据采集 官方github: ...

  8. 阿里云免费的ssl证书到期怎么续费

      有很多小伙伴用的阿里云的服务器并且使用了阿里云免费的SSL证书,今天Q302博客导航收到短信和邮件提示SSL证书即将过期了,吓得我登录阿里云查看SSL证书,原来还有一个月的时间,咨询了客服之后原来 ...

  9. 阿里云SSL证书到期怎么办

    阿里云提示内容如下: [阿里云]尊敬的:您域名com使用的SSL证书cert-还有1天过期,过期时间2021-04-21.为防止业务受影响,请提前5个工作日续费并更新证书.请尽快登陆控制台处. 这是阿 ...

最新文章

  1. JConsole的使用
  2. hive 语法检查_升级Hive3处理语义和语法变更
  3. leetcode 542. 01 Matrix | 542. 01 矩阵(图解,广度优先搜索)
  4. python项目开发案例集锦_在线分享 | 在 VS Code 中一站式完成 Python 项目开发
  5. 十二、sed 命令与正则表达式
  6. [轉]9个优秀的基于 JavaScript 与 CSS 的 Web 图表框架
  7. 如何简单解释 MapReduce算法
  8. 达内python第二阶段月考_Python编程练习题二
  9. 计算机服务里打印功能停止,win7系统电脑打印机print spooler服务总是自动停止的解决方法...
  10. Android和iPhone浏览器大战,第1部分,WebKit抢救
  11. linux没有网卡配置文件,linux找不到网卡配置文件解决办法
  12. html的size属性,HTML size属性用法及代码示例
  13. layui数据表格合并列
  14. 数据产品经理该懂的python技术
  15. 音视频技术开发周刊 | 248
  16. ultraedit25版本设置文本自动换行方法
  17. 想要改变世界的 Rust 语言
  18. 电脑黑屏只有鼠标箭头,任务管理器打不开,F8什么的都不管用
  19. android+定位跟踪,android实现远程定位追踪(UC+XSS)
  20. 《你有多自律,就有多自由》经典总结

热门文章

  1. 中国音视频编解码标准(AVS+) 认证体系研究
  2. 华为蓝牙耳机AM60连接win7的系统
  3. PYTHON重要信息通知(短信通知+语音播报)解决方案
  4. Mac常用软件安装与配置
  5. 【C++】将罗马数字转换成阿拉伯数字
  6. .net core 获取程序中文件路径
  7. 分布式系统关注点(19)——深入浅出「异步」
  8. 2018-2019-2 网络对抗技术 20165318 Exp7 网络欺诈防范
  9. 中文汉字html(立→超文本)用汉字写网页代码
  10. mac java打包文件_关于macos:使用JarBundler将Java转换为MacOSX的.app文件