prometheus监控JVM(接入tomcat)

一、整合jmx_exporter及tomcat

1、 jmx_exporter下载地址

https://github.com/prometheus/jmx_exporter/releases

2、 tomcat配置文件下载地址

https://github.com/prometheus/jmx_exporter/blob/main/example_configs/tomcat.yml

3、创建tomcat_exporter目录

root@localhost \~\]# mkdir /usr/local/jmx_prometheus 将下载的jmx_exporter的jar包及tomcat.yml文件放在此目录下 ![在这里插入图片描述](https://file.jishuzhan.net/article/1694906442844213249/9582e2995e7a414494df8eb0b25ec284.png) 二、配置相关参数 1、配置tomcat.yml 将tomcat.yml文件中的所有Catalina字段全部替换成Tomcat 2、在/usr/local/tomcat/bin/catalina.sh文件中添加JVM参数 PROMETHEUS_JMX_EXPORTER_OPTS="-javaagent: /usr/local/tomcat_exporter /jmx_prometheus_javaagent-0.20.0.jar =12345: /usr/local/tomcat_exporter /tomcat.yml" JAVA_OPTS="$JAVA_OPTS $PROMETHEUS_JMX_EXPORTER_OPTS" ![在这里插入图片描述](https://file.jishuzhan.net/article/1694906442844213249/d095a054601e41e9923d44fb26b270f1.png) 注:以上javaagent为jmx_exporter的jar包所在路径,12345端口可以在不占用端口的情况下自定义,后面为tomcat的yml配置文件路径。 3、启动tomcat并查看业务端口及12345端口是否启动,查看tomcat启动日志,查看是否报错 \[root@localhost \~\]# cd /usr/local/tomcat/bin/ \[root@localhost \~\]# ./startup.sh ![在这里插入图片描述](https://file.jishuzhan.net/article/1694906442844213249/f38c6b704061441eb273361200671ed5.png) 4、访问prometheus jmx exporter HTTP服务获取监控数据 http://192.168.1.11:12345/metrics ![在这里插入图片描述](https://file.jishuzhan.net/article/1694906442844213249/4639d41554ef4cde962fde69b6e610d9.png) 三、prometheus监控部署及配置 部署略 1、配置 \[root@nginx-rtmp prometheus\]# cd /usr/local/prometheus \[root@nginx-rtmp prometheus\]# vi prometheus.yml 最后添加: - job_name: 'prometheus' # metrics_path defaults to '/metrics' # scheme defaults to 'http'. static_configs: - targets: ['localhost:9090'] - job_name: "Tomcat" static_configs: - targets: ["192.168.1.11:12345"] \[root@nginx-rtmp prometheus\]# systemctl start prometheus.service 2、登录查看是否有数据 http://192.168.1.11:9090/ ![在这里插入图片描述](https://file.jishuzhan.net/article/1694906442844213249/27b70cb9ab5a4b99906bb95340e094c4.png)

相关推荐
小猿姐7 分钟前
Clickhouse Kubernetes Operator 实测:哪种方案更适合生产?
运维·数据库·kubernetes
彩色的黑'''36 分钟前
[root@localhost ~]#,Linux系统的命令提示符为啥现在变成-bash-4.2#了,哪里设置的
linux·运维·bash
树下水月40 分钟前
文件分片上传接口(Easyswoole)被nginx拦截,并返回状态码400和408的抓包排查过程
运维·nginx
源远流长jerry1 小时前
Linux 网络发送机制深度解析:从应用到网线
linux·服务器·网络·网络协议·tcp/ip
南境十里·墨染春水1 小时前
linux学习进展 shell编程
linux·运维·学习
goyeer2 小时前
【ITIL4】32服务实践 - 问题管理(Problem Management)
linux·运维·服务器·企业数字化·it管理·itil·it治理
怀旧,2 小时前
【Linux网络编程】8. 网络层协议 IP
linux·网络·tcp/ip
RH2312113 小时前
2026.5.12 Linux
java·linux·数据结构
cen__y3 小时前
Linux11(网络编程)
linux·运维·服务器·c语言·网络·网络协议·tcp/ip
ITKEY_3 小时前
archlinux x11桌面 部分程序识别成Wayland
linux