全方位的开源监控工具链介绍

简介: 说到监控现在最火的是全链路监控(服务调用+HTTP调用+数据源访问+MQ链路的监控),但我认为这是狭义的全链路监控,广义的概念应该不仅仅指APM(Appliation Perfance  Manager & Monitor),还包括Loggong(系统日志、业务日志、框架日志)、Mertic(指标或者度量)、Trancing(追踪:覆盖微服务,存储,中间件)。

      说到监控现在最火的是全链路监控(服务调用+HTTP调用+数据源访问+MQ链路的监控),但我认为这是狭义的全链路监控,广义的概念应该不仅仅指APM(Appliation Perfance  Manager & Monitor),还包括Loggong(系统日志、业务日志、框架日志)、Mertic(指标或者度量)、Trancing(追踪:覆盖微服务,存储,中间件)。而我今天要介绍的是全方位的开源监控工具链,为什么是全方位,就是比广义的全链路监控还要多,包括前端监控(用户行为监控)、压测监控、DevOps监控等等。

一、前端监控
      开源的前端监控产品很少,我今天推荐的是zanePerfor,我们一直在用,确实挺好用的(在这里给开发者打打广告,使用的人多了开源项目才能成长),具有如下功能:

1、浏览器端(WEB)

页面级的性能上报(多页面 || 单页面应用程序通用)
页面AJAX性能上报
页面所有加载资源性能上报(图片,js,css)
页面所有错误信息上报(js,css,ajax)
2、微信小程序端

path路径对应的AJAX性能上报
小程序错误信息上报(js,ajax,img)
用户设备信息及其网络信息上报
3、后端界面展示功能(web,小程序通用)

统计每分钟应用的PV,UV,IP信息,统计每天的PV,UV,IP,跳出率,用户访问平均深度
统计实时和每天的应用top最高访问排行,跳出率最高排行
统计实时和每天的全国省份流量热力图
统计每个用户每次访问的行为轨迹
二、 APM监控
   我要推荐的是SkyWalking(国人开发的,得支持),这是一款开源的应用性能监控系统,包括指标监控,分布式追踪,分布式系统性能诊断。专为微服务、云本机架构和基于容器(Docker、K8s、Mesos)架构而设计。
三、JMX监控
      一般我们运行Java项目都会涉及到JMX的监控,本身JDK自带有的工具jconsole.exe就能完成,很多开源监控平台如Zabbix、open-falcon都有相关的监控插件,除此之外还有一些很流行的JMX监控组件如Jolokia、Jmxtrans,这些组件与其他工具组合就能构建出Java监控平台,我这里推荐的是Jmxtrans + Influxdb + Grafana组合,因为我自己用的比较多,相对比较顺手。
四、服务器监控
      关于服务器监控,主要指的是OS(操作系统)、Docker等环境监控,主要应用于运维监控方面(包括CPU、内存、进程、磁盘、网络的监控),这方面的开源平台也挺多,比如Zabbix、open-falcon。但这里我还是推荐用轻量级的数据采集组件Telegraf,可以组合搭配的方式为 Telegraf + Influxdb + Grafana,由于Telegraf有Linux、Windows、Docker的运行模式,所以可以广泛的采集多种服务器中的指标数据。
五、数据库监控
      开源的数据库监控工具或平台其实也不多,因为数据库产品太多太复杂了,涉及到不同的数据库(包括Nosql)用不同的采集组件就已经让人崩溃了。不过幸运的是上面的Telegraf组件就很强大,它可以监控除Oracle以外的大部分常用数据库,如Mysql、SQL Server、Postgresql、Mongodb、Redis、CouchDB等。
六、CI/CD监控
      现在最流行的话题是DevOps,这个方面的话题太高大上,涉及到监控也是很难定义,但是对于CI/CD过程涉及的Jenkins我们是可以监控的,比如采用 Jenkins_InfluxDB_Plugin + Influxdb + Grafana 组合方式来采集Jenkins的构建数据
七、测试监控
   到这里我们已经了解到 Influxdb + Grafana 组合的强大了,其实和Jmeter结合,我们就可以监视性能测试的压测请求,比起Jmeter本身所生成的html报告,这种方式实时性更好,轻量级的不占用过高资源,可以满足长时间的压测监控。
八、日志监控
    如今最流行的日志监控分析框架是ELK(Elasticsearch + Logstash + Kibana),或者是搭配轻量级的日志采集分析框架Elasticsearch + Filebeat + Kibana。说下kibana作为日志展现方面的问题,Kibana往往在展现一条数据的时候效果是完美的,尤其是kibana4那种清淡的绿色让人心旷神怡。 但很多时候我们要做多维度数据图表展现,这地方Kibana貌似没有做图表样式的优化。当很多条数据拥挤在一起时,很难区分出每个点的数值,换句话说很不直观。另外Kibana更加适合日志类型的展现, 虽然他也可以kv结构,但配置起来有些麻烦。所以现在还有一种搭配方式是 Elasticsearch + Logstash + Grafana 或 Elasticsearch  + Filebeat + Logstash + Granfa,比起来Grafana比Kibana部署还要轻量化。
————————————————
以上为博客部分内容,由于云栖社区不方便复制和转载图片,具体内容看我CSDN博客「smooth-z」:
博客链接:https://blog.csdn.net/smooth00/article/details/102623877

相关实践学习
通过轻量消息队列(原MNS)主题HTTP订阅+ARMS实现自定义数据多渠道告警
本场景将自定义告警信息同时分发至多个通知渠道的需求,例如短信、电子邮件及钉钉群组等。通过采用轻量消息队列(原 MNS)的主题模型的HTTP订阅方式,并结合应用实时监控服务提供的自定义集成能力,使得您能够以简便的配置方式实现上述多渠道同步通知的功能。
目录
相关文章
|
前端开发 JavaScript 安全
开源一款剪贴板跨设备共享工具
`shigen`,编程博主,擅长多种语言,近期自制了一个名为`copyhub`的工具,用于局域网内跨设备同步剪贴板。设计灵感源于对现有共享工具的安全顾虑,采用`Flask`和`Redis`实现,前端直接HTML+JS,简化架构。用户通过取件码交换内容,不涉及复杂功能。代码已开源并在个人腾讯云服务器上部署。更多详情见shigen的GitHub和哔哩哔哩频道。一起探索,每天进步!
577 1
开源一款剪贴板跨设备共享工具
|
Prometheus 监控 Cloud Native
手把手教你Prometheus + Granafa实现mysql 性能监测部署
数据库性能监控可以说是十分重要,能否自行搭建环境实现像阿里云或是腾讯云那样直观的展示不同维度数据的功能?答案是肯定的。下面详细说明一下安装部署过程以及过程中出现的问题,希望对你有所帮助!
手把手教你Prometheus + Granafa实现mysql 性能监测部署
|
资源调度 JavaScript Windows
yarn install命令报错解决办法-warning package-lock.json found.
yarn install命令报错解决办法-warning package-lock.json found.
864 0
|
中间件 关系型数据库 数据库
docker快速部署OS web中间件 数据库 编程应用
通过Docker,可以轻松地部署操作系统、Web中间件、数据库和编程应用。本文详细介绍了使用Docker部署这些组件的基本步骤和命令,展示了如何通过Docker Compose编排多容器应用。希望本文能帮助开发者更高效地使用Docker进行应用部署和管理。
404 19
|
Java Linux 网络安全
基于云服务器的数仓搭建-服务器配置
本文介绍了购置并配置三台云服务器的详细步骤。使用FinalShell连接服务器,并安装了必要的工具如epel-release、net-tools和vim。关闭防火墙后,在/opt目录下创建module和software文件夹,卸载默认JDK并修改主机名。添加环境变量路径/home/alpfree/bin,编写集群分发脚本xsync实现文件同步,配置无密登录,安装并分发JDK。参考资料来自海波老师的电商数仓课程。
|
机器学习/深度学习
 GHSL: 全球1975 年到 2030 年以 5 年间隔建成面积的分布情况(100m)
全球人类住区图层(GHSL)项目提供了1975年至2030年建成面积的分布数据,以每100米网格单元为单位,涵盖建筑总面积及非住宅用途面积。该数据集由欧盟委员会联合研究中心(EC JRC)提供,时间间隔为5年,支持时空分析与预测。详情参见[GHSL 数据包 2023](https://ghsl.jrc.ec.europa.eu/documents/GHSL_Data_Package_2023.pdf?t=1683540422)。
573 7
|
存储 负载均衡 应用服务中间件
【web项目】keepalived高可用+LVS负载均衡+nginx动静分离+nfs共享存储
【web项目】keepalived高可用+LVS负载均衡+nginx动静分离+nfs共享存储
474 0
【web项目】keepalived高可用+LVS负载均衡+nginx动静分离+nfs共享存储
|
算法
干货 | 10分钟教你用branch and bound(分支定界)算法求解TSP旅行商问题
干货 | 10分钟教你用branch and bound(分支定界)算法求解TSP旅行商问题
1358 0
干货 | 10分钟教你用branch and bound(分支定界)算法求解TSP旅行商问题
|
缓存 Java 索引
QLExpress中function脚本导致内存泄漏
生产环境运行一段时间后变得卡顿,排查后发现GC日志中在频繁FullGC,内存分析发现有内存泄漏
993 2
|
JSON jenkins 持续交付
jenkins-Generic Webhook Trigger指定分支构建
jenkins-Generic Webhook Trigger指定分支构建
907 0