使用Grafana和Prometheus监控JVM进程

总体架构图

下图展示了各个组件在此过程中的作用
使用Grafana和Prometheus监控JVM进程_第1张图片

组件1:jmx_prometheus,负责生成JVM的监控信息

  1. 下载agent的jar包:jmx_prometheus_javaagent-0.12.0.jar,下载地址
  2. 配置:jmx_prometheus.yaml,更多配置信息请参考 jmx_exporter
wercaseOutputLabelNames: true
lowercaseOutputName: true
whitelistObjectNames: ["java.lang:type=OperatingSystem"]
blacklistObjectNames: []
rules:
  - pattern: 'java.lang<>(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<>((?!process_cpu_time)\w+):'
    name: os_$1
    type: GAUGE
    attrNameSnakeCase: true
  1. 启动:java -javaagent:jmx_prometheus_javaagent-0.12.0.jar=6666:./jmx_prometheus.yaml -jar yourJar.jar

组件2:Prometheus,负责收集和存储JVM信息

  1. 下载Prometheus,下载地址
  2. 配置yaml文件
scrape_configs:
  - job_name: 'java'
    scrape_interval: 30s
    static_configs:
    - targets:
      - '127.0.0.1:6666' // 代表先前启动的agent的地址和端口
  1. 启动prometheus: ./prometheus --config.file=./prom-jmx.yml
  2. 访问 http://127.0.0.1:9090/ 有界面代表启动成功
  3. 查看已有的JVM信息
    使用Grafana和Prometheus监控JVM进程_第2张图片

组件3:Grafana,负责展示JVM状态

  1. 安装Grafana,按照官网操作,很简单,默认启动端口3000
  2. 新建数据源(选择Prometheus)和新建 JVM dashboard
  3. 结果图
    使用Grafana和Prometheus监控JVM进程_第3张图片
    使用Grafana和Prometheus监控JVM进程_第4张图片
    使用Grafana和Prometheus监控JVM进程_第5张图片
    使用Grafana和Prometheus监控JVM进程_第6张图片

你可能感兴趣的:(JVM)