news 2026/7/3 4:35:47

从“用户投诉才知道”到“出问题前自动告警”:告警系统演进之路

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
从“用户投诉才知道”到“出问题前自动告警”:告警系统演进之路

政策快报平台上线第一年,告警系统几乎不存在。

服务器挂了,等用户投诉才知道。爬虫停了,等用户说“怎么没有新政策”才发现。数据库慢了,等用户反馈“页面加载好慢”才去查。

那一年,有一个深夜,爬虫系统因某个网站改版卡死,停了6个小时,我们毫无察觉。第二天早上有用户发消息问“你们平台这两天更新是不是变慢了”,这才发现出问题了。

用户成了我们的“告警系统”。这种方式肯定不能再继续了。

后来我们用了一年多时间,逐步建起了一套完善的告警系统。现在任何异常,5分钟内就能收到通知。

告警系统的3个层次

第一层:基础设施告警(最早建立)

第一层,也是最早做的。监控服务器CPU、内存、磁盘、网络的基础指标,异常时发送告警。

这些指标可以解决大部分“系统挂了”的问题。只要服务器资源出了问题,能第一时间知道。

关键指标和阈值:

指标告警阈值说明
CPU使用率持续5分钟>80%可能被爬虫占满或代码死循环
内存使用率持续5分钟>85%可能内存泄漏
磁盘使用率>85%日志太多或数据增长过快
磁盘IO等待>50ms可能磁盘性能瓶颈
网络带宽>80%峰值可能被攻击或异常流量

这套方案非常基础,但很实用。大部分“系统不可用”的问题,都能从这几个指标里找到根源。

第二层:应用层告警(中期建立)

基础设施层面的告警能告诉你“系统出问题了”,但不一定能告诉你“具体是什么问题”。应用层告警就是来解决这个问题的。

关键监控点:

  • 接口响应时间:P99超过3秒告警。接口慢,可能是数据库慢查询、依赖服务超时、或者代码效率问题。告警触发后可以快速定位到具体接口。

  • 错误率:超过1%告警。错误率突增,通常意味着代码有bug或者某个依赖服务挂了。结合日志可以定位到具体报错。

  • 爬虫采集量:单日采集量低于正常值50%告警。这个很关键——爬虫可能还在运行,但某个信源改版了,数据采不回来。

  • 用户访问量:比昨日同时段下降30%告警。流量突然下降,可能是服务不可用、CDN出问题、或者某个入口失效了。

第三层:业务告警(近期建立)

这是最高层,关注的是“用户体感”层面的异常。

  • 首页加载时间:超过2秒告警。用户第一印象最重要,首页慢用户会直接走。这个指标直接反映用户实际体验。

  • 搜索成功率:低于95%告警。搜索失败率高,说明搜索服务可能出了故障或索引出问题。这是用户最常用的功能之一,需要重点保障。

  • 用户反馈量:负面反馈突增告警。用户说“查不到政策”“页面打不开”这类反馈数量突然增加,往往意味着某个环节出了问题。

告警系统的3个设计原则

原则一:告警要“可操作”。每条告警都应该明确告诉接收人“该做什么”。如果收到告警不知道该怎么办,这条告警就没有意义。

原则二:告警要分级。P0级(立即处理)和P2级(工作时间处理)要分开。不要半夜把P2告警发给所有人,否则真正重要的P0告警会被淹没。

原则三:告警要“会收敛”。同一个问题不要发100条告警。一个故障发一条就够了,说清楚“什么服务、什么问题、什么时间开始”。后续的重复告警自动合并,不要反复打扰。

结尾

最好的告警,是用户还没发现问题,你已经修复了。告警系统建设需要持续投入,但每投入一分,都能减少一分“半夜被吵醒”的概率。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/3 4:35:44

非对称量化:减少 97% 存储空间,近无损实现后期交互检索!

本节内容包括量化、为何采用非对称量化、评分技巧、检索质量以及这将带来什么改变等方面。量化:让多向量存储切实可行量化是用低精度值表示高精度浮点向量,目标是减少数据负载大小并保持排序质量。简单后期交互检索成本高,多向量表示未压缩时…

作者头像 李华
网站建设 2026/7/3 4:34:43

腾讯混元Hy3:首个工程可用的国产MoE大模型

1. 这不是又一个“能发”的模型,而是第一个让我愿意 daily drive 的国产大模型我用过不下二十个国产大模型的公开 API 和网页端,从最早一批需要手动拼 prompt、调 temperature、反复 retry 才能勉强写完一封邮件的版本,到后来能生成 PPT 大纲…

作者头像 李华
网站建设 2026/7/3 4:29:52

Django分页封装

page_data.pyfrom django.utils.safestring import mark_safe from copy import deepcopy class PageData:def __init__(self,request,queryset,page_size1,page_num3,page_parampage):request:请求queryset:数据表的查询结果pagesize:一页显示多少条数据page_num:当前页面显示…

作者头像 李华
网站建设 2026/7/3 4:29:10

GPS是测试什么东西?

GPS 测的是:设备 GPS 定位模块/芯片能否正常工作,在 R&C 连续测试里属于 Mode A 第 10 项。 测什么 检查项 说明 GPS 开关 系统里 GPS 定位是否已开启 定位权限 是否有 ACCESS_FINE_LOCATION 能否定位 能否收到卫星信号并得到 经纬度 不是测 2G/3G/4…

作者头像 李华