Pythonコードでドメインの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      DEF get_str_time(自己):
 14          X509 = pyopenssl.OpenSSL.crypto.load_certificate(pyopenssl.OpenSSL.crypto.FILETYPE_PEM、
15                                                      pyopenssl.ssl.get_server_certificate((self.url、443 )))
 16          リターン x509.get_notAfter()(デコード)[0:-1。]
 17      @property
 18      DEF 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      以外Eとして例外:
 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