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

点击蓝字关注!

114b1001d1464c683e4733f98dc8b39e.png

本篇文章大概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地址

9823425d6f856410a0080bae0682345f.png

3

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

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

c6a4929915176bcd385f69fc2581ed20.png

新建告警脚本目录

# 创建目录
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;

df76ba927adc94a53c5b5c9253e8a705.png

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

5ac327433720eb9eebb25cb5ac638f74.png

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

fc50456f8331e25d56b7e4e579027394.png

CDH企业微信告警功能测试

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

64c0d5bb17b03b20407b2ca4b95952b8.pngdecfc4b115d509eb3229f4163f081247.png

Cloudera Mananger上Hbase的健康状态

6288e7efea63dfd2c2b758a2ce230358.png

企业微信群里的告警记录

01ef825cb86ddc5c2ad7c1478b8b6423.png

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

79852b0169b1ced5a381bbd2a99322c9.png

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

fd09a2c2ac20a3dacde55a10e5afc434.gif

扫描二维码

获取更多精彩

Eights

468b637637f2ebf655b716a9b53af8a5.jpeg

d6971e77f03929d801d7f8a8b4f5d3a7.png

点个在看吧~

7ac9bf4fc8697edbc81d9fee6d2505bd.gif

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值