회사의 요구에 따르면 모니터링 할 SSL 인증서는 zabbix으로 도메인 이름을 만료
직접 코드에
1 # 으로 / usr / bin / env를 용 python3! 2 에서 urllib3.contrib의 수입 pyopenssl 3 에서 날짜 가져 오기 날짜 4 에서 SYS의 수입 ARGV 5 6 7 클래스 SSL_Check : 8 9 DEF __init__ (자체, URL) : 10 self.url = URL 11 12 @property 13 데프 get_str_time (자기) 14 509 = pyopenssl.OpenSSL.crypto.load_certificate (pyopenssl.OpenSSL.crypto.FILETYPE_PEM, 15 pyopenssl.ssl.get_server_certificate ((self.url 443 ))) 16 리턴 x509.get_notAfter () (디코딩) [0 : 27. ] (17) @property 18 데프 get_ssl_time (자기) 19 ssl_time = datetime.strptime ( self.get_str_time, ' % Y %의 m %의 D %의 H %의 M의 %의 S ' ) (20) 창 (ssl_time - . datetime.now ()) 일 21 일 22 일 23 일 경우 __name__ == ' __main__ ' : 24 시도 : 25 URL = ARGV [1] 26 ssl_chenk = SSL_Check (URL) 27 인쇄 (ssl_chenk.get_ssl_time) (28) 를 제외하고 전자와 같은 예외 : 29 인쇄 ( '' )
zabbix-에이전트 구성 파일을 수정
1 VIM은 / etc / zabbix / zabbix_agentd.conf 2 UserParameter ssl_check = [*]은 / etc / zabbix / 스크립트 / ssl_check.py $ 1
Zabbix의 방문 페이지
구성 -> 호스트 -> 모니터 항목 -> 모니터링 항목을 만듭니다
마지막으로, 설정 요구 사항에 따른 시간 알람 알림뿐만 아니라 인증서를 트리거