背景
随着用户量的增加,后台服务经常需要部署在多台服务器或者集群中来提高性能和增强可用性,在提供服务的过程中,由于程序bug或者业务徒增导致CPU飙高,如果CPU持续飙高,可能会导致机器down机,对服务造成不可用。
所以,及时发现CPU资源紧张,并发出告警非常重要。
本文以此为背景,在主机监控时序数据中,配置SLS告警,来监控主机CPU飙高,并且在CPU飙高时发出告警到钉钉机器人;
主要步骤
- 设置监控目标,主机监控,时序数据
- 配置告警规则:设置触发告警
- 设置行动策略:设置告警触发后的通知渠道
- 接收告警通知
配置告警
查询主机CPU使用率
- 如果未接入主机监控数据,可以使用主机监控模拟接入来生成时序数据【参考】
- 接入主机监控时序数据后,切到相应的时序库,比如ecs-metric;点击查询分析,选择指标cpu_util,点击右边预览按钮;页面上方会展示出时序数据的图表
- 鼠标滑过某个点区域,可以看到不同维度下指标值;接下来的告警将按照时序的维度来发出告警
配置告警规则
- 在上述查询页面中,点击页面右边的另存为告警按钮
- 首次配置(每个用户仅需配置一次):需要选择告警中心Project的存储位置,告警中心Project中默认有一个internal-alert-center-log的logstore(免费),会存储一些告警的重要日志,还有三个重要报表供查询分析,包括告警链路中心,监控规则中心,告警排障中心。
- 接下来将对指标值进行监控,如果cpu_util的值大于200%,需要发出告警给指定的钉钉机器人。
- 配置告警规则名,触发条件,和添加标注
- 触发条件这里设置的value > 200,表示任意机器的cpu_util高于200%,触发告警;【参考】.
- 对于时序库,使用SQL+PromQL查询分析,value表示某个时间点对应的值;【参考】
- 标注默认包含标题和描述:在标题和描述中我们可以引用时序查询结果中的hostname,ip和value;
- 注意promql_query查询出来的labels会被展开;
- 标注标题:机器CPU过高
- 标题描述:机器${hostname}CPU过高,当前值为${value}%
新增行动策略
行动策略是指告警触发后,需要执行什么动作,比如可以发送邮件,发送钉钉,调用webhook等;这里以首次配置行动策略为例,来讲如何新增行动策略。
- 点击新增,会跳转到创建行动策略页面,当前页面不要关闭。
- 接下来在界面上配置行动策略,填写行动策略ID和行动策略名称,点击行动的小icon(上图红框位置),添加通知渠道;
- 这里通知渠道例子使用钉钉机器人来通知,需要事先配置好钉钉机器人[参考],注意钉钉机器人的安全设置,可以启用自定义关键词,填入“告警”;行动组,选择渠道钉钉,请求地址写钉钉机器人的Webhook,内容模板选择默认模板【内容模板参考】
- 点击结束按钮
- 会增加一个结束节点
- 点击确认按钮,即创建好了行动策略
配置行动策略
- 创建完行动策略,返回告警规则页面,点击告警策略的刷新按钮
- 点击行动策略的下拉框,选择刚才创建的行动策略
- 其他保持默认,点击确认按钮,保存告警规则
接收告警通知
- 等待5分钟,在钉钉中可以收到告警消息,因为在配置告警规则时,分组评估默认为标签自动,表示会按照时序的维度分开来告警,可以从下图看到有两台ECS出现CPU飙高,分别有两条告警消息
- 点击查询详情可以跳转到告警执行时刻的日志查询页面,点击屏蔽5分钟可以跳转到告警规则页面。
常见问题
- 如果想尽快收到告警,可以在配置告警规则步骤中,将检查频率设置为1分钟;触发条件设置为value > 80,这样更容易触发告警;
- 钉钉机器人未收到告警可以排查是否设置了安全关键词;
至此,一个监控主机CPU飙高的告警例子就完成了。这里只是一个简单的告警项目,演示了告警的一些基本功能,SLS告警具有非常强大的功能,新版告警提供对日志、时序等各类数据的告警监控,亦可接受三方告警,对告警进行降噪、事件管理、通知管理等,新增40+功能场景,充分考虑研发、运维、安全以及运营人员的告警监控运维需求。【参考】
更多参考
进一步参考
- SLS(日志服务)云原生观测分析平台:https://www.aliyun.com/product/sls
- SLS新版告警文档首页:https://help.aliyun.com/document_detail/207609.html
- 欢迎扫群加入阿里云-日志服务(SLS)技术交流(集团同学请直接搜索群号11702236加入), 获得第一手资料与支持
- 后续系列直播与培训视频会同步到B站,敬请留意
最后,如果您还想了解更多智能运维前沿资讯,欢迎您报名参加【数智创新行·智能运维专场】。
6月25日|上海·西岸国际人工智能中心
数智创新行上海站·智能运维专场
阿里云将带来云原生智能运维解决方案,满足海量事件有效感知、高效响应,可观测数据统一分析、故障定位,以及基于AI的异常检测等需求,助力企业构建自己的运维平台,成为开发、运维人员高效可靠的助手。
扫描海报二维码或点击下方链接报名, 期待您一起开启智能运维新时代!
https://www.aliyun.com/page-source//developer/special/osssalon