Grafana + Promethus 监控JVM

  最近在研究监控系统,所以第一次接触了Grafana跟Promethus,Grafana是一个很强大的可视化指标工具,而Promethus是一个时序数据库。

  项目总会慢慢做大,一些必要的监控以及预警是很有必要的。

  所以研究了下JVM的监控,可以有以下两种方式,Grafana官网上有很多共享的展示面板模板,可看哪个更符合自己的需求,当然也可以自己创建。

  首先安装Grafana跟Promethus,这个比较简单,可自行百度。

  1.Jmx_exporter + Promethus +Grafana

    1.1下载Jmx_exporter架包:https://github.com/prometheus/jmx_exporter

    1.2在配置Jmx_exporter的config.yaml:

---
lowercaseOutputLabelNames: 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

    1.3启动你的应用:java -javaagent:./jmx_prometheus_javaagent-0.12.0.jar=8698:config.yaml -jar yourJar.jar

     我使用的是springboot,所以加运行参数即可。

Grafana + Promethus 监控JVM

    1.4配置Promethus的config:

scrape_configs:
  # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
  - job_name: 'prometheus'

    # metrics_path defaults to '/metrics'
    # scheme defaults to 'http'.

    static_configs:
    - targets: ['localhost:9090']
  - job_name: 'monitor-demo'

    # metrics_path defaults to '/metrics'
    # scheme defaults to 'http'.

    static_configs:
    - targets: ['localhost:8698']  

    1.5Grafana我使用的是模板是8563,直接Import就好,在Import之前应首先在Grafana创建Promethus的数据源

Grafana + Promethus 监控JVM

Grafana + Promethus 监控JVM

Grafana + Promethus 监控JVM

   至此监控JVM系统就搭建起来了,比较简单。

    

上一篇:consul+promethus+grafana服务监控


下一篇:点击劫持漏洞总结