写在前面的话

19年设计过apm的告警功能,现在22年了,最近看到有关某智能运维公司的融资欺瞒史,想到各种ai智能化的场景,很多仅仅是以工具代替了人,以硬编码逻辑代替了人脑(并不是歧视人工智能,而是歧视那些以人工智能大忽悠薅社会主义羊毛割韭菜的公司),所以写了这篇文章。

用户访问指标检测的误区

智能告警?能把指标收集后针对阈值进行触发告警,就已经非常不错了。要是能支持对单个指标或多维度进行自定义告警,也就很牛逼了。

告警一般需要那些

告警名称

告警名称便于管理标识,一般可以用应用名+指标+类型来命名,比如 CMS- LCP

检测指标

顾名思义是指标

常见检测指标

  • JS错误数
  • JS错误率
  • 资源错误数
  • 资源错误率
  • 首次渲染平均时间
  • 页面加载平均耗时
  • LCP(largest_contentful_paint)
  • FID(first_input_delay)
  • CLS(cumulative_layout_shift)
  • FCP(first_contentful_paint)

触发条件

设置告警级别的触发条件。

  • 告警级别:包含紧急(红色)、重要(橙色)、警告(黄色)、无数据(灰色)、正常(绿色)五个等级,每个等级只能设置一个触发条件。
  • 触发条件:基于配置条件判断操作符和检测周期。若查询结果带单位,则提示单位进位后的结果。 告警级别紧急(红色)、重要(橙色)、警告(黄色)基于配置条件判断操作符,说明如下:

网站系统告警哪家强_前端

告警级别无数据(灰色)、正常(绿色)基于配置检测周期,说明如下:

  • 检测周期=检测频率
  • 自定义检测周期=检测频率 * N

1.无数据(灰色):无数据状态支持「触发无数据事件」、「触发恢复事件」、「不触发事件」三种配置,需要手动配置无数据处理策略。

检测规则生效后,第一次检测无数据且持续无数据,不产生无数据告警事件;若检测有数据且在配置的自定义检测周期内,数据上报发生断档,则产生无数据告警事件。

2.正常(绿色):检测规则生效后,产生紧急、重要、警告异常事件后,在配置的自定义检测周期内,数据检测结果恢复正常,则产生恢复告警事件。

注意:恢复告警事件不受告警沉默限制。若未设置恢复告警事件检测周期,则告警事件不会恢复,且一直会出现在「事件」-「未恢复事件列表」中。 检测频率: 当前检测规则的执行频率,即 检测周期,默认 1 分钟检测一次。

个人或者小公司该怎么选择告警

个人或者小公司因为公司资源投入不够,大多无法构建自己的性能体系,更无法去针对性的设置告警。如果不想系统裸奔,一般多会选择购买告警服务。

为什么不推荐阿里云的arms

arms是一款阿里云应用性能管理(APM)类监控产品,本人在18年也曾对标建设过自己内部的告警系统,限于arms成本比较高,也不推荐。

为什么不推荐听云

听云是比较老牌的监控产品,无奈产品非常割裂,前端告警的维度非常单一。

为什么不推荐友盟

虽然后来归了阿里,但整体还不像是一个产品

其他告警厂商,应该如何比对

其他告警厂商可能比较多,应该如何比对呢? 主要看:

1.告警支持的指标和维度

正常看来,至少应该能够允许针对以下指标进行告警

  • JS错误数
  • JS错误率
  • 资源错误数
  • 资源错误率
  • 首次渲染平均时间
  • 页面加载平均耗时
  • LCP(largest_contentful_paint)
  • FID(first_input_delay)
  • CLS(cumulative_layout_shift)
  • FCP(first_contentful_paint)

一般来说,至少要允许能够按照页面维度进行告警

  • 页面path
  • 请求
  • 动作

2.告警的时延

正常来看,应该是分钟级别告警,不过也可以根据实际成本适当方框。

3.告警方式

一般都支持:邮件/钉钉/企业微信等

4.告警沉默

对于无告警,要允许告警抑制或者不能重复告警