1、利用mqadmin命令,编写shell监控脚本(宿主机上需要安装RocketMQ客户端)
!/bin/bash
GroupInfo=sh /app/alibaba-rocketmq/bin/mqadmin consumerProgress -n "10.88.0.216:9876;10.188.0.216:9876" 2>/dev/null
echo "$GroupInfo"
GroupName=echo "$GroupInfo"|grep -v "#Group"|awk '{print $1,$7}'
此处之所以采用临时文件,是因为变量的作用域在每个shell中有效
echo "" > mqtmpfile
echo "
LINE" |awk '{print
LINE" |awk '{print
diffnum" != "" ] && [ "
diffname,$diffnum" >> mqtmpfile
fi
done
采用此种方式循环外能拿到汇总输出
errmsg=cat mqtmpfile | tr -s '\n'
if [ "
errmsg"
fi
2、编写python脚本推送消息到钉钉
!/usr/bin/python
-- coding: utf-8 --
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=XXXXXXXXXXXXXXXXXX"
def msg(text):
json_text= {
"msgtype": "text",
"text": {
"content": text
}
}
print requests.post(api_url,json.dumps(json_text),headers=headers).content
def prit(text):
print text
if name == 'main':
text = sys.argv[1]
msg(text)
3、添加到定时任务
crontab -e
*/15 * * * * /app/alibaba-rocketmq/bin/mqmonitor.sh >> /dev/null
4、发送效果如下:
XXXX_XXXX_GROUP,4
YYYY_YYYY_GROUP,5
ZZZZ_ZZZZ_GROUP,12246