作者:admin,发布日期:2018-10-07
阅读:7867;评论:0
写在开头
这个功能应该是腾讯云最近出的一个功能,可以免费发送自定义告警消息到你的邮箱和手机上,免费额度也是非常的诱人(无限邮件条数,短信每月1000条),对于平常使用是完全够用的。
腾讯云监控服务提供了完整的监控数据采集获取,数据计算聚合,可视化数据展示,告警判定收敛,及告警分发与通道触达等能力。现云监控自定义消息将告警通道能力产品化独立开放,面向业务监控告警场景,为自有服务和自建监控系统提供告警分发与通道能力。助力客户快速构建打通告警消息推送渠道。
自定义业务告警推送:自建监控系统,告警通过特定告警渠道推送至对应接收人
服务重要信息及时触达:特定服务状态与异常发生时及时推送开发者,无需监控、日志系统对接与告警策略配置。
具体操作
首先我们先去创建一个告警策略,等会要用到:
打开地址:https://console.cloud.tencent.com/monitor/message
选择新建消息策略
按照提示输入信息,然后选择告警渠道,最后点击完成。
还没创建告警接收组请点击这里:(https://console.cloud.tencent.com/cam/groups) 进去之后按照提示创建即可
创建完成之后按照下列提示进行告警
腾讯云服务器内部直接告警
只要你有腾讯云的服务器,并且安装了腾讯云的agent,直接使用命令即可推送告警。
SSH连接服务器,输入以下命令(Windows请用CMD执行命令):
cagent_tools alarm '$告警内容' cm-xxxxxxxx(策略ID)
2.使用API进行告警:
官方参考文档:https://cloud.tencent.com/document/product/248/17913
这里提供一个封装好的Python脚本
获取API密钥请自行参考官方文档:
https://console.cloud.tencent.com/cam
import base64 import hmac import random import time import hashlib import requests SECRET_ID = '$API的ID' SECRET_KEY = '$API密钥' POLICY_ID = '$告警策略' def tx_push(text): params = { 'Action': 'SendCustomAlarmMsg', 'Region': 'ap-shanghai', 'Timestamp': str(int(time.time())), 'Nonce': str(random.randint(0, 65535)), 'SecretId': SECRET_ID, 'policyId': POLICY_ID, 'msg': text } keys = sorted(params.keys()) src_str = 'GETmonitor.api.qcloud.com/v2/index.php?' for key in keys: src_str += '%s=%s&' % (key, params[key]) src_str = src_str[:-1] sign_str = base64.b64encode( hmac.new(SECRET_KEY.encode('utf-8'), src_str.encode('utf-8'), hashlib.sha1).digest()).decode() params['Signature'] = sign_str try: requests.get('https://monitor.api.qcloud.com/v2/index.php', params=params) except requests.RequestException as e: pass
调用方法:
from tx_push import tx_push tx_push('$告警内容')
写在结尾
那么这个自定义告警有什么用处呢:
可以搭配库存监控,实时短信推送消息(这样没网也能实时收到消息了qwq)
搭配自动签到或者另外的Python脚本,执行失败向用户推送消息。
剩下的靠大家的想象力,博主已经成功把这个告警部署到了我的自动签到脚本上,目前效果很好。