前言
云原生时代的监控系统贯穿于移动端、前端、业务服务端、中间件、应用层、操作系统等,渗透 IT 系统的各个环节。因此,在构建 IT 系统之初,就需要考虑如何打造一个完善的监控系统。当面临大量业务流量数据时,借助监控进行问题排查,可以及时有效监测系统是否存活、是否健康。
为了有效观测 IT 系统瓶颈,观测云配备了完整且强大的异常检测能力。一方面,其内置多种异常检测库,满足多种场景,无需额外配置,一键开启。另一方面,支持自定义异常检测规则,配置简单易上手,满足业务多样需求。
开箱即用的官方模版库
进入监控 > 新建 > 官方模版库,即可看到观测云内置的包含主机、Docker、Elasticsearch、Redis、阿里云 RDS、阿里云 SLB、Flink 监控在内等数十种模版。
面对多场景的监控器模板,我们可以直接通过搜索快速定位目标监控器。假定我们需要监测系统主机 CPU 使用率,如果产生异常需要及时发送告警。我们可以直接在搜索栏输入关键词,比如 “CPU”,回车即可在结果列表中选择相关监控器模板,一键创建。
示例操作效果如下:
我们可以看到,系统已经为我们准备好了必备的一些参数,在此基础上,我们按需对检测频率、区间、告警策略等修改即可。
自定义异常数据检测
目前,针对系统不同的数据范围,观测云支持自定义对应的监控检测规则,实现全覆盖监测系统海量数据。
以上 13 种检测规则详情如下:
规则名称 | 数据范围 | 基本描述 |
---|---|---|
阈值检测 | 全部 | 基于设置的阈值对指标数据进行异常检测。 |
突变检测 | 指标(M) | 基于历史数据对指标的突发反常表现进行异常检测,多适用于业务数据、时问窗短的场景。 |
区间检测 | 指标(M) | 基于动态阈值范围对指标的异常数据点进行检测,多适用于趋势稳定时间线。 |
离群检测 | 指标(M) | 检测特定分组下检测对象的指标/统计数据是否存在离群偏差情况。 |
日志检测 | 日志(L) | 基于日志数据进行业务应用的异常检测。 |
进程异常检测 | 进程对象(O::host_processes) | 定时检测进程数据,了解进程异常情况。 |
基础设施存活检测 | 对象(O) | 基于基础设施对象数据,设置存活条件,监控基础设施的稳定性。 |
应用性能指标检测 | 链路(T) | 基于应用性能监测数据,设置阈值规则,检测异常情况。 |
用户访问指标检测 | 用户访问数据(R) | 基于用户访问监测数据,设置阈值规则,检测异常情况。 |
安全巡检异常检测 | 安全巡检(S) | 基于安全巡检产生的数据进行异常检测,可以有效感知主机健康状态。 |
可用性数据检测 | 可用性数据(L::类型) | 基于可用性监测数据,设置阈值规则,检测异常情况。 |
网络数据检测 | 网络(N) | 基于网络数据,设置阈值规则,检测网络性能的稳定性。 |
外部事件检测 | 其他 | 将第三方系统产生的异常事件或记录通过指定 URL 地址,以 POST 请求方式发送到 HTTP 服务器后生成观测云的事件数据。 |
如何配置?
在开始配置操作之前,我们需要了解观测云监控器实现监控能力的基本逻辑:当配置完监控器的事件通知规则后,会依据规则内我们设置的触发条件产生不同的事件。当检测到异常事件,则会发送告警通知。
我们以配置阈值检测为例:
步骤一:检测配置
- 首先需要选择当前检测规则的【检测频率】和【检测区间】。前者指的是检测规则的执行频率,这里我们选择默认的 “5 分钟”;后者表示每次执行任务时,检测指标查询的时间范围。这里我们选择默认的 “最近 5 分钟”。
- 在【检测指标】,我们可以针对不同的数据类型(包含指标、日志、基础设施、自定义对象、事件、应用性能监测、用户访问监测、安全巡检和网络等数据)作检测筛选。
- 【触发条件】表示满足紧急、重要、警告、无数据、信息这五种等级的任意一种触发条件即会产生事件。
实际填写示例如下:
步骤二:事件通知
- 我们可以自定义当前规则告警触发条件的【事件标题】,此处我们填入“各主机磁盘使用情况”。
- 【事件内容】即满足触发条件时发送的事件通知内容。我们可以输入 Markdown 格式文本信息。
除了自定义事件的标题与内容外,我们也可以直接使用模板变量,通过使用字段来实现文案的渲染。模板可前往 事件通知模板 - 观测云文档
当监控器无法查询到检测对象的任何数据,存在数据断档,此时数据上报可能存在异常。因此,我们可以按需配置【无数据通知配置】。此处同样支持自定义或使用模板变量。
- 如果监控器产生异常事件告警,且我们需要协同合作、密切跟进进度,那么选择【同步创建 Issue】后,会直接创建由事件触发的 Issue。我们可以选择 Issue 的等级和需投递的目标频道。同时,还可直接设置需要通知的成员,以便及时处理异常。
实际填写示例如下:
步骤三:告警配置
如我们前文所讲,当监控满足触发条件后,会立即发送告警消息给指定的通知对象。告警策略中包含需要通知的事件等级、通知对象、告警聚合及告警沉默(设置重复告警通知)。
步骤四:关联
每一个监控器都支持关联一个仪表板,也就是,通过关联仪表板功能能够自定义快速跳转的仪表板。这里我们选择 “CPU 监控视图”。
以上步骤完成后,点击保存即可。我们可以在监控器列表查看已创建好的监控器:
自定义模板库
当我们针对某种场景创建了一个监控器并配置触发条件,可以将其保存作为模版,以便下次编辑监控器配置条件,快速创建同类型监控器监测。
保存成功后,可前往监控 > 新建 > 自定义模板库页面查看已保存为模板的监控器:
无论我们基于以上何种方式创建了监控器,最终回到监控器列表中,我们可以查看在该条规则下产生的事件及与之关联的告警策略、视图等信息。
以下图为例,点击【查看相关事件】,即可前往对应的事件查看器。在这里,我们可以查看基于监控器检测规则下,事件的基础属性、历史趋势等。
结语
如何打造一个完整闭环、简洁好用的监控系统是观测云一直在探索的命题。接下来我们会继续探讨告警策略等更多功能妙用,敬请期待!