首页/新闻资讯/正文详情

【运维监控】Prometheus+grafana监控tomcat运行情况

发布时间:2026/9/26 2:03:48 来源:云帆数科 栏目:资讯中心
【运维监控】Prometheus+grafana监控tomcat运行情况
运维监控系列文章入口【运维监控】系列文章汇总索引最近在研究 AI BI智能数据分析 的落地实践。敬请期待后续专题实战系列《从零手把手教你搭建 AI 驱动的 BI 系统》将覆盖 Text2SQL、多轮对话、语义层、权限治理、生产级部署全链路代码可落地、坑点全复盘。文章目录一、prometheus二、grafana三、tomcat与jmx_exporter配置1、下载jmx_exporter2、部署jmx_exporter3、添加tomcat的配置信息4、修改tomcat的启动文件5、重启tomcat及验证6、其他四、集成prometheus与grafana监控tomcat1、配置prometheus2、导入grafana模板3、验证本示例通过jmx_exporter收集tomcat的运行情况将数据收集到prometheus中然后通过grafana的dashboard导入模板进行可视化。本示例分为四个部分即prometheus、grafana部署、tomcat与jmx_exporter配置和最后的集成。说明jmx_exporter需要与tomcat在同一台机器上部署这个好理解因为需要通过jmx代理运行tomcat服务。关于java应用的监控本系列有文章如下【运维监控】influxdb 2.0telegraf 监控tomcat 8.5运行情况【运维监控】influxdb 2.0grafana 监控java 虚拟机以及方法耗时情况【运维监控】Prometheusgrafana监控tomcat运行情况【运维监控】Prometheusgrafana监控spring boot 3运行情况一、prometheus参考【运维监控】prometheusnode exportergrafana 监控linux机器运行情况关于prometheus的部署。二、grafana参考【运维监控】prometheusnode exportergrafana 监控linux机器运行情况 关于grafana的部署。三、tomcat与jmx_exporter配置1、下载jmx_exporter用于集成到tomcat实施监控指标采集通过代理实现jmx信息的收集。下载地址https://github.com/prometheus/jmx_exporter/tree/release-1.0.1/docs下载版本jmx_prometheus_javaagent-1.0.1.jar2、部署jmx_exporter将下载的jmx_prometheus_javaagent-1.0.1.jar文件放在tomcat所在机器的任一位置即可本示例放在/usr/local/apache-tomcat-8.5.30/jmx_exporter目录下。3、添加tomcat的配置信息可自己编写也可以在下面地址下载可直接使用https://github.com/prometheus/jmx_exporter/blob/main/example_configs/tomcat.yml下载后的源码如下文件名称随意存放位置随意本示例存放位置在/usr/local/apache-tomcat-8.5.30/jmx_exporter目录下。# https://grafana.com/grafana/dashboards/8704-tomcat-dashboard/---lowercaseOutputLabelNames:truelowercaseOutputName:truewhitelistObjectNames:[java.lang:typeOperatingSystem,Catalina:*]blacklistObjectNames:[]rules:-pattern:CatalinatypeServerserverInfo: (.)name:tomcat_serverinfovalue:1labels:serverInfo:$1type:COUNTER-pattern:CatalinatypeGlobalRequestProcessor, name\(\w-\w)-(\d)\(\w):name:tomcat_$3_totallabels:port:$2protocol:$1help:Tomcat global $3type:COUNTER-pattern:Catalinaj2eeTypeServlet, WebModule//([-a-zA-Z0-9#/%?~_|!:.,;]*[-a-zA-Z0-9#/%~_|]), name([-a-zA-Z0-9/$%~_-|!.]*), J2EEApplicationnone, J2EEServernone(requestCount|processingTime|errorCount):name:tomcat_servlet_$3_totallabels:module:$1servlet:$2help:Tomcat servlet $3 totaltype:COUNTER-pattern:CatalinatypeThreadPool, name(\w-\w)-(\d)(currentThreadCount|currentThreadsBusy|keepAliveCount|connectionCount|acceptCount|acceptorThreadCount|pollerThreadCount|maxThreads|minSpareThreads):name:tomcat_threadpool_$3labels:port:$2protocol:$1help:Tomcat threadpool $3type:GAUGE-pattern:CatalinatypeManager, host([-a-zA-Z0-9#/%?~_|!:.,;]*[-a-zA-Z0-9#/%~_|]), context([-a-zA-Z0-9/$%~_-|!.]*)(processingTime|sessionCounter|rejectedSessions|expiredSessions):name:tomcat_session_$3_totallabels:context:$2host:$1help:Tomcat session $3 totaltype:COUNTER4、修改tomcat的启动文件修改/usr/local/apache-tomcat-8.5.30/bin目录下的catalina.sh文件中的JAVA_OPTS变量加入javaagent相关配置增加内容“-javaagent:/usr/local/apache-tomcat-8.5.30/jmx_exporter/jmx_prometheus_javaagent-1.0.1.jar12345:/usr/local/apache-tomcat-8.5.30/jmx_exporter/tomcat.yml”路径需要写绝对路径所以上述的jar和yml文件放在哪里都无所谓。12345是端口可以随意设置。修改后的JAVA_OPTS变量属性如下。JAVA_OPTS$JAVA_OPTS-Dorg.apache.catalina.security.SecurityListener.UMASKumask-javaagent:/usr/local/apache-tomcat-8.5.30/jmx_exporter/jmx_prometheus_javaagent-1.0.1.jar12345:/usr/local/apache-tomcat-8.5.30/jmx_exporter/tomcat.yml5、重启tomcat及验证重启tomcat后验证tomcat是否正常启动以及验证指标是否收集到即可。在浏览器中输入地址http://server4:12345/出现如下页面点击“/metrics”链接http://server4:12345/metrics出现如下页面即成功。6、其他如果是jar运行环境执行命令如下# jmx_prometheus_javaagent-1.0.1.jar和yml文件根据自己需要进行设置java-javaagent:./jmx_prometheus_javaagent-1.0.1.jar12345:tomcat.yml-jaryourJar.jar如果是war运行环境参考tomcat的部署方式四、集成prometheus与grafana监控tomcat1、配置prometheus/usr/local/bigdata/prometheus-2.54.0.linux-amd64/prometheus.yml配置文件增加关于jmx_exporter的配置即如下- job_name:tomcat_node_10.44# metrics_path defaults to /metrics# scheme defaults to http.static_configs: - targets:[server4:12345]关于本示例的完整配置文件示例如下。# my global configglobal: scrape_interval: 15s# Set the scrape interval to every 15 seconds. Default is every 1 minute.evaluation_interval: 15s# Evaluate rules every 15 seconds. The default is every 1 minute.# scrape_timeout is set to the global default (10s).# Alertmanager configurationalerting: alertmanagers: - static_configs: - targets:# - alertmanager:9093# Load rules once and periodically evaluate them according to the global evaluation_interval.rule_files:# - first_rules.yml# - second_rules.yml# A scrape configuration containing exactly one endpoint to scrape:# Here its Prometheus itself.scrape_configs:# The job name is added as a label jobjob_name to any timeseries scraped from this config.- job_name:prometheus# metrics_path defaults to /metrics# scheme defaults to http.static_configs: - targets:[server4:9090]- job_name:tomcat_node_10.44# metrics_path defaults to /metrics# scheme defaults to http.static_configs: - targets:[server4:12345]完成以上配置后重启prometheus即可。验证prometheus是否配置成功比较简单打开prometheus的web UI界面点击“Status”下的“Targets”链接出现配置的job_name点击job_name对应的“show more”按钮再点击“Endpoints”对应的链接如果有相应的监控指标数据即可。如下2个图所示。2、导入grafana模板模板地址https://grafana.com/grafana/dashboards/19532-apache-tomcat/导入模板示例图如下3、验证在grafana的dashboard中查看添加的“Apache Tomcat”dashboard如下图。以上完成了集成操作。

相关推荐

Skia 正确性测试实战:构建、运行与解读 DM 测试工具
Skia 正确性测试实战:构建、运行与解读 DM 测试工具

图形学图像处理 【免费下载链接】skia Skia is a complete 2D graphic library for drawing Text, Geometries, and Images. 项目地址: https://gitcode.com/gh_mirrors/skia1/skia 点击查看 免费下载 Skia 的正确性测试(Correctness Testing&#xff0… · 2026/9/26 2:03:42

51c大模型~合集140:EfficientVLA免训练推理加速实战,TaoToken统一Key接入配置指南
51c大模型~合集140:EfficientVLA免训练推理加速实战,TaoToken统一Key接入配置指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/26 2:03:42

使用codex++时遇到skills无法导入的问题:从config.toml到SKILL.md的排查与修复
使用codex++时遇到skills无法导入的问题:从config.toml到SKILL.md的排查与修复

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/26 2:03:42

DBeaver数据库转储备份迁移实战:跨平台异构库安全迁移指南
DBeaver数据库转储备份迁移实战:跨平台异构库安全迁移指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/26 2:36:49

Cursor生成UI后加一步:用TaoToken统一Key打通v0 API与React组件
Cursor生成UI后加一步:用TaoToken统一Key打通v0 API与React组件

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/26 2:36:49

网络药理学+机器学习+分子对接与动力学:复方干预血吸虫病研究全流程
网络药理学+机器学习+分子对接与动力学:复方干预血吸虫病研究全流程

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/26 2:36:49

LLMs 中的提示缓存:直觉、配置与验证
LLMs 中的提示缓存:直觉、配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/26 2:36:42

从“调包”到“造物”:TaoToken 统一 Key 下 AI 应用工程师的 LLM/RAG/Agent 进阶配置实战
从“调包”到“造物”:TaoToken 统一 Key 下 AI 应用工程师的 LLM/RAG/Agent 进阶配置实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/26 2:36:42

HPE与Juniper联手:面向大规模AI架构的新一代路由器解析
HPE与Juniper联手:面向大规模AI架构的新一代路由器解析

最近AI基础设施圈子里最热的消息,莫过于HPE把Juniper网络业务真正纳入自家AI解决方案版图之后,放出的那批面向大规模AI架构的新路由器。很多朋友看到"HPE推出Juniper路由器"这个新闻时有点懵:HPE不是做服务器的吗?Junip… · 2026/9/26 2:36:36

数据库课后习题答案别硬背:当测试用例集刷,效率翻倍
数据库课后习题答案别硬背:当测试用例集刷,效率翻倍

简介:万常选版《数据库原理与设计》课后习题答案资源,覆盖第2至6章及第9章,适合正在学习关系模型、数据库建模、关系数据理论与模式求精的本科生、自学者作为复习与自测材料。压缩包共7个文件,含3个doc参考答案、2个sql示例脚本、… · 2026/9/26 0:00:21

OpenClaw 替代品?Hermes Agent 踩坑实录:macOS 飞书接入 TaoToken 配置
OpenClaw 替代品?Hermes Agent 踩坑实录:macOS 飞书接入 TaoToken 配置

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/26 0:00:40

向下兼容与向上兼容:接口设计中的兼容性策略与工程实践
向下兼容与向上兼容:接口设计中的兼容性策略与工程实践

一次版本升级事故,是很多团队绕不过去的坎。线上环境里,服务端明明已经上线了新版接口,老的移动端还在照着旧文档传参数。请求一到网关,校验直接拒绝,用户操作失败,客服群炸了锅,开发群里开始互… · 2026/9/26 0:00:46

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码