监控系统整体面貌浏览:
先整体了解监控系统:
监控系统作用:
- 监控系统绕不开的几个话题:采集、存储、可视化、告警。
- 监控系统可能是为了满足实时的数据查看、可能是用作历史状态回顾、或者用来做异常告警等
几个监控系统的对比
这里是几款传统监控系统的比较:
为什么说 Prometheus 是足以取代 Zabbix 的监控神器?
下面是几款流行的应用性能管理(APM = Application Performance Management):
全链路监控(一):方案概述与比较
监控系统比较 Skywalking Pinpoint Cat zipkin
使用场景
CAT 简介
关于Cat,这里有一篇:
CAT分布式监控系统(一):CAT功能介绍 CAT监控系统是什么、能做什么?
- CAT 是基于 Java 开发的实时应用监控平台,为美团点评提供了全面的实时监控告警服务。
- CAT 作为服务端项目基础组件,提供了 Java, C/C++, Node.js, Python, Go 等多语言客户端,已经在美团点评的基础架构中间件框架(MVC框架,RPC框架,数据库框架,缓存框架等,消息队列,配置系统等)深度集成,为美团点评各业务线提供系统丰富的性能指标、健康状况、实时告警等。
- CAT 很大的优势是它是一个实时系统,CAT 大部分系统是分钟级统计,但是从数据生成到服务端处理结束是秒级别,秒级定义是48分钟40秒,基本上看到48分钟38秒数据,整体报表的统计粒度是分钟级;第二个优势,监控数据是全量统计,客户端预计算;链路数据是采样计算。
SkyWalking
SkyWalking 是一款开源的应用性能监控系统,包括指标监控,分布式追踪,分布式系统性能诊断。包含以下特性:
- 服务、服务实例和endpoint(如:单个HTTP URI)的性能指标分析
- 根因分析
- 服务拓扑图
- 服务和Endpoint依赖分析
- 慢服务和慢Endpoint探查
- 性能优化
- 分布式追踪和追踪上下文传播
- 告警
SkyWalking支持从多种数据源,收集不同格式的遥感数据,包括:
- Java, .NET Core, NodeJS, PHP 自动探针
- Istio 遥感数据
- Zipkin v1/v2
Pinpoint
Pinpoint是一个开源的 APM (Application Performance Management/应用性能管理)工具,用于基于java的大规模分布式系统。
Pinpoint, 2012年七月开始开发,在2015年1月作为一个开源项目启动, 是一个为大型分布式系统服务的n层架构跟踪平台。 Pinpoint的特点如下:
- 分布式事务跟踪,跟踪跨分布式应用的消息
- 自动检测应用拓扑,帮助你搞清楚应用的架构
- 水平扩展以便支持大规模服务器集群
- 提供代码级别的可见性以便轻松定位失败点和瓶颈
- 使用字节码增强技术,添加新功能而无需修改代码
APM巅峰对决:skywalking P.K. Pinpoint
数据收集
简单介绍数据收集:浅谈监控数据采集
SkyWalking
报警策略
问:什么是告警?告警方法有哪些?告警策略有哪些?
答:分级告警策略
Cat邮件告警举例:
cat的邮件告警配置