配置文件
- 原配置文件为yml,写入配置的时候注意不要使用tab或者其他特殊符号去编辑,否则不识别。
- 也可以将配置文件定义为其他类型的文件比如json格式,在yml中配置每一种类型的监控需要一个job_name,比如后台需要一个job_name,mysql需要一个,redis需要一个,相同的job_name下的targets中可以配置多个ip,然后通过配置下面的配置文件生效配置
配置:prometheus.yml
- job_name: 'node-exporter'
# file_sd_configs 将targets以json文件的方式加载,这里配置了一个文件夹,那么文件夹下面有新的目标加入,prometheus就会自动加载。
file_sd_configs:
- files: ['/usr/local/prometheus/groups/nodegroups/*.json']
json配置
$ midir -p /root/prometheus/groups/nodegroups && cd /root/prometheus/groups/nodegroups
$ vim node.json
[
{
#目标主机ip
"targets": [
"192.168.1.124:9100"
],
#实例标签
"labels": {
"instance": "vm-192.168.1.124",
"service": "node-service"
}
}
]
- job_name : 一个job_name就是一个监控实例
- 其他常用配置
# 全局配置global:
# 默认抓取周期,可用单位ms、smhdwy #设置每15s采集数据一次,默认1分钟
[ scrape_interval: <duration> | default = 1m ]
# 默认抓取超时
[ scrape_timeout: <duration> | default = 10s ]
# 估算规则的默认周期 # 每15秒计算一次规则。默认1分钟
[ evaluation_interval: <duration> | default = 1m ]
# 和外部系统(例如AlertManager)通信时为时间序列或者警情(Alert)强制添加的标签列表
external_labels:
[ <labelname>: <labelvalue> ... ]
# 规则文件列表
rule_files:
[ - <filepath_glob> ... ]
# 抓取配置列表
scrape_configs:
[ - <scrape_config> ... ]
# Alertmanager相关配置
alerting:
alert_relabel_configs:
[ - <relabel_config> ... ]
alertmanagers:
[ - <alertmanager_config> ... ]
# 远程读写特性相关的配置
remote_write:
[ - <remote_write> ... ]
remote_read:
[ - <remote_read> ... ]
我的配置
# The job name assigned to scraped metrics by default.
#默认情况下,分配给临时度量的作业名称。
- job_name: "my_java_promethus"
#抓取时间
scrape_interval: 5s
#The HTTP resource path on which to fetch metrics from targets.
#监控目标抓取指标的http请求路径
metrics_path: '/actuator/prometheus'
#抓取目标IP
static_configs:
- targets: ['127.0.0.1:8081']