码迷,mamicode.com
首页 > 其他好文 > 详细

监控证书SSL到期天数并调用钉钉发送消息

时间:2020-09-07 19:18:30      阅读:61      评论:0      收藏:0      [点我收藏+]

标签:nss   context   alt   钉钉   else   参考   com   tps   差值   

监控脚本
 [root@test1 data]# cat check_ssl.sh 
 #!/bin/bash
 # 检测https证书有效期
 if [ $# -ne 1 ]; then
   echo "请输入需要的检查域名: 例如 /check_ssl.sh hanye.hanye.com"
 else
    #参数设置为host
    host=$1
    #最后到期时间
     #end_date=`echo |openssl s_client -servername $host  -connet $host:443 2nssl x509 -noout -dates|awk -F ‘=‘ ‘/notAfter/{print $2}‘`
    #最后到期时间转换为时间戳
    end_data=`date +%s -d "$(echo |openssl s_client -servername $host  -connect $host:443 2>/dev/null | openssl x509 -noout -dates|awk -F ‘=‘ ‘/notAfter/{print $2}‘)"`
    #当前时间戳
    new_date=$(date +%s)
    #计算SSL证书截止到现在的过期天数
    #计算SSL正式到期时间和当前时间的差值
    days=$(expr $(expr $end_data - $new_date) / 86400)
    echo -e "\033[31m 您的$host 证书 还有${days}天到期  请谨慎处理 \033[0m"
 fi

执行脚本

技术图片

如果要批量执行域名检查

[root@test1 data]# cat hanye.conf
     www.baidu.com
     www.aliyun.com
     www.qq.com
 [root@test1 data]# for i in `cat hanye.conf`; do ./check_ssl.sh $i; done
    您的www.baidu.com 证书 还有332天到期  请谨慎处理 
    您的www.aliyun.com 证书 还有132天到期  请谨慎处理 
    您的www.qq.com 证书 还有391天到期  请谨慎处理 

调用钉钉机器人发消息

在群里开启钉钉机器人
    参考: https://ding-doc.dingtalk.com/doc#/serverapi2/qf2nxq
    我这里已经开启过了 脚本调用
     群设置->只能群助手->机器人->Webhook:

技术图片
技术图片

脚本调用 webhook

参考: https://ding-doc.dingtalk.com/doc#/serverapi2/qf2nxq
  我这里设置的是 curl调用 
    #!/bin/bash
          # 检测https证书有效期
          if [ $# -ne 1 ]; then
            echo "请输入需要的检查域名: 例如 /check_ssl.sh  hanye.hanye.com"
          else
             #参数设置为host
             host=$1
             #最后到期时间
              #end_date=`echo |openssl s_client -servername $host  -connet $host:443 2nssl x509 -noout -dates|awk -F ‘=‘ ‘/notAfter/{print $2}‘`
             #最后到期时间转换为时间戳
             end_data=`date +%s -d "$(echo |openssl s_client -servername $host  -connect $host:443 2>/dev/null | openssl x509 -noout -dates|awk -F ‘=‘ ‘/notAfter/{print $2}‘)"`
             #当前时间戳
             new_date=$(date +%s)
             #计算SSL证书截止到现在的过期天数
             #计算SSL正式到期时间和当前时间的差值
             days=$(expr $(expr $end_data - $new_date) / 86400)
             if [ $days -lt 20 ]; then
                context="您的$host 证书 还有${days}天到期  请谨慎处理" 
                curl "https://oapi.dingtalk.com/robot/send?access_token=token"                     -H ‘Content-Type: application/json‘                     -d "{\"actionCard\": {\"text\": \"$context\",},\"msgtype\": \"actionCard\"}"
             fi
          fi

技术图片

监控证书SSL到期天数并调用钉钉发送消息

标签:nss   context   alt   钉钉   else   参考   com   tps   差值   

原文地址:https://blog.51cto.com/9025736/2524834

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有
迷上了代码!