prometheus+grafana可视化实时jvm监控工具

先安装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.yml
vim simple-config.yml
wercaseOutputLabelNames: true
lowercaseOutputName: true
whitelistObjectNames: ["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+grafana可视化实时jvm监控工具_第1张图片

修改prometheus.yml

查找scrape_configs节点,增加监控Job子节点,示例如下:

  - job_name: 'java'
    scrape_interval: 30s
    static_configs:
- targets: ['120.48.54.67:8037']    

prometheus+grafana可视化实时jvm监控工具_第2张图片
【注意】记录此处的job_name后续Grafana中使用

重启Prometheus服务

docker restart pensive_williamson

验证一下

1、访问 Prometheus的IP9090端口,有界面代表启动成功。如:http://127.0.0.1:9090/
2、查看已有的JVM信息
prometheus+grafana可视化实时jvm监控工具_第3张图片
点击查看详情,需要把这些信息配置Grafana模板转成可视化信息。
prometheus+grafana可视化实时jvm监控工具_第4张图片

配置Grafana模板

模板ID:8563
prometheus+grafana可视化实时jvm监控工具_第5张图片
prometheus+grafana可视化实时jvm监控工具_第6张图片
prometheus+grafana可视化实时jvm监控工具_第7张图片
prometheus+grafana可视化实时jvm监控工具_第8张图片
prometheus+grafana可视化实时jvm监控工具_第9张图片

你可能感兴趣的:(docker,k8s,harbor,gitlab,Java基础,日志收集性能监控工具,jvm,docker)