市场上监控系统选型方案调研~~~


java 性能在线监控一直都是大家关注的问题,这次就市场主流监控系统做一次调研。

技术选型:


sentry

sentry是一个实时事件日志记录和聚合平台,分为客户端和服务端,客户端(目前客户端有Python, PHP,C#, Ruby等多种语言)就嵌入在你的应用程序中间,程序出现异常就向服务端发送消息,服务端将消息记录到数据库中并提供一个web节目方便查看。Sentry由python编写,源码开放,性能卓越,易于扩展,目前著名的用户有Disqus, Path, mozilla, Pinterest等。


演示界面:

https://www.bilibili.com/video/BV1UZ4y1p7MF?from=search&seid=2062033008841865514


参考资料:

https://docs.sentry.io/
https://www.jianshu.com/p/280ed215c0d2



Zabbix

Zabbix占用系统资源很少,主要完成对硬件信息或与操作系统有关的内存,CPU,网卡,磁盘等信息的收集。
Zabbix 是一个企业级的、开源的、分布式的监控套件,被用来监控IT基础设施的可用性和性能。Zabbix可以监控网络和服务的监控状况,Zabbix 利用灵活的告警机制,允许用户对事件发送基于邮件、短信、微信和钉钉等告警方式,这样可以保证快速的对问题作出相应。 Zabbix支持主动和被动两种方式.所有的Zabbix报告都可以通过配置参数在WEB前端进行访问。Web前端将帮助你在任何区域都能够迅速获得你的网络及服务状况。 zabbix架构不仅支持小型组织,还支持大规模的公司的部署。Zabbix 是零成本的. 因为 Zabbix 编写和发布基于 GPL V2 协议. 意味着源代码是免费发布的。
Zabbix数据收集:
      1、Agent多平台部署。
      2、自定义监控。
      3、Web事务监控。
Zabbix数据展示:
      1、图表及监控大屏。
      2、网络拓扑图。
      3、幻灯片图表。
Zabbix故障检测:
      1、故障预警。
      2、多个告警规则组合。
      3、历史数据对比分析告警。
Zabbix告警发送:
      1、可以是邮件、短信、电话、微信、钉钉等。
      2、自动修复故障(快速启动宕掉的服务)。
      3、告警升级(自动修复失败会通知相关人员)。
      4、告警关联
在这里插入图片描述


参考资料:

https://www.zabbix.com/
https://blog.csdn.net/memory6364/article/details/86589213
https://www.cnblogs.com/Simplelearning/p/12470062.html
https://www.bilibili.com/video/BV1Jb411s79e?p=3

Nagios

Nagios的主要功能特点:
      - 监视网络服务 (SMTP, POP3, HTTP, NNTP, PING等)
      - 监视主机资源 (进程, 磁盘等)
      - 简单的插件设计可以轻松扩展Nagios的监视功能(大部分功能用插件的形式提供)
      - 服务等监视的并发处理
      - 错误通知功能 (通过email, pager, 或其他用户自定义方法)
      - 可指定自定义的事件处理控制器
      - 可选的基于浏览器的WEB界面以方便系统管理人员查看网络状态,各种系统问题,以及日志等等
      - 可以通过手机查看系统监控信息


参考资料:

https://www.nagios.org/
https://www.bilibili.com/video/BV1k4411A7uz?p=2
https://blog.csdn.net/violetgo/article/details/48105485?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522160378641919724839253560%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id=160378641919724839253560&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allfirst_rank_v2~rank_v28-1-48105485.pc_first_rank_v2_rank_v28&utm_term=Nagios&spm=1018.2118.3001.4187

Pinpoint

https://github.com/pinpoint-apm/pinpoint

Pinpoint是用于用Java / PHP / PYTHON编写的大型分布式系统的APM(应用程序性能管理)工具。受Dapper的启发,Pinpoint提供了一种解决方案,可通过跟踪跨分布式应用程序的事务来帮助分析系统的整体结构以及其中的组件如何互连。
功能
      分布式事务跟踪,跟踪跨分布式应用的消息
      自动检测应用拓扑,帮助你搞清楚应用的架构
      水平扩展以便支持大规模服务器集群
      提供代码级别的可见性以便轻松定位失败点和瓶颈
      使用字节码增强技术,添加新功能而无需修改代码

优势
      非入侵式:不需要修改应用的代码,即可完成agent的部署。
      资源消耗:总体资源消耗只提高了3%左右。
架构

      HBase (用于存储数据)
      Pinpoint Collector (信息的收集者,部署在tomcat中)
      Pinpoint Web (提供WEB_UI界面,部署在tomcat中)
      Pinpoint Agent (附加到 java 应用来做采样)
在这里插入图片描述


演示界面

http://125.209.240.10:10123/main

参考文档:

https://github.com/pinpoint-apm/pinpoint
https://www.jianshu.com/p/201afb1f7e4a
https://blog.csdn.net/kangguang/article/details/77290209


prometheus


一个开源的服务监控系统和时间序列数据库,prometheus存储的是时序数据,即按相同时序(相同名称和标签),以时间维度存储连续的数据的集合。 prometheus存储的是时序数据,即按相同时序(相同名称和标签),以时间维度存储连续的数据的集合。 时序(time series)是由名字(Metric)以及一组key/value标签定义的,具有相同的名字以及标签属于相同时序。
特性:       • 高维度数据模型       • 自定义查询语言       • 可视化数据展示       • 高效的存储策略       • 易于运维       • 提供各种客户端开发库       • 警告和报警       • 数据导出
参考资料:

https://prometheus.io/
https://github.com/prometheus/prometheus
https://www.jianshu.com/p/93c840025f01

skywalking

一款优秀的国产 APM 工具,包括了分布式追踪、性能指标分析、应用和服务依赖分析。
参考资料:

http://skywalking.apache.org/zh/

grafana

Grafana是用于可视化大型测量数据的开源程序,他提供了强大和优雅的方式去创建、共享、浏览数据。dashboard中显示了你不同metric数据源中的数据。
Grafana一般是和一些时间序列数据库进行配合来展示数据的,例如:Graphite、OpenTSDB、InfluxDB等。有着丰富的插件可以选择和进行定制。


参考资料:

https://grafana.com/docs/
https://www.jianshu.com/p/3527f48165d7


Spring boot Admin

Spring Boot Admin是一个开源社区项目,用于管理和监控SpringBoot应用程序。 应用程序作为Spring Boot Admin Client向为Spring Boot Admin Server注册(通过HTTP)或使用SpringCloud注册中心(例如Eureka,Consul)发现。 UI是的AngularJs应用程序,展示Spring Boot Admin Client的Actuator端点上的一些监控。
常见的功能或者监控如下:
      • 显示健康状况
      • 显示详细信息,例如
      • JVM和内存指标
      • micrometer.io指标
      • 数据源指标
      • 缓存指标
      • 显示构建信息编号
      • 关注并下载日志文件
      • 查看jvm系统和环境属性
      • 查看Spring Boot配置属性
      • 支持Spring Cloud的postable / env-和/ refresh-endpoint
      • 轻松的日志级管理
      • 与JMX-beans交互
      • 查看线程转储
      • 查看http跟踪
      • 查看auditevents
      • 查看http-endpoints
      • 查看计划任务
      • 查看和删除活动会话(使用spring-session)
      • 查看Flyway / Liquibase数据库迁移
      • 下载heapdump
      • 状态变更通知(通过电子邮件,Slack,Hipchat,…)
      • 状态更改的事件日志(非持久性)


参考资料:

https://codecentric.github.io/spring-boot-admin/current/
https://github.com/codecentric/spring-boot-admin
https://blog.csdn.net/forezp/article/details/86105850
https://blog.csdn.net/qq_41463655/article/details/109152670


最后参用了Spring boot admin

https://blog.csdn.net/qq_39375329/article/details/110634694


                                                                ———— What is worth doing is worth doing well.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值