此文主要是介绍基于用户使用和不同场景,对云监控的选择,为正在做云监控二次开发的客户同学提供一点思路。
【姿势归类】
使用习惯 | 使用说明 | 适用场景 |
---|---|---|
直接使用 | 官网的监控产品能力,通过控制台查看监控指标,告警管理,全面使用云提供的能力 | 针对关注业务发展,未有太多人力投入基础支撑细化建设 |
接入告警系统 | 借助官网的监控产品能力,通过告警管理二次开发接入公司统一告警平台 | 上云阶段,或者公私有云混布的客户,借助上云前完善的运维体系,快速搭建云上告警逻辑 |
精细化系统 | 通过腾讯云的api拉取全量的云监控到本地完善监控系统 | 互联网公司,关注环境稳定,精细化体系建设 |
今天主要是介绍接入告警系统的模式。
【产品介绍】
云监控(Cloud Monitor,CM),收集并通过图表展示腾讯云云产品自助上报的各项监控指标和用户自定义配置上报的监控指标,以及针对指标设置告警。为您提供立体化云产品数据监控、智能化数据分析、实时化异常告警和个性化数据报表配置,让您实时、精准掌控业务和各个云产品健康状况。
基本功能涵盖以下内容:
【直接使用场景功能介绍】
1、监控查看--Dashboard
支持自定义Dashboard的方式,创建监控视图;
2、创建通知模版
通过创建通知模版,可将业务告警规范化通知到业务团队,比如按业务划分告警接收人等。当前告警接受模式支持包括用户通知、接口回调、日志投递等方式。
3、告警策略设置--自定义告警
【接入告警系统场景介绍】
1、监控查看
可以参考上面的云监控平台,同时,可以通过腾讯云监控的插件接入,目前腾讯云支持grafana和prometheus监控接入。推荐grafana,官网说明:Grafana 可视化服务 快速入门-文档中心-腾讯云-腾讯云
2、告警接入逻辑
3、接入细节
- 通知模板创建(用户通知、接口回调、日志服务)--本接口取值:CreateAlarmNotice
req = models.CreateAlarmNoticeRequest()
params = {
"Module": "monitor",
"Name": "Test",
"NoticeType": "ALL",
"NoticeLanguage": "zh-CN",
"URLNotices": [
{
"URL": "http://test.com/notice"
},
{
"URL": "http://test.com/notice2"
}
]
}
req.from_json_string(json.dumps(params))
resp = client.CreateAlarmNotice(req)
2、告警策略创建(基本信息、触发条件、告警通知) --本接口取值:CreateAlarmPolicy
params = {
"Module": "monitor",
"PolicyName": "Test",
"MonitorType": "MT_QCE",
"Enable": 1,
"ProjectId": 0,
"Namespace": "cvm_device",
"Condition": {
"IsUnionRule": 0,
"Rules": [
{
"MetricName": "CpuUsage",
"Period": 60,
"Operator": "ge",
"Value": "99.9",
"ContinuePeriod": 3,
"NoticeFrequency": 86400,
"IsPowerNotice": 0
},
"MetricName": "MemUsage",
"Period": 60,
"Operator": "ge",
"Value": "99.9",
"ContinuePeriod": 3,
"NoticeFrequency": 86400,
"IsPowerNotice": 0
}
]
},
"NoticeIds": [ "notice-xxxxxxxx" ]
}
3.关联策略对象(支持实例组、实例id维度) --本接口取值:BindingPolicyObject
params = {
"Module": "monitor",
"PolicyId": "policy-xxxxxxxx",
"Dimensions": [
{
"Region": "bj",
"Dimensions": "{"unInstanceId":"ins-xxxxxxxx"}"
},
{
"Region": "bj",
"Dimensions": "{"unInstanceId":"xxxxxxxx"}"
}
]
}