补充个python监控小函数,证书过期发送警告
来源:互联网 发布:学编程用什么笔记本 编辑:程序博客网 时间:2024/06/05 18:28
背景
现网发生过几次证书过期发生的业务中断,老这样搞不太好,于是决定在原有监控脚本基础上增加监控项,提前指定时间发送短信给维护人员
问题
现有证书主要就是一些提供https连接用的,有keystore文件,有.crm文件,也有pem文件,所以获取到期时间的命令有所不同,如下:
Test:/home/xia/tomcat/conf # keytool -list -v -keystore key.store -storepass 'xxx' |grep CST Valid from: Fri Feb 21 08:00:00 CST 2014 until: Sun Feb 22 07:59:59 CST 2015Valid from: Tue Aug 28 04:40:40 CST 2012 until: Sat May 21 04:40:40 CST 2022Valid from: Sun Aug 23 00:41:51 CST 1998 until: Thu Aug 23 00:41:51 CST 2018Test:/usr/local/apache2/conf # openssl x509 -enddate -noout -in caiyun.feixin.10086.cn.crt notAfter=Feb 21 23:59:59 2015 GMT
现网目前的监控是用python实现的,时间处理采用date.ctime()方法(主要是awk分割可读性貌似差了点),ctime获取的格式如下:
Fri Jun 06 17:31:56 2014
openssl获取的没有周(考虑到反正不用周几,就随机用Fri去填充),keytool或取的CST在中间(用awk分割,需要考虑语言不同的可移植性问题)
成品
certification_dir = self.getStrFromConfigIni("CertificateFile",item_name,"/home/X/key.store") before_days = self.getIntFromConfigIni("BeforeDays",item_name,15) if self.com_name == "A" : store_pass = self.getStrFromConfigIni("StorePass",item_name,"123456") get_date_cmd = """keytool -list -v -keystore %s -storepass '%s' |grep CST | head -n 1 |awk -F "," '{print substr($1,49,20),substr($1,73,4)}'""" % (certification_dir,store_pass) status,expire_time = lib.getOrderResultByCommands('root',get_date_cmd) elif self.com_name == "B" : get_date_cmd = """openssl x509 -enddate -noout -in %s | awk -F "," '{print substr($1,10,20)}'""" % (certification_dir) #... now=time.ctime() parsed_expire=time.strptime(expire_time) expire_date=datetime.date(parsed_expire.tm_year,parsed_expire.tm_mon,parsed_expire.tm_mday) #... delta = expire_date-now_date #send alarm
说明
1.grep CST后会获取到多个,只取第一个则head -n 1,同理,末尾用tail;
2.都指定root用户执行,因为现网有的用户语言LANG=zh_CN.UTF-8;
3.这个配合自己产品,比如读取配置执行命令,自己的库,看的童鞋就不要参考了。
0 0
- 补充个python监控小函数,证书过期发送警告
- Ruby监控网络发送断开警告信息
- 警告: 网页已经过期
- 警告: 网页已经过期
- Python补充02 Python小技巧
- Zimbra证书过期问题解决
- ios推送证书过期
- 解决证书过期问题
- 推送证书过期处理
- ios证书过期问题
- iOS证书过期解决方案
- NLPIR 证书过期
- jpush证书过期
- gitblit证书过期
- Python补充03 Python内置函数清单
- Python补充03 Python内置函数清单
- 2.Python补充_Python小技巧
- python 监控进程,结束后发送邮件
- Jboss7+HornetQ(持久订阅)
- 仿百度输入框自动匹配功能的JS代码
- 处理驾校学员系统编号重复的问题
- 矩阵原地转置
- Test
- 补充个python监控小函数,证书过期发送警告
- 如何修改myeclipse中web项目的工作路径或默认路径
- [LeetCode] Palindrome Partitioning II [12]
- lynxos
- 再访俄罗斯地下世界
- 修改CMD命令回显语言 中文->English
- Tomcat8 安装和运行
- C罗挑战金球奖魔咒! 世界杯避重走小罗旧路
- JAVA中的集合类