原文地址: https://mp.weixin.qq.com/s/NIT2vd52IIG9EEg1ym_LUQ
作者:一罐八宝粥
背景
公司现有的告警体系长期以来面临以下痛点,不仅增加了运维和研发的负担,也对系统稳定性和业务连续性构成了严重威胁,直接影响了问题发现和响应的效率:
以上问题已对系统稳定性、业务连续性产生了显著威胁,为彻底解决这些问题,我们对现有监控告警体系进行了全面升级和优化。构建智能化、精准化的全链路告警管理机制。
解决方案
通过全面优化告警规则和管理流程,减少 Alertmanager 配置冗余,提升告警信息的聚合效率和推送准确性。具体改造措施包括:
1、精准推送:结合企业微信群助手和 Alertmanager,确保告警信息在正确时间推送至正确的群组,提升问题响应效率;
2、统一管理平台:基于 Python + Django 构建告警配置与推送的管理平台,集中管理所有告警规则,提升系统维护性;
3、多系统联动:深度集成发布系统、CMDB、ELK 日志系统、Skywalking 和 K8s 等平台,实现告警信息的多维度补充与闭环管理;
4、数据库告警优化:利用云平台数据库分析工具,精准监控并推送 MySQL 和 Redis 的性能问题和异常告警;
5、AI 智能辅助:通过引入 AI 技术,对日志和告警信息进行智能分析,为问题定位和解决提供优化建议,实现从告警到问题闭环的智能化管理。
此举优化将显著提升告警系统的实时性、准确性和信息完整性,从而全面增强系统的稳定性与运维效率。
告警渠道建设
通过企业微信 API 创建高效群聊通道,并基于 Python + Django 构建轻量级工程,提供强大的扩展性与可维护性,为告警体系构建稳固的基础设施。
修改和完善现有的规则
现存告警规则在问题发现的覆盖性和准确性上存在一定不足,容易导致问题遗漏或误判。我们通过优化规则来提升告警效率,不是简单地减少告警数量,而是精准地发现问题,并通过更科学的规则配置解决这些问题,从而减少不必要的告警噪音。以下是优化方案的具体实践:
示例:云上 MySQL 磁盘空间监控
1. 优化告警规则:MySQL 可用磁盘空间不足
历史规则问题:
优化后的规则:
floor((qce_cdb_diskremaining_max{cloud="Tencent",cluster="Mysql"} / 1024) < 200) and ((qce_cdb_diskremaining_max{cloud="Tencent",cluster="Mysql"} + qce_cdb_realcapacity_max{cloud="Tencent",cluster="Mysql"}) / 1024) >1000
优化结果:
2、优化告警规则:MySQL 磁盘使用率大于 85%
历史规则问题:
优化后的规则:
floor(((qce_cdb_realcapacity_max{cloud="Tencent",cluster="Mysql"}) / (qce_cdb_diskremaining_max{cloud="Tencent",cluster="Mysql"} + qce_cdb_realcapacity_max{cloud="Tencent",cluster="Mysql"})) * 100 > 85) and ((qce_cdb_diskremaining_max{cloud="Tencent",cluster="Mysql"} + qce_cdb_realcapacity_max{cloud="Tencent",cluster="Mysql"}) / 1024) <= 1000
优化结果:
3.新增告警规则:磁盘使用率陡增
为了进一步提升异常变化的感知能力,我们增加了一条对磁盘使用率快速上升的监控规则。
((qce_cdb_volumerate_max{cloud="Tencent",cluster="Mysql"} - avg_over_time(qce_cdb_volumerate_max{cloud="Tencent",cluster="Mysql"}[5m])) / avg_over_time(qce_cdb_volumerate_max{cloud="Tencent",cluster="Mysql"}[5m]) > 0.05 or (huaweicloud_sys_rds_rds039_disk_util{cloud="HWcloud", engineName="mysql"} - avg_over_time(huaweicloud_sys_rds_rds039_disk_util{cloud="HWcloud", engineName="mysql"}[5m])) / avg_over_time(huaweicloud_sys_rds_rds039_disk_util{cloud="HWcloud", engineName="mysql"}[5m]) > 0.05) * 100
规则特点:
优化结果:
整体成效
通过上述规则优化:
优化后的规则不仅显著提升了监控告警的实用性和可靠性,也为运维团队提供了更高效的问题定位工具,从而有效保障系统的稳定运行。
基础信息处理
Alertmanager 接收到告警后,将其统一发送至自建的告警处理服务。系统会对告警信息的所有字段进行提取和匹配,并依据告警类型调用相应模块进行处理。以下是针对 K8s 的具体优化:
1、关联服务信息
2、日志与事件解析
3、日志聚合与分析
4、信息整合与推送
pod 告警试例
对应生成的解决方案
解决方案详情 (图略,请参考)
AI 分析结果(图略)
skywalking 告警处理
公司已引入 SkyWalking 作为分布式链路监控平台,用以监控服务性能、调用链路和异常状况。为充分利用其强大的监控能力,制定以下优化方案,实现从告警生成到智能化分析及推送的全链路闭环管理。
目标
实现方案
1. 告警规则配置
2. 告警信息采集与处理
b. 日志信息提取
c.JVM 性能数据获取
3. AI 智能分析
4. HTML 消息生成与推送
将整合后的分析结果、上下文信息和建议方案生成企业微信兼容的 mpnews 格式 HTML 消息:
价值与成效
1、提升告警响应效率:通过告警上下文和分析信息的精准推送,团队可快速定位问题,无需繁琐查阅日志或监控面板;
2、减少人力投入:AI 模型的引入显著降低了告警分析的复杂度,提高了问题处理的自动化程度;
3、增强系统稳定性:基于 SkyWalking 的链路监控和闭环告警管理,提前识别和解决潜在问题,降低故障发生率。
此优化方案构建了告警管理的智能化闭环,从根本上提升了运维和研发团队的协作效率,为业务的高效运行提供了可靠支撑。
skywalking 效果展示
发布信息
域名大于400的告警
价值与展望
通过本次改造,成功构建了智能化的告警管理体系,不仅显著提升了告警的实时性和准确性,还降低了故障排查的复杂度和响应时间。未来,我们将持续优化告警规则和 AI 模型能力,打造更智能、更高效的运维体系,为业务稳定运行提供强有力的技术保障。
本文系转载,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文系转载,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。