1、使用jmx exporter暴露监控指标:
java启动时通过指定参数 -javaagent 的形式运行 jmx exporter的jar包,进程内读取 jvm 运行时状态数据,
转换为Prometheus metrics格式,并暴露端口让 Prometheus 采集
1、下载jmx_exporter,在java启动时使用 java -javaagent的形式启动,后面的端口就是jmx exporter的端口
在Prometheus中要配置java程序所在的ip地址和这个端口
2、然后定义ruler和告警
jmx exporter 下载地址: mirrors / prometheus / jmx_exporter · GitCode
global:
scrape_interval: 10s
evaluation_interval: 10s
##告警组件配置
alerting:
alertmanagers:
- static_configs:
- targets: [ '192.168.164.xx:9093' ]
rule_files:
- "prometheus_rules.yml"
##数据采集Job配置
scrape_configs:
###以下内容为prometheus自身配置
- job_name: 'prometheus'
static_configs:
- targets: [ '192.168.164.xx:9090' ]
labels:
appname: 'prometheus'
###以下内容为SpringBoot应用配置
- job_name: 'springboot_prometheus'
scrape_interval: 5s
metrics_path: '/actuator/prometheus'
static_configs:
- targets: [ '192.168.164.xx:9999' ]
labels:
appname: 'springboot_prometheus'
###以下内容为jmx-exporter应用配置
- job_name: 'jmx-exporter'
scrape_interval: 10s
metrics_path: '/metrics'
static_configs:
- targets: [ '192.168.164.xx:8089' ]
### 8089 就是java 程序启动时 -javaagent jmxexporter的端口
labels:
appname: 'jmx-exporter'