如何配置CDH的企业微信-群机器人告警

点击蓝字关注!

本篇文章大概1968字,阅读时间大约5分钟

采用Cloudera Mananger提供的自定义告警脚本的方式,收集告警信息并转发到企业微信群中~(企业微信群机器人)

1

文档主要内容

  • 实现Cloudera Manager告警的企业微信群机器人转发

  • 实现思路是采用cloudera manager支持的自定义告警脚本方式,在脚本中调用企业微信群机器人的api

测试环境

  • CDH5.16.2

2

企业微信群机器人

企业微信群中的管理员可以根据需求创建不同功能的“群机器人”,包括监控告警,数据推送,自动回复等。这里我们采用群机器人的功能实现Cloudera Manager的监控告警。

添加群机器人

群机器人配置中心:

https://work.weixin.qq.com/help?person_id=1&doc_id=13376

新建一个企业微信群聊,右键点击群聊添加群机器人,添加企业微信机器人后可以获取到一个webhook地址

如何配置CDH的企业微信-群机器人告警_第1张图片

3

配置Cloudera Manager平台自定义告警脚本

进入安装CDH - Alert Publisher服务的机器:

如何配置CDH的企业微信-群机器人告警_第2张图片

新建告警脚本目录

# 创建目录
mkdir -p /opt/cloudera/ud_alert;

编写企业微信告警脚本

vi /opt/cloudera/ud_alert/ew_alert.py
#!/usr/bin/env python
#coding: utf8

import sys
import json
import requests
import time
reload(sys)
sys.setdefaultencoding('utf-8')


def ew_robot(data):
    webhook = "http://xxxxx/cgi-bin/webhook/send?key=xxxxx"
    headers = {'content-type': 'application/json'}
    r = requests.post(webhook, headers=headers, data=json.dumps(data))
    r.encoding = 'utf-8'
    return (r.text)


if __name__ == "__main__":
    myfile = sys.stdin
    alert_data = json.load(myfile)
    content = "### Eights-CDH测试环境集群告警\n"
    for i in range(0, len(alert_data)):
       alert=alert_data[i]["body"]["alert"]
       timestamp= time.localtime(alert["timestamp"]["epochMs"]/1000)
       content = content +"> 时间:**"+time.strftime("%Y-%m-%d %H:%M:%S",timestamp)+"**\n"
       content = content +"> 内容:"+alert["content"] +"\n"
       content = content +"> 详情:"+alert["source"]+"\n"
       content = conteng +"> ---------------------------------------\n"
    print content
    data={"msgtype": "markdown","markdown": {"content": content}}
    res = ew_robot(data)
    print(res)

配置告警发送脚本

#!/usr/bin/env bash
# 抓告警信息
cat $1 >> /opt/cloudera/ud_alert/alert.log
# 告警信息发送
ALERT_INFO=`cat $1 | python /opt/cloudera/ud_alert/ew_alert.py`
echo ${ALERT_INFO}

修改告警目录下所有脚本的权限和组

# 修改权限和组
chown -R cloudera-scm:cloudera-scm /opt/cloudera/ud_alert;
chmod 755 -R /opt/cloudera/ud_alert;

如何配置CDH的企业微信-群机器人告警_第3张图片

在Cloudera Manager上配置自定义告警服务的脚本路径,找到cm的配置,Alert Publisher配置中找到自定义报警脚本的配置:alert.script.path

重启Cloudera Manager服务,自定义告警配置完成

如何配置CDH的企业微信-群机器人告警_第4张图片

CDH企业微信告警功能测试

本环境为个人的测试环境,手动kill掉集群的一个Hbase的RegionServer服务,看是否可以实现自定义告警

如何配置CDH的企业微信-群机器人告警_第5张图片如何配置CDH的企业微信-群机器人告警_第6张图片

Cloudera Mananger上Hbase的健康状态

如何配置CDH的企业微信-群机器人告警_第7张图片

企业微信群里的告警记录

如何配置CDH的企业微信-群机器人告警_第8张图片

查看记录的alert.log告警日志

CDH平台告警信息集成到企业微信完成

扫描二维码

获取更多精彩

Eights

点个在看吧~

你可能感兴趣的:(如何配置CDH的企业微信-群机器人告警)