作者:admin,发布日期:2018-10-07
阅读:7867;评论:0

写在开头

  • 这个功能应该是腾讯云最近出的一个功能,可以免费发送自定义告警消息到你的邮箱和手机上,免费额度也是非常的诱人(无限邮件条数,短信每月1000条),对于平常使用是完全够用的。

  • 腾讯云监控服务提供了完整的监控数据采集获取,数据计算聚合,可视化数据展示,告警判定收敛,及告警分发与通道触达等能力。现云监控自定义消息将告警通道能力产品化独立开放,面向业务监控告警场景,为自有服务和自建监控系统提供告警分发与通道能力。助力客户快速构建打通告警消息推送渠道。

  • 自定义业务告警推送:自建监控系统,告警通过特定告警渠道推送至对应接收人

  • 服务重要信息及时触达:特定服务状态与异常发生时及时推送开发者,无需监控、日志系统对接与告警策略配置。

具体操作

首先我们先去创建一个告警策略,等会要用到:

打开地址:https://console.cloud.tencent.com/monitor/message

选择新建消息策略

QQ截图20181007121539.jpg

按照提示输入信息,然后选择告警渠道,最后点击完成。

还没创建告警接收组请点击这里:(https://console.cloud.tencent.com/cam/groups) 进去之后按照提示创建即可

创建完成之后按照下列提示进行告警

  1. 腾讯云服务器内部直接告警

只要你有腾讯云的服务器,并且安装了腾讯云的agent,直接使用命令即可推送告警。

SSH连接服务器,输入以下命令(Windows请用CMD执行命令):

cagent_tools alarm '$告警内容' cm-xxxxxxxx(策略ID)

6f36fc088b173a8a5f5c32b3d89ce347.png

    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('$告警内容')

写在结尾

那么这个自定义告警有什么用处呢:

  1. 可以搭配库存监控,实时短信推送消息(这样没网也能实时收到消息了qwq)

  2. 搭配自动签到或者另外的Python脚本,执行失败向用户推送消息。

剩下的靠大家的想象力,博主已经成功把这个告警部署到了我的自动签到脚本上,目前效果很好。