原文地址java
本文所提到的腳本能夠在這裏下載。git
用到的工具:github
先講一下大體步驟:docker
1) 新建一個目錄,名字叫作prom-jvm-demo
。tomcat
2) 下載JMX exporter到這個目錄bash
3) 新建一個文件simple-config.yml
內容以下:jvm
--- lowercaseOutputLabelNames: true lowercaseOutputName: true whitelistObjectNames: ["java.lang:type=OperatingSystem"] rules: - pattern: 'java.lang<type=OperatingSystem><>((?!process_cpu_time)\w+):' name: os_$1 type: GAUGE attrNameSnakeCase: true
4) 運行如下命令啓動3個Tomcat,記得把<path-to-prom-jvm-demo>
替換成正確的路徑:maven
docker run -d \ --name tomcat-1 \ -v <path-to-prom-jvm-demo>:/jmx-exporter \ -e CATALINA_OPTS="-Xms64m -Xmx128m -javaagent:/jmx-exporter/jmx_prometheus_javaagent-0.3.1.jar=6060:/jmx-exporter/simple-config.yml" \ -p 6060:6060 \ -p 8080:8080 \ tomcat:8.5-alpine docker run -d \ --name tomcat-2 \ -v <path-to-prom-jvm-demo>:/jmx-exporter \ -e CATALINA_OPTS="-Xms64m -Xmx128m -javaagent:/jmx-exporter/jmx_prometheus_javaagent-0.3.1.jar=6060:/jmx-exporter/simple-config.yml" \ -p 6061:6060 \ -p 8081:8080 \ tomcat:8.5-alpine docker run -d \ --name tomcat-3 \ -v <path-to-prom-jvm-demo>:/jmx-exporter \ -e CATALINA_OPTS="-Xms64m -Xmx128m -javaagent:/jmx-exporter/jmx_prometheus_javaagent-0.3.1.jar=6060:/jmx-exporter/simple-config.yml" \ -p 6062:6060 \ -p 8082:8080 \ tomcat:8.5-alpine
5) 訪問http://localhost:8080|8081|8082
看看Tomcat是否啓動成功。工具
6) 訪問對應的http://localhost:6060|6061|6062
看看JMX exporter提供的metrics。post
備註:這裏提供的simple-config.yml
僅僅提供了JVM的信息,更復雜的配置請參考JMX exporter文檔。
1) 在以前新建目錄prom-jvm-demo
,新建一個文件prom-jmx.yml
,內容以下:
scrape_configs: - job_name: 'java' scrape_interval: 30s static_configs: - targets: - '<host-ip>:6060' - '<host-ip>:6061' - '<host-ip>:6062'
2) 啓動Prometheus:
docker run -d \ --name=prometheus \ -p 9090:9090 \ -v <path-to-prom-jvm-demo>:/prometheus-config \ prom/prometheus --config.file=/prometheus-config/prom-jmx.yml
3) 訪問http://localhost:9090看看Prometheus是否啓動成功,在輸入框裏輸入jvm_info
而後執行,應該能夠看到以下圖的結果:
若是沒有看到三個instance,那麼等一下子再試。
1) 啓動Grafana:
docker run -d --name=grafana -p 3000:3000 grafana/grafana
2) 訪問http://localhost:3000,使用admin/admin
登陸。
3) 添加Prometheus數據源,以下圖所示到添加數據源頁面:
4) 配置數據源信息:
http://<host-ip>:9090
Save & Test
,應該會返回成功結果5) 導入Dashboard。咱們不須要重頭本身作Dashboard,用現成的就行,按下圖所示進入導入頁面
6) 使用我製做的JVM Dashboard,頁面右側出現的ID號是8563
,記住這個號,填在以下圖所示的位置:
7) 而後鼠標點擊別處稍等一下,出現下圖,選擇一下數據源就能夠了
8) 最後打開剛剛導入的Dashboard,以下圖: