Pinpoint:
一、简介
Pinpoint是一款对Java编写的大规模分布式系统的APM(应用性能管理:Application Performance Management)工具,有些人也喜欢称呼这类工具为调用链系统、分布式跟踪系统。我们知道,前端向后台发起一个查询请求,后台服务可能要调用多个服务,每个服务可能又会调用其它服务,最终将结果返回,汇总到页面上。如果某个环节发生异常,工程师很难准确定位这个问题到底是由哪个服务调用造成的,Pinpoint等相关工具的作用就是追踪每个请求的完整调用链路,收集调用链路上每个服务的性能数据,方便工程师能够快速定位问题。
二、仓库地址
PinPoint的github地址:https://github.com/naver/pinpoint
三、为什么要使用Pinpoint
最重要的原因,对代码的零侵入,运用JavaAgent字节码增强技术,只需要加启动参数即可。
四、Pinpoint架构图
架构说明:
- Pinpoint-Collector:收集各种性能数据
- Pinpoint-Agent:和自己运行的应用关联起来的探针
- Pinpoint-Web:将收集到的数据显示成WEB网页形式
- HBase Storage:收集到的数据存到HBase数据库
安装部署可以参考:
https://blog.csdn.net/a1786223749/article/details/80787313
Zabbix:
一、简介
Zabbix(音同 zæbix)是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。zabbix由2部分构成,zabbix server与可选组件Zabbix agent。Zabbix server可以通过SNMP、zabbix agent、ping、端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能,它可以运行在Linux,Solaris,HP-UX,AIX,Free BSD,Open BSD,OS X等平台上。
二、官网
Zabbix的官网:https://www.zabbix.com/download
三、为什么要使用Zabbix
安装与配置简单,学习成本低
支持多语言(包括中文)
免费开源
自动发现服务器与网络设备
分布式监视以及WEB集中管理功能
可以无agent监视
用户安全认证和柔软的授权方式
通过WEB界面设置或查看监视结果
email等通知功能
四、Zabbix架构图
其他同类产品:
- google的Dapper:http://bigbully.github.io/Dapper-translation/
- 宝的鹰眼EgleEye
- 大众点评的CAT:https://github.com/dianping/cat