当前位置: 首页 > news >正文

【Kubernetes】Tomcat 启用 Prometheus 监控指标

之前出过一篇文章关于 “自定义监控指标实现业务 HPA 伸缩” ,其中使用了 webapp 应用的指标数据(JVM),接下来,这篇文章将介绍如何在通过 Tomcat 部署的 webapp 中启用  Metrics 指标,一起来看看吧!

  • 下方为《自定义监控指标实现业务 HPA 伸缩》博客链接
  • https://blog.csdn.net/mm1234556/article/details/150494365

1、下载 JMX Exporter 及配置文件

# 下载 JMX Exporter
# https://repo1.maven.org/maven2/io/prometheus/jmx/jmx_prometheus_javaagent/<最新版本号>/jmx_prometheus_javaagent-<最新版本号>.jar
https://repo1.maven.org/maven2/io/prometheus/jmx/jmx_prometheus_javaagent/0.20.0/jmx_prometheus_javaagent-0.20.0.jar
# 下载通用配置文件
https://github.com/prometheus/jmx_exporter/blob/release-0.20.0/example_configs/tomcat.yml

2、配置 Tomcat 使用 JMX Exporter

2.1、基本步骤

# 编辑 %CATALINA_HOME%\bin\catalina.bat 或 $CATALINA_HOME/bin/catalina.sh,设置 JAVA_OPTS 添加 javaagent 参数
# Linux
export JAVA_OPTS="$JAVA_OPTS -javaagent:$CATALINA_HOME/jmx/jmx_prometheus_javaagent-0.20.0.jar=9404:$CATALINA_HOME/jmx/tomcat.yml"
# windows
set JAVA_OPTS=%JAVA_OPTS% -javaagent:%CATALINA_HOME%\jmx\jmx_prometheus_javaagent-0.20.0.jar=9404:%CATALINA_HOME%\jmx\tomcat.yml
# 重启 Tomcat 并验证,浏览器访问 http://localhost:9404 可查看到 jvm 指标

2.2、此处举例在 K8s-pod 中配置

# 查看容器 id
docker ps |grep webapp
# 进入容器查看 tomcat_webapp 的部署路径
docker exec -it 0cbf20f3be76  /bin/bash

# 将 jmx_xx.jar 和 tomcat.yml 拷贝进容器中 tomcat 根目录下
docker cp ./jmx 0cbf20f3be76:/etc/test/tomcat-webapp-1.0.0-linux-x64

# 配置 catalina.sh / catalina.bat,推荐新建一个 setenv.sh,此处已有 setenv.sh,修改即可
docker cp 0cbf20f3be76:/etc/test/tomcat-webapp-1.0.0-linux-x64/bin/setenv.sh ./
vi setenv.sh
-----
# set JAVA_OPTS
if [ -f "$WEBAPP_ROOT/bin/javaopts.config" ]; thenconfig_value=$(cat $WEBAPP_ROOT/bin/javaopts.config)
fi
JAVA_OPTS="$JAVA_OPTS $config_value"
JAVA_OPTS="$JAVA_OPTS -javaagent:$WEBAPP_ROOT/jmx/jmx_prometheus_javaagent-0.20.0.jar=9404:$WEBAPP_ROOT/jmx/tomcat.yml"
-----
docker cp setenv.sh 0cbf20f3be76:/etc/test/tomcat-webapp-1.0.0-linux-x64/bin/setenv.sh
# 重启容器
docker restart 0cbf20f3be76
# 查看 webapp 的进程是否添加 JAVA_OTPS 参数
docker exec -it 0cbf20f3be76 ps -ef |grep 9404

# 验证 metrics 配置成功
docker exec -it 0cbf20f3be76 curl localhost:9404

3、配置 Prometheus 拉取 Metrics

  • 配置 Prometheus 拉取 Metrics 可参考下方博客
  • https://blog.csdn.net/mm1234556/article/details/150492509

文章转载自:

http://LcmwPsSq.csnch.cn
http://ofZxX6eJ.csnch.cn
http://3bvWfiLt.csnch.cn
http://v0S9XbtO.csnch.cn
http://6ObHcqqG.csnch.cn
http://B4TwQXMc.csnch.cn
http://zsWLNdpF.csnch.cn
http://vYlv5RFj.csnch.cn
http://nTpJygJi.csnch.cn
http://JkRY6Rri.csnch.cn
http://13DKjN8O.csnch.cn
http://A5xrW5yW.csnch.cn
http://ZFOycw45.csnch.cn
http://6nNI6GK6.csnch.cn
http://iCRjvBDN.csnch.cn
http://N4FsrWiT.csnch.cn
http://K1UrsT04.csnch.cn
http://F6Ov2JlM.csnch.cn
http://mbJ3k434.csnch.cn
http://GkpRMcwA.csnch.cn
http://AhbiqSiK.csnch.cn
http://oiXsnsWK.csnch.cn
http://i2rrBuYy.csnch.cn
http://KMFG94nR.csnch.cn
http://EAJHNQ84.csnch.cn
http://IQRfDJso.csnch.cn
http://DSyv42I4.csnch.cn
http://2SaYy615.csnch.cn
http://ZwEMpnpP.csnch.cn
http://mx1iZuGG.csnch.cn
http://www.dtcms.com/a/380093.html

相关文章:

  • 数字人分身 + 矩阵系统聚合的源码搭建与定制开发
  • 如何使用 OCR 提取扫描件 PDF 的文本(Python 实现)
  • 并发:使用volatile和不可变性实现线程安全
  • 【qml入门】在qml项目上加入用户登录qml页面(包含源码)
  • 通义灵码产品演示: 数据库设计与数据分析
  • 大疆图传十公里原理:无人机图传技术解析
  • 【论文阅读】小模型是智能体的未来
  • 空间智能 × 无人机丨考拉悠然携 AI+应急创新产品亮相东盟博览会
  • 【C++】list容器的模拟实现
  • Java学习之——“IO流“的进阶流之打印流的学习
  • Vue 进阶实战:从待办清单到完整应用(路由 / 状态管理 / 性能优化全攻略)
  • 《用 Python 和 TensorFlow 构建你的第一个神经网络:从零开始识别手写数字》
  • 深入探索Vue.js:响应式原理与性能优化
  • 58.【.NET8 实战--孢子记账--从单体到微服务--转向微服务】--新增功能--图形验证码
  • 【Linux】基本指令 · 下
  • springboot+python+uniapp基于微信小程序的旅游服务系统景点信息展示 路线推荐 在线预约 评论互动系统
  • WebApp 的价值与实现:从浏览器架构到用户体验优化
  • 用户体验五大要点:从问题到解决方案的完整指南
  • 从ChatGPT家长控制功能看AI合规与技术应对策略
  • DeepSeek-VL 解析:混合视觉-语言模型如何超越传统计算机视觉方法
  • 从15kHz 到20MHz:为什么LTE带宽不能被子载波间隔整除?
  • Android SystemServer 系列专题【篇五:UserController用户状态控制】
  • Nature | 本周最新文献速递
  • Vuetify:构建优雅Vue应用的Material Design组件库
  • 6种A2A(智能体到智能体)的协议方案
  • 性能测试工具jmeter使用
  • [Windows] PDF 专业压缩工具 v3.0
  • kubectl常用命令
  • MinIO 分布式模式与纠删码
  • linux 宏 DEVICE_ATTR