先安装Grafana: Docker部署可视化监控工具Grafana 再安装Prometheus并配置到Grafana grafana+prometheus 下载JMX Exporter的jar包用来监控JVM信息 要采集JVM信息,可以启动Java项目的时候
先安装Grafana:
Docker部署可视化监控工具Grafana
再安装Prometheus并配置到Grafana
grafana+prometheus
下载JMX Exporter的jar包用来监控JVM信息
要采集JVM信息,可以启动Java项目的时候通过JMX Exporter(下载地址:https://repo1.maven.org/maven2/io/prometheus/jmx/jmx_prometheus_javaagent/ )来进行采集。以 jmx_prometheus_javaagent-0.12.0.jar 为例。
1.下载:
wget https://repo1.maven.org/maven2/io/prometheus/jmx/jmx_prometheus_javaagent/0.12.0/jmx_prometheus_javaagent-0.12.0.jar也可以本地下载好传到服务器里面。
新增配置文件 simple-config.yml
touch simple-config.ymlvim simple-config.ymlwercaseOutputLabelNames: truelowercaseOutputName: truewhitelistObjectNames: ["java.lang:type=OperatingSystem"]blacklistObjectNames: []rules: - pattern: 'java.lang<type=OperatingSystem><>(committed_virtual_memory|free_physical_memory|free_swap_space|total_physical_memory|total_swap_space)_size:' name: os_$1_bytes type: GAUGE attrNameSnakeCase: true - pattern: 'java.lang<type=OperatingSystem><>((?!process_cpu_time)\w+):' name: os_$1 type: GAUGE attrNameSnakeCase: true使用JMX Exporter插件收集数据,启动jar包时需要改成这样:
java -javaagent:/home/jar/demo/jmx_prometheus_javaagent-0.12.0.jar=8037:/home/jar/demo/simple-config.yml -jar swagger-0.0.1-SNAPSHOT.jar【注意】记录此处的8037端口号和IP地址后续Prometheus配置文件中使用
我这里的结构是这样的:
修改prometheus.yml
查找scrape_configs节点,增加监控Job子节点,示例如下:
- job_name: 'java' scrape_interval: 30s static_configs:- targets: ['120.48.54.67:8037']【注意】记录此处的job_name后续Grafana中使用
重启Prometheus服务
docker restart pensive_williamson验证一下
1、访问 Prometheus的IP9090端口,有界面代表启动成功。如:http://127.0.0.1:9090/
2、查看已有的JVM信息
点击查看详情,需要把这些信息配置Grafana模板转成可视化信息。
配置Grafana模板
模板ID:8563