Dr-Elephant收集到的YARN JOB信息后,存入对应的mysql表(yarn_app_result、yarn_app_heuristic_result、yarn_app_heuristic_result_details)
- yarn_app_result (job是否有异常)
- yarn_app_heuristic_result (job的异常指标)
- yarn_app_heuristic_result_details (job的异常指标对应的详细说明)
通过mysql表里收集到的数据,进行监控异常并且报警
最后报警信息展示如下:
Code Demo
# coding: utf-8
import torndb
import time
import sys
import requests
reload(sys)
sys.setdefaultencoding('utf-8')
class DingDingUtil(object):
dingtalk_url = "https://oapi.dingtalk.com/robot/send?access_token=xxxx"
@staticmethod
def send(msg):
params = """{"msgtype": "text","text": {"content": "%s"},"at": {"isAtAll": true}}""" % msg
headers = {
"Content-Type": "application/json"}
requests.post(DingDingUtil.dingtalk_url, data=params, headers=headers)
class DrElephantMonitor(object):
severity_name_dict