prometheus JVM监控

 

prometheus JVM监控

为了使用Prometheus监控JVM,你需要一个能够采集JVM指标的工具,比如jmx_exporter。以下是如何设置jmx_exporter以监控JVM的步骤:

下载并运行jmx_exporter:
bash
wget "https://repo1.maven.org/maven2/io/prometheus/jmx/jmx_prometheus_javaagent/0.16.1/jmx_prometheus_javaagent-0.16.1.jar"
java -javaagent:./jmx_prometheus_javaagent-0.16.1.jar=8080:config.yaml -jar your-application.jar
这里8080是jmx_exporter监听的端口,而config.yaml是配置文件,你需要根据你的JVM版本和监控需求编写这个文件。

编写config.yaml以配置你想要的JMX指标。例子如下:
yaml
lowercaseOutputName: true
rules:
  - pattern: 'Catalina<type=(\w+), name=(\w+)><>(\w+):'
    name: tomcat_$3_$2
    labels:
      server: "$1"
      name: "$2"
  - pattern: 'java.lang<type=Memory><>(\w+):'
    name: java_lang_memory_$1
  - pattern: 'java.lang<type=GarbageCollector, name=(\w+), error=(\w+)><>CollectionCount:'
    name: java_lang_garbagecollector_$1_collection_count
    labels:
      error: "$2"
配置Prometheus来抓取jmx_exporter的指标:
在Prometheus的配置文件prometheus.yml中添加一个新的job配置:

yaml
scrape_configs:
  - job_name: 'jvm-application'
    static_configs:
      - targets: ['localhost:8080']
这里jvm-application是你给这个job起的名字,localhost:8080是jmx_exporter运行的地址和端口。

重启Prometheus使配置生效。
现在,你的JVM应用程序的JVM指标应该可以在Prometheus中查询和监控了。

 

posted @ 2024-05-10 09:12  不会游泳的鱼丶  阅读(789)  评论(0编辑  收藏  举报