千家信息网

Spring boot监控的示例分析

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,这篇文章主要介绍Spring boot监控的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!被监控服务配置本地正好有spring-boot的项目,并且也依赖了joloki
千家信息网最后更新 2026年11月02日Spring boot监控的示例分析

这篇文章主要介绍Spring boot监控的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

被监控服务配置

本地正好有spring-boot的项目,并且也依赖了jolokia(主要就是为了把JMX的mbean通过HTTP暴露出去)

项目配置也少不了

endpoints: enabled: true jmx:  enabled: true jolokia:  enabled: truemanagement: security:  enabled: false

访问一下URL看看是不是ok

http://localhost:8080/jolokia/read/org.springframework.boot:name=metricsEndpoint,type=Endpoint/Data

搭建监控系统

如果能看到数据,说明server端配置没问题了,下面我们怎么搭建Telegraf + InfluxDB + Grafana呢,这个三个组件是这么配合的,Telegraf实际就是收集信息的,比如每隔10s访问一次上面那个URL得到metrics,收集到的数据存到InfluxDB,然后Grafana做数据可视化。

但是如果纯手动安装实在太麻烦,求助万能的github,找到一个非常棒的项目(https://github.com/samuelebistoletti/docker-statsd-influxdb-grafana), 直接fork然后修改一些配置就可以为自己的项目服务了。如果你不了解相关配置可以先直接run起来,然后通过ssh进去一探究竟。

ssh root@localhost -p 22022

配置方面,主要是要修改Telegraf的,因为它是对接不同项目的,你需要收集什么样的信息,比如cpu,disk,net等等都要在Telegraf里配。简单起见,我只设置了三个输入。

# /etc/telegraf/telegraf.conf[[inputs.jolokia]] context = "/jolokia"[[inputs.jolokia.servers]] name = "springbootapp" host = "{app ip address}" port = "8080"[[inputs.jolokia.metrics]] name = "metrics" mbean = "org.springframework.boot:name=metricsEndpoint,type=Endpoint" attribute = "Data"[[inputs.jolokia.metrics]] name = "tomcat_max_threads" mbean = "Tomcat:name=\"http-nio-8080\",type=ThreadPool" attribute = "maxThreads"[[inputs.jolokia.metrics]] name = "tomcat_current_threads_busy" mbean = "Tomcat:name=\"http-nio-8080\",type=ThreadPool" attribute = "currentThreadsBusy"

其实就是spring-boot标准的metrics以及tomcat的Threads。

完成之后重启服务/etc/init.d/telegraf restart

查看监控数据

我们访问InfluxDB看看有数据了没有http://localhost:3004/,切换数据库到Telegraf。输入以下命令试试吧

SHOW MEASUREMENTSSELECT * FROM jolokiaSELECT * FROM cpuSELECT * FROM memSELECT * FROM diskio

比如输入SELECT * FROM jolokia就能看到spring-boot暴露了哪些数据,从time列也可以看出Telegraf是每隔10s收集一次,太频繁了对server也是压力。

上面基本涵盖了cpu,内存和存储的一些metrics。

其实也可以配置网络相关的,感兴趣的可以看官方的telegraf.conf,里面有配置[[inputs.net]]的例子。

数据可视化

数据有了,下一步就是可视化。

按照Github上面说的进入http://localhost:3003/,

Using the wizard click on Add data sourceChoose a name for the source and flag it as DefaultChoose InfluxDB as typeChoose direct as accessFill remaining fields as follows and click on Add without altering other fieldsUrl: http://localhost:8086Database: telegrafUser: telegrafPassword: telegraf

添加好InfluxDB后,新建一个Dashboard,然后快速的ADD几个Graph来。

为了演示,我添加了三个,分别使用下面三组查询语句来渲染出三张图表

SELECT MEAN(usage_system) + MEAN(usage_user) AS cpu_total FROM cpu WHERE $timeFilter GROUP BY time($interval)SELECT mean("total") as "total" FROM "mem" WHERE $timeFilter GROUP BY time($interval) fill(null)SELECT mean("used") as "used" FROM "mem" WHERE $timeFilter GROUP BY time($interval) fill(null)SELECT mean("metrics_heap.used") as "heap_usage" FROM "jolokia" WHERE $timeFilter GROUP BY time($interval) fill(null)

第一张是CPU占用率;第二张是内存占用情况,绿线是Total,黄线是Used;第三张是jolokia提供的jvm heap的使用,可以到看到GC的情况。

刚才还配置了Tomcat的收集,想看Tomcat的Thread情况也是妥妥的。

SELECT mean("tomcat_max_threads") FROM "jolokia" WHERE $timeFilter GROUP BY time($interval) fill(null)SELECT mean("tomcat_current_threads_busy") FROM "jolokia" WHERE $timeFilter GROUP BY time($interval) fill(null)

以上是"Spring boot监控的示例分析"这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!

数据 配置 监控 项目 就是 三个 情况 可视化 服务 输入 示例 分析 信息 兴趣 内存 内容 篇文章 不同 妥妥 频繁 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技有限公司 美国互联网保险保险科技 互联网科技有限公司图片 科技制造互联网公司 互联网科技的英文 凡科互联网科技 上海喔噻互联网科技 电子科技大学互联网 菲比寻常互联网科技 互联网前沿科技 滨湖区互联网智能科技产品供应 中国航天科技大学国际工业互联网 保险科技服务互联网营销体系 高科技互联网套路 怎样加入科技互联网 电子商务与互联网科技的关系 扫呗互联网科技有限公司 科技互联网行业投资研究 艺电能源互联网科技有限公司招聘 六子台科技互联网展会 互联网科技有限公司图片 中国最先进互联网科技公司 互联网科技公司招聘 昭通云南众福互联网科技有限公司 金融科技与互联网金融相同和不同 成都互联网科技公司工作好不好 互联网新科技动漫ppt素材 互联网科技如何创业 风投北京互联网科技 南京一网一红互联网科技有限公司
0