파이썬 코드에 의한 도메인 SSL 인증서를 모니터링

회사의 요구에 따르면 모니터링 할 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의 방문 페이지

구성 -> 호스트 -> 모니터 항목 -> 모니터링 항목을 만듭니다

마지막으로, 설정 요구 사항에 따른 시간 알람 알림뿐만 아니라 인증서를 트리거

추천

출처www.cnblogs.com/jiaosf/p/11577882.html