CDH运维 impala服务异常监控 + 钉钉告警
前言
公司凌晨有些调度是impala任务,因impala的DDL操作连接不释放,会在23:30定期重启impala,期间会发生重启失败,所以做一个监控进行钉钉通知,及时发现问题并及时解决
目录
- 获取钉钉信息
- Python脚本发送钉钉信息
- 设置定时任务
获取钉钉信息
获取到的webhook 与 加签
webhook:
https://oapi.dingtalk.com/robot/send?access_token=【AAAA】 (此处用【AAAA】代替真实环境数据)
加签:
【BBBB】 (此处用【BBBB】代替真实环境数据)
编辑Python3.x脚本发送钉钉通知
#!/home/user/nlpconda/bin/python
# -*- coding: UTF-8 -*-
# desc 监控impala端口,发送钉钉报警信息
# create by DBC
# time 20201118
# modify
from datetime import datetime
import json
import urllib.request
import time
import hmac
import hashlib
import base64
import urllib.parse
import telnetlib
import sys
# 发送钉钉消息
def send_request(url, datas):
# 传入url和内容发送请求
# 构建一下请求头部
header = {
"Content-Type": "application/json",
"Charset": "UTF-8"
}
sendData = json.dumps(datas) # 将字典类型数据转化为json格式
sendDatas = sendData.encode("utf-8") # python3的Request要求data为byte类型
# 发送请求
request = urllib.request.Request(url=url, data=sendDatas, headers=header)
# 将请求发回的数据构建成为文件格式
opener = urllib.request.urlopen(request)
# 打印返回的结果
print(opener.read())
# 获取钉钉发送数据类型
# 13000000000处写钉钉群用户的真实手机号,并在content添加【@手机号】,将