1.概述
为保证平台稳定性监控系统为相对重要的一环,结合稳定全局考虑,监控预警在平台稳定性建设中承担如下职责,在事前做好告警预案及发现潜在问题,事中快速定位问题,事后优化监控预警策略。
1.1 概述
alarm负责监控数据收集,prometheus负责监控数据存储,grafana负责监控数据展示;现有监控体系告警管理配置难度较高主要存在如下问题:
- 告警规则配置缺少扩展性
- 缺乏较为灵活的告警预案
- 无告警历史回溯功能
- 缺少告警抑制功能
- 面向开发人员缺少易用性
- 不具备同比环比功能
针对上述问题进行告警平台化实施,结合现有监控体系进行告警平台化建设,形成监控预警闭环。
1.2. 系统变更
1.3 监控处理流程
1.4 功能概述
监控主要功能包含采集,探测,告警,恢复,能力外放
功能模块 | 子模块 | 版本 | 状态 | 备注 |
---|---|---|---|---|
业务探测 | akka探测 | V1 | ||
http探测 | V1 | |||
cmp探测 | V1 | |||
指标收集 | 耗时 | V1 | ||
并发 | V1 | |||
错误率 | V2 | |||
饱和度 | V2 | |||
运行状态 | V1 | |||
基础组件 | V1 | |||
告警管理 | 告警规则 | V1 | ||
告警预案 | V1 | |||
屏蔽规则 | V1 | |||
活跃告警 | V1 | |||
历史告警 | V1 | |||
告警展示 | 节点监控 | V1 | ||
服务监控 | V1 | |||
集群监控 | V1 | |||
主业务监控 | V1 | |||
告警处理 | 通知 | V1 | ||
电话通知 | V1 | |||
告警控制 | V2 | |||
链路追踪 | skywalking | V2 | ||
开放API | 告警屏蔽 | V2 | ||
待讨论 | ||||
告警查询 | V2 | |||
待讨论 | ||||
监控架构优化 | 业务探测 | V2 | ||
指标采集 | V2 | |||
告警处理 | V2 | |||
高可用 | n9e | v1 | ||
高可用 | ||||
promethus | v2 | |||
高可用 | ||||
模块对接 | 服务 | V1 | ||
中间件 | V2 | |||
基建 | V2 | |||
基于zabbix |
- 版本
- 功能概述:
- 完善现有告警,形成体系化告警平台
- 实现告警管理,告警历史,告警屏蔽,告警预案等基础支持
- 提升平台扩展性,支持多业务接入
- 功能概述:
1.5 对接内容
对接项 | 子项 | 版本 | 描述 | 版本 |
---|---|---|---|---|
promethus | promethus | V1 | k8s-prome.server.net | |
告警通知 | im | V1 | 告警通知 | |
业务组件 | 日志 | V1 | 阈值告警 | |
jvm | V1 | |||
mysql | V1 | |||
redis | V1 | |||
API | V1 | |||
用户 | V1 | |||
中间件 | mysql | V2 | ||
redis | V2 | |||
hbase | V2 | |||
kafka | V2 | |||
es | V2 | |||
基建 | 磁盘 | V2 | ||
CPU | V2 | |||
内存 | V2 | |||
网络 | V2 | |||
2.指标收集
2.1 业务指标采集
2.1.1 技术实现
2.2 中间件
2.2.1 技术实现
2.3 基建指标采集
2.3.1 技术实现
2.4 其他指标采集
2.4.1 技术实现
- 其他业务采集
- 对外提供标准的promethus接口
- 如es之类可以做采用扩展中间层实现(grafana虽然有实现,告警整体相对单一)
3.业务探测
3.1 业务探测
3.1.1 技术实现
- 指标采用alarm.check实现
3.2 网络探测
3.2.1 技术实现
采用blockbox实现类似实现
4.告警管理
4.1 技术实现
考虑告警模式的灵活性采用n9e实现
任务项
告警分层
- 业务层
- 组件层
- 中间层
- 基建层
多数据中心管理
- 多数据中心进行集中管理
- 多数据中心进行集中配置
4.3 告警使用
4.3.1 基础操作
告警配置可参考夜莺使用手册
4.3.2 开放API
restful接口暴露出来