SLS新版告警入门-监控主机CPU异常

本文涉及的产品
对象存储 OSS,20GB 3个月
日志服务 SLS,月写入数据量 50GB 1个月
对象存储 OSS,内容安全 1000次 1年
简介: 随着用户量的增加,后台服务经常需要部署在多台服务器或者集群中来提高性能和增强可用性,在提供服务的过程中,由于程序bug或者业务徒增导致CPU飙高,如果CPU持续飙高,可能会导致机器down机,对服务造成不可用。本文以此为背景,在主机监控时序数据中,配置SLS告警,来监控主机CPU飙高,并且在CPU飙高时发出告警到钉钉机器人。

背景

随着用户量的增加,后台服务经常需要部署在多台服务器或者集群中来提高性能和增强可用性,在提供服务的过程中,由于程序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+功能场景,充分考虑研发、运维、安全以及运营人员的告警监控运维需求。【参考


更多参考

  • 什么是日志服务告警【链接
  • 告警监控,创建告警规则【链接
  • 告警管理,创建告警规则【链接
  • 用户管理,创建用户及用户组【链接
  • 通知管理【链接

进一步参考


最后,如果您还想了解更多智能运维前沿资讯,欢迎您报名参加【数智创新行·智能运维专场】。

6月25日|上海·西岸国际人工智能中心

数智创新行上海站·智能运维专场

阿里云将带来云原生智能运维解决方案,满足海量事件有效感知、高效响应,可观测数据统一分析、故障定位,以及基于AI的异常检测等需求,助力企业构建自己的运维平台,成为开发、运维人员高效可靠的助手。

扫描海报二维码或点击下方链接报名, 期待您一起开启智能运维新时代!

https://www.aliyun.com/page-source//developer/special/osssalon

智能运维专场图片.jpg


相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
1月前
|
存储 Prometheus 监控
程序开发中的监控和日志分析
监控和日志分析在软件开发中至关重要,它们帮助实时了解应用状态、及时发现并解决问题。监控确保系统稳定运行,优化性能和资源;日志分析则助于追踪问题根源、监测用户行为并提供安全审计。利用如Prometheus、ELK Stack等工具可实现高效监控与日志管理,从而优化应用性能和用户体验。
103 0
|
16天前
|
Java
日志框架log4j打印异常堆栈信息携带traceId,方便接口异常排查
日常项目运行日志,异常栈打印是不带traceId,导致排查问题查找异常栈很麻烦。
|
24天前
|
JSON 缓存 fastjson
一行日志引发的系统异常
本文记录了一行日志引发的系统异常以及作者解决问题的思路。
|
1月前
|
Java 应用服务中间件 HSF
Java应用结构规范问题之AllLoggers接口获取异常日志的Logger实例的问题如何解决
Java应用结构规范问题之AllLoggers接口获取异常日志的Logger实例的问题如何解决
|
1月前
|
Java Shell Linux
【Linux入门技巧】新员工必看:用Shell脚本轻松解析应用服务日志
关于如何使用Shell脚本来解析Linux系统中的应用服务日志,提供了脚本实现的详细步骤和技巧,以及一些Shell编程的技能扩展。
28 0
【Linux入门技巧】新员工必看:用Shell脚本轻松解析应用服务日志
|
1月前
|
存储 运维 监控
监控与日志管理:保障系统稳定运行与高效运维的基石
【8月更文挑战第16天】监控与日志管理是保障系统稳定运行和高效运维的基石。它们不仅能够帮助企业及时发现并解决问题,还能够为性能调优、资源优化和业务决策提供有力支持。因此,在构建系统架构时,企业应高度重视监控与日志管理的规划和实施,确保它们能够充分发挥作用,为企业的发展保驾护航。同时,随着技术的不断进步和应用场景的不断拓展,监控与日志管理也将持续演进和创新,为企业带来更多的价值和便利。
|
1月前
|
XML Java Maven
Spring5入门到实战------16、Spring5新功能 --整合日志框架(Log4j2)
这篇文章是Spring5框架的入门到实战教程,介绍了Spring5的新功能——整合日志框架Log4j2,包括Spring5对日志框架的通用封装、如何在项目中引入Log4j2、编写Log4j2的XML配置文件,并通过测试类展示了如何使用Log4j2进行日志记录。
Spring5入门到实战------16、Spring5新功能 --整合日志框架(Log4j2)
|
1月前
|
设计模式 uml
在电脑主机(MainFrame)中只需要按下主机的开机按钮(on()),即可调用其它硬件设备和软件的启动方法,如内存(Memory)的自检(check())、CPU的运行(run())、硬盘(Hard
该博客文章通过一个电脑主机启动的示例代码,展示了外观模式(Facade Pattern)的设计模式,其中主机(MainFrame)类通过调用内部硬件组件(如内存、CPU、硬盘)和操作系统的启动方法来实现开机流程,同时讨论了外观模式的优缺点。
|
24天前
|
运维 Kubernetes 监控
Loki+Promtail+Grafana监控K8s日志
综上,Loki+Promtail+Grafana 监控组合对于在 K8s 环境中优化日志管理至关重要,它不仅提供了强大且易于扩展的日志收集与汇总工具,还有可视化这些日志的能力。通过有效地使用这套工具,可以显著地提高对应用的运维监控能力和故障诊断效率。
62 0
|
28天前
|
SQL 数据库 Java
Hibernate 日志记录竟藏着这些秘密?快来一探究竟,解锁调试与监控最佳实践
【8月更文挑战第31天】在软件开发中,日志记录对调试和监控至关重要。使用持久化框架 Hibernate 时,合理配置日志可帮助理解其内部机制并优化性能。首先,需选择合适的日志框架,如 Log4j 或 Logback,并配置日志级别;理解 Hibernate 的多级日志,如 DEBUG 和 ERROR,以适应不同开发阶段需求;利用 Hibernate 统计功能监测数据库交互情况;记录自定义日志以跟踪业务逻辑;定期审查和清理日志避免占用过多磁盘空间。综上,有效日志记录能显著提升 Hibernate 应用的性能和稳定性。
38 0

相关产品

  • 日志服务