会社の要求に応じて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のランディングページ
設定 - >ホスト - >監視項目 - >監視項目を作成します。
最後に、要件に応じてトリガ証明書だけでなく、どのくらいのアラームリマインダーを設定