測試

  • 實現目標:
      1. 自動發現域名,並監控證書過期時間;
      1. 當證書低於60天則觸發釘釘,郵件報警;
      1. 新增監控需在文件ssl_cert_list中增加域名,格式爲:"www.baidu.com 443"
  • 實現步驟:
      1. 在zabbix中增加釘釘報警
#!/usr/bin/python
# -*- coding: utf-8 -*-
import requests
import json
import sys

# 告警羣,測試環境
url = 'https://oapi.dingtalk.com/robot/send?access_token=XXXXXXXXXXXXXXXXXXXXXXX'

def send_msg(msg):
    """
    發送消息的函數,這裏使用阿里的釘釘
    :param msg: 要發送的消息
    :return: 200 or False
    """
    # url = url
    program = {"msgtype": "text", "text": {"content": msg}, }
    headers = {'Content-Type': 'application/json'}
    try:
        f = requests.post(url, data=json.dumps(program), headers=headers)
    except Exception as e:
        return False
    return f.status_code

def main():
    msg = sys.argv[1]
    send_msg(msg)

if __name__ == '__main__':
    main()
    * 2. 測試能否正常發送釘釘報警
* 2. 增加域名監控腳本,需安裝openssl
#!/bin/bash
host=$1
port=$2
end_date=`/usr/bin/openssl s_client -servername $host -host $host -port $port -showcerts </dev/null 2>/dev/null |
  sed -n '/BEGIN CERTIFICATE/,/END CERT/p' |
  /usr/bin/openssl  x509 -text 2>/dev/null |
  sed -n 's/ *Not After : *//p'`

if [ -n "$end_date" ]
then
    end_date_seconds=`date '+%s' --date "$end_date"`
    now_seconds=`date '+%s'`
    echo "($end_date_seconds-$now_seconds)/24/3600" | bc
fi
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章