• Shell脚本监控服务存活状态及异常,并触发钉钉webhook报警


    (1)首先在钉钉中添加webhook自定义机器人

    (2)编写sh脚本,测试发送内容 。 vim  ddSend.sh  将下面内容复制进去

    curl "https://oapi.dingtalk.com/robot/send?access_token=xxxxxx" -H 'Content-Type: application/json' -d '{"msgtype": "text",
            "text": {
                 "content": "服务可能发生异常,请注意查看日志!"
            }
    }'
    

      

    (3)编写触发日志报警的脚本 vim checkLog.sh,比如说监控发生 RuntimeException次数超过0次的;如果条件符合则触发第二步写的 ddSend.sh脚本,命令为souce

    #! /bin/bash
    
    count=$(less /usr/local/src/logs/info.log|grep 'RuntimeException:'|wc -l)
    echo 'the count: ' $count
    
    if (($count > 0));then
            echo 'send'
            source /home/script/ddSend.sh
    fi
    
    echo 'end'
    

      

    或者:# ps -ef |grep jar |grep -v grep |wc -l 检查java进程是否存活,比如count=0,说明服务已经挂掉

    (4)最后一步,利用linux系统本身的 定时任务,执行这个触发日志报警的任务   crontab -e,我们暂时用每15分钟执行一次  举例

    */15 * * * * /home/script/checkLog.sh

    (5)如果服务宕掉或者有异常发生,将会触发 报警,效果如下:

    至此,一个简单又实用的监控就实现啦。如果对您有帮助,动动小手点个赞吧。

  • 相关阅读:
    类名+函数名(参数1,参数2.....){.......return this;}
    报错!无法从静态上下文中引用非静态 变量
    ERROR无法从静态上下文中引用非静态变量
    字符编码笔记:ASCII,Unicode和UTF-8
    MySQL其他类型常用函数
    MySQL流程函数
    MySQL日期和时间函数
    MySQL数值函数
    MySQL字符串函数
    MySQL位运算符优先级
  • 原文地址:https://www.cnblogs.com/pzyin/p/13947317.html
Copyright © 2020-2023  润新知