使用tomcat配置jmx_导出器
我试图公开我的一些spring应用程序度量(spring)。这些度量主要是数据库连接度量。为此,我首先配置hikari连接池,然后使用jmx。为了将度量导出到普罗米修斯,然后使用Grafana对其进行访问,我尝试使用jmx_prometheus_exporter[ 我下载了jmx_导出器jar,然后在Tomcat8服务中添加了这一行(在init.d文件夹中) export JAVA_OPTS=“$JAVA_OPTS -javaagent:/home/monitoring/jmx_prometheus_javaagent-0.3.0.jar=9095:/home/monitoring/config jmx tomcat.yaml“ 这是tomcat的配置文件(config jmx tomcat.yaml) 当我尝试访问localhost:9095/metrics时,我什么也找不到,catalina日志、tomcat日志什么也没有显示 我的问题是:使用tomcat配置jmx_导出器,tomcat,jmx,hikaricp,mbeans,jmx-exporter,Tomcat,Jmx,Hikaricp,Mbeans,Jmx Exporter,我试图公开我的一些spring应用程序度量(spring)。这些度量主要是数据库连接度量。为此,我首先配置hikari连接池,然后使用jmx。为了将度量导出到普罗米修斯,然后使用Grafana对其进行访问,我尝试使用jmx_prometheus_exporter[ 我下载了jmx_导出器jar,然后在Tomcat8服务中添加了这一行(在init.d文件夹中) export JAVA_OPTS=“$JAVA_OPTS -javaagent:/home/monitoring/jmx_promethe
- 我所遵循的步骤是否正确
- 如何调试或在何处查看错误
- 我一直在寻找使用jmx remote显示conifgs的教程。什么时候使用? 提前感谢您的回复
lowercaseOutputLabelNames: true lowercaseOutputName: true rules:
- pattern: 'Catalina<type=GlobalRequestProcessor, name=\"(\w+-\w+)-(\d+)\"><>(\w+):' name: tomcat_$3_total labels:
port: "$2"
protocol: "$1" help: Tomcat global $3 type: COUNTER
- pattern: 'Catalina<j2eeType=Servlet, WebModule=//([-a-zA-Z0-9+&@#/%?=~_|!:.,;]*[-a-zA-Z0-9+&@#/%=~_|]), name=([-a-zA-Z0-9+/$%~_-|!.]*), J2EEApplication=none, J2EEServer=none><>(requestCount|maxTime|processingTime|errorCount):' name: tomcat_servlet_$3_total labels:
module: "$1"
servlet: "$2" help: Tomcat servlet $3 total type: COUNTER
- pattern: 'Catalina<type=ThreadPool, name="(\w+-\w+)-(\d+)"><>(currentThreadCount|currentThreadsBusy|keepAliveCount|pollerThreadCount|connectionCount):' name: tomcat_threadpool_$3 labels:
port: "$2"
protocol: "$1" help: Tomcat threadpool $3 type: GAUGE
- pattern: 'Catalina<type=Manager, host=([-a-zA-Z0-9+&@#/%?=~_|!:.,;]*[-a-zA-Z0-9+&@#/%=~_|]), context=([-a-zA-Z0-9+/$%~_-|!.]*)><>(processingTime|sessionCounter|rejectedSessions|expiredSessions):' name: tomcat_session_$3_total labels:
context: "$2"
host: "$1" help: Tomcat session $3 total type: COUNTER
MBeanServer mBeanServer = ManagementFactory.getPlatformMBeanServer();
ObjectName poolName = new ObjectName("com.zaxxer.hikari:type=Pool (foo)");
HikariPoolMXBean poolProxy = JMX.newMXBeanProxy(mBeanServer, poolName, HikariPoolMXBean.class);
int idleConnections = poolProxy.getIdleConnections();