通过python代码对域名ssl证书进行监控
时间:2019-09-24
本文章向大家介绍通过python代码对域名ssl证书进行监控,主要包括通过python代码对域名ssl证书进行监控使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
根据公司要求,要求用zabbix对域名的ssl证书进行到期监控
直接上代码
1 #!/usr/bin/env python3 2 from urllib3.contrib import pyopenssl 3 from datetime import datetime 4 from sys import argv 5 6 7 class SSL_Check: 8 9 def __init__(self, url): 10 self.url = url 11 12 @property 13 def get_str_time(self): 14 x509 = pyopenssl.OpenSSL.crypto.load_certificate(pyopenssl.OpenSSL.crypto.FILETYPE_PEM, 15 pyopenssl.ssl.get_server_certificate((self.url, 443))) 16 return x509.get_notAfter().decode()[0:-1] 17 @property 18 def get_ssl_time(self): 19 ssl_time = datetime.strptime(self.get_str_time,'%Y%m%d%H%M%S') 20 return (ssl_time - datetime.now()).days 21 22 23 if __name__ == '__main__': 24 try: 25 url = argv[1] 26 ssl_chenk=SSL_Check(url) 27 print(ssl_chenk.get_ssl_time) 28 except Exception as e: 29 print('')
修改zabbix-agent的配置文件
1 vim /etc/zabbix/zabbix_agentd.conf 2 UserParameter=ssl_check[*],/etc/zabbix/script/ssl_check.py $1
登陆zabbix页面
配置-->主机-->监控项-->创建监控项
最后根据需求设置触发器证书还有多长时间报警提醒
原文地址:https://www.cnblogs.com/jiaosf/p/11577882.html
- Shard 分片集群
- 面试官最爱的volatile关键字
- 玩转 WebView ,突破系统限制,让缓存更简单,更灵活
- Mycat 读写分离 数据库分库分表 中间件 安装部署,及简单使用
- 50道Java线程题
- Jrebel6.3.3破解,配置图文教程
- Spring Cloud(十一)高可用的分布式配置中心 Spring Cloud Bus 消息总线集成(RabbitMQ)
- Keras中带LSTM的多变量时间序列预测
- Spring Cloud(十)高可用的分布式配置中心 Spring Cloud Config 中使用 Refresh
- Hibernate 的性能优化的时候碰到了"抓取策略",有四种
- 基于 Spring Cloud 完整的微服务架构实战
- maven build时报错Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.12.4:test
- Spring Cloud(九)高可用的分布式配置中心 Spring Cloud Config 集成 Eureka 服务
- Spring Cloud(八)高可用的分布式配置中心 Spring Cloud Config
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 1.HTML基础知识-HTML进阶
- 浅析一个postgresql的死锁问题
- 你的第一个React App (二 ) - 应用组件开发
- 在Angular应用里使用Redux
- Elasticsearch 日志配置详解
- Cypress系列(52)- fixture() 命令详解
- Docker学习笔记---Dockerfile
- Java面试高频知识点汇总 JVM专题
- Java面试高频知识点汇总 网络协议专题
- 「Mysql优化大师一」mysql服务性能剖析工具
- FPGA设计心得(12)如何正确使用 in_system_ibert ?
- Java面试高频知识点汇总 垃圾回收(GC)机制专题
- Celery-分布式任务队列学习笔记
- Java面试高频知识点汇总 数据库专题
- Java面试高频知识点总结 Redis