可观测性与可观测性监控
1. 观测性概述
- 定义:观测性是指物质本身具有的属性,即我们可以通过某种方法对其了解的程度。
- 应用场景:在云原生世界中,应用的观测对象主要是微服务。
2. 观测性内容
- 物理化学方法:包括物理、化学、颜色、体积、重量、成分等。
- 监控内容:指标(Metrics)、日志(Logs)、跟踪(Trace)、标识(Identity)、功能/一致性(Consistency)、安全等。
3. 观测性监控原则
- 客观性:不单一地关注某个指标,注重整体性关系。
- 系统性:每个监控项或应用既独立又相关。
- 关联性:各要素和体系之间存在相互关联或相互作用。
- 预见性:基于时间的动态行为,提前发现风险。
4. 基于Zabbix的可观测性监控
-
与Prometheus集成
- 数据采集:Prometheus负责Exporter及Kubernetes集群监控,Zabbix负责虚拟主机监控。
- 事件处理:Zabbix通过HTTP agent查询Prometheus节点,自动创建监控项及阈值。
- 告警管理:告警配置统一管理,实现跨环境监控。
-
与ELK集成
- 数据采集:应用Logs通过filebeat采集并汇总到Logstash集群。
- 事件处理:Logstash将数据修正为zabbix_sender格式发送给Zabbix。
- 告警管理:告警配置统一管理,实现跨环境监控。
-
与SkyWalking集成
- 数据采集:应用Trace通过SkyWalking存储到ES集群。
- 事件处理:SkyWalking通过http发送告警数据给Zabbix。
- 告警管理:告警配置统一管理,实现跨环境监控。
5. 监控架构
- 模块化架构:Zabbix作为核心,负责汇总、处理事件和调用动作。
- 轻架构微服务化:实现敏捷运维,降低成本。
6. 功能/一致性监控
- 业务监控:实现端到端的一致性监控,简单操作使用Zabbix的web监控功能,复杂操作编写agent脚本。
- 告警管理:统一管理告警,降低编程复杂度,提高告警效率。
7. 时间视角的事件查看
- 统一事件处理:实现多维度告警事件的统一查看。
- 问题管理:基于Zabbix的问题管理页面,实现多应用不同时间段的告警事件查看。
8. 应用治理
- 应用身份标识:全生命周期唯一性。
- 持续开发与运维:包括压力测试、混沌工程、态势感知、AIOPS等。
9. 社区支持
- 开源社区:支持体系,包括社群交流、专家答疑、在线课程等。
- 支持等级:从入门到精通的不同层次支持体系。
总结
基于Zabbix的可观测性监控能够有效整合多种监控工具,实现统一管理、自动化流程和高效告警,适用于复杂的应用环境。