检查程序运行错误日志并发送钉钉机器人播报

1.使用shell脚本监听错误日志

监听日志文件中含有”ERROR”的日志

grep -E "ERROR " /big_data/log/log_bi_report/Report_$(date -d "$a days ago" +%Y-%m-%d).log

/big_data/log/log_bi_report/Report_ (dated" a days ago” +%Y-%m-%d).log是程序运行输出的日志文件

2.编写钉钉机器人调用python脚本

#!/usr/bin/python
import requests
import json
import sys
import os

headers = {'Content-Type': 'application/json;charset=utf-8'}
api_url = "https://oapi.dingtalk.com/robot/send?access_token=7430c841a41d8161b9720de88*******************"

def msg(text):
    json_text= {
     "msgtype": "text",
        "at": {
            "atMobiles": [
                "136********"
            ],
            "isAtAll": False
        },
        "text": {
            "content": text
        }
    }
    print requests.post(api_url,json.dumps(json_text),headers=headers).content

if __name__ == '__main__':
    text = sys.argv[1]
    msg(text)

命名python文件为dingdingrobot.py, 要记得chmod +x dingdingrobot.py

3.编写调用dingdingrobot.py的脚本dingdingrobot.sh

#!/bin/bash

if [ `grep -E "ERROR " /big_data/log/log_bi_report/Report_$(date -d "$a days ago" +%Y-%m-%d).log|wc -l`  -gt 0 ];then
DATA="`grep -E "ERROR " /big_data/log/log_bi_report/Report_$(date -d "$a days ago" +%Y-%m-%d).log`"
python /big_data/log/log_bi_report/dingdingrobot.py "$DATA" 
fi

4.每天定时调用dingdingrobot.sh检查日志错误并发送播报

crontab -e

#每天凌晨8点跑日志错误检查告警
00 08 * * *   /var/lib/hadoop-hdfs/dingdingrobot.sh >/dev/null 2>&1

5.整体思路流程

检查程序运行错误日志并发送钉钉机器人播报_第1张图片

6.钉钉机器人安装

这个过程大家在网上找找资料很简单就出来了

你可能感兴趣的:(大数据)