频道栏目
首页 > 资讯 > 其他 > 正文

测试-细哥细妹-51CTO博客

20-05-14        来源:[db:作者]  
收藏   我要投稿
实现目标: 自动发现域名,并监控证书过期时间;
    当证书低于60天则触发钉钉,邮件报警;
      新增监控需在文件ssl_cert_list中增加域名,格式为:"www.baidu.com 443" 实现步骤: 在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
相关TAG标签
上一篇:mysqldump常用参数用法-弦断指间-51CTO博客
下一篇:redis-4.0.2源码安装-15809293299的博客-51CTO博客
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站