阿里云成功备案的网站增加域名,青岛专业做网站的,安阳哪个公司做网站好,什么是网站的二级目录5月应用服务出现问题#xff0c;当别的小伙伴问我#xff0c;有没有Tomcat等应用状态的监控的时候#xff0c;我有点儿尴尬。所以赶紧抽空部署一下。
在配置之前#xff0c;就当已经会安装jdk和tomcat了。 一、下载jmx_exporter
#linux下
cd /usr/local/prometheus
wget …5月应用服务出现问题当别的小伙伴问我有没有Tomcat等应用状态的监控的时候我有点儿尴尬。所以赶紧抽空部署一下。
在配置之前就当已经会安装jdk和tomcat了。 一、下载jmx_exporter
#linux下
cd /usr/local/prometheus
wget https://repo1.maven.org/maven2/io/prometheus/jmx/jmx_prometheus_javaagent/0.3.1/jmx_prometheus_javaagent-0.3.1.jar 二、配置jmx_exporter
其实配置的时候可以很简单的写成下面的格式如下
#vim /usr/local/prometheus/jmx-exporter.yaml
---
rules:- pattern: .*
不过个人觉得上面这种配置可以快速的上手正式使用的时候不推荐这样因为这样会导致prometheus收集的指标太多了对于存储和网络都会有些许的影响特别是手机的主机特别多的时候。比较推荐官方给的配置如下
#官方推荐配置实例https://github.com/prometheus/jmx_exporter/blob/master/example_configs/tomcat.yml
#将文件下载下来放到下面文件中/usr/local/prometheus/jmx-exporter.yaml#cat /usr/local/prometheus/jmx-exporter.yaml
---
lowercaseOutputLabelNames: true
lowercaseOutputName: true
rules:
- 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|maxTime|processingTime|errorCount):name: tomcat_servlet_$3_totallabels:module: $1servlet: $2help: Tomcat servlet $3 totaltype: COUNTER
- pattern: CatalinatypeThreadPool, name(\w-\w)-(\d)(currentThreadCount|currentThreadsBusy|keepAliveCount|pollerThreadCount|connectionCount):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: COUNTER 三配置tomcat 在配置Tomcat的时候网上很多人给的都是下面这个配置
修改文件tomcat/bin/catalina.sh 或者win下修改tomcat/bin/catalina.bat
JAVA_OPTS -javaagent:/usr/local/prometheus/jmx_prometheus_javaagent-0.13.0.jar20000:/usr/local/prometheus/jmx-exporter.yaml
这个配置在tomcat8中挺好用的centos6.9版本的tomcat7 和tomcat8 也都挺好用的。但是centos6.5的tomcat7中不好用。需要使用下面的配置
]# vim tomcat/bin/catalina.sh
CATALINA_OPTS$CATALINA_OPTS -javaagent:/usr/local/prometheus/jmx_prometheus_javaagent-0.13.0.jar20000:/usr/local/prometheus/jmx-exporter.yaml;exportCATALINA_OPTS# for win
tomcat/bin/catalina.bat
恩catalina_opts这个在Tomcat7 和8 中都是好用的。如果是java -jar的java包的话启动命令如下
java -javaagent:/usr/local/prometheus/jmx_prometheus_javaagent-0.13.0.jar20000:/usr/local/prometheus/jmx-exporter.yaml -jar yourJar.jar
启动java应用然后使用ps -ef |grep java 命令来检查启动的java应用中是否有 -javaagent。如果有就表示正常如果没有请自行排查问题所在比如路径不对等。 四、prometheus的配置 我的prometheus使用的是file_sd文件自动发现。所以配置如下 - job_name: jvm_monitorfile_sd_configs:- refresh_interval: 30sfiles:- ./conf/jvm_monitor/*.json - job_name: JVM/druidmetrics_path: /metricshonor_labels: truefile_sd_configs:- files:- targets/jvm/druid.yaml[appsHZPM004149096 jvm]$ pwd
/data/docker/prometheus/conf/targets/jvm
[appsHZPM004149096 jvm]$ cat druid.yaml- labels:app: 中运系统project: 大运系统service: zto-sitefintask-exportteam: 研发一部env: 生产developer: 聂青maintainer: 陈\纲targets:- 192.168.17.15:8024- labels:app: 中运系统project: 大运系统service: zto-fintask-exportteam: 研发一部env: 生产developer: 聂绿水青maintainer: 陈振纲targets:- 192.168.72.19:8023 当然了也可以使用一台一台的写到prometheus配置文件里如下
// prometheus.yml 配置文件内容- job_name: jvm_monitorstatic_configs:- targets: [192.168.1.200:20000]labels:appname: tomcat_xxx 当这些都配置的时候重新加载prometheus的配置文件使配置生效。 五、配置grafana
grafana的dashboards编号是8563添加到grafana中即可。之后就完成了tomcat的监控如下图稍微做了一点儿调整。