Configuration/Configuration
https://prometheus.io/docs/prometheus/latest/configuration/configuration/
Prometheus настраивается через флаги командной строки и конфигурационный файл
Флагами указываются неизменяемые параметры
Конфигом настриваются джобы, инстансы, правила и прочее
./prometheus -h
- покажет доступные флаги
Prometheus может релоадить конфигурацию во время работы. Если она нерабочая, то она не применится
Для инициализации релоада есть два пути:
- Послать SIGHUP процессу
- Послать POST запрос на эндпоинт
/-/reload
(но для этого должен быть включен флаг--web.enable-lifecycle
)
Файлы с правилами также будут перезагружены
global:
# How frequently to scrape targets by default.
[ scrape_interval: <duration> | default = 1m ]
# How long until a scrape request times out.
[ scrape_timeout: <duration> | default = 10s ]
# How frequently to evaluate rules.
[ evaluation_interval: <duration> | default = 1m ]
# The labels to add to any time series or alerts when communicating with
# external systems (federation, remote storage, Alertmanager).
external_labels:
[ <labelname>: <labelvalue> ... ]
# File to which PromQL queries are logged.
# Reloading the configuration will reopen the file.
[ query_log_file: <string> ]
# Rule files specifies a list of globs. Rules and alerts are read from
# all matching files.
rule_files:
[ - <filepath_glob> ... ]
# A list of scrape configurations.
scrape_configs:
[ - <scrape_config> ... ]
# Alerting specifies settings related to the Alertmanager.
alerting:
alert_relabel_configs:
[ - <relabel_config> ... ]
alertmanagers:
[ - <alertmanager_config> ... ]
# Settings related to the remote write feature.
remote_write:
[ - <remote_write> ... ]
# Settings related to the remote read feature.
remote_read:
[ - <remote_read> ... ]
-
<scrape_config>
- эта секция определяет набор целей и параметров для них
Цели могут указываться черезscrape_configs: - job_name: 'prometheus' static_configs: - targets: ['localhost:9090'] - job_name: 'vandud' static_configs: - targets: ['two.vandud.ru:80','two.vandud.ru:9914']
static_configs
или через какой-либо механиз service-discovery
-
<file_sd_config>
- сервис дискавери основанный на файлах дает более общий способ конфигурирования статических целей используя кастомные механизмы sd
Он читает набор файлов содержащих списокstatic_config
'ов
Изменения в них будут применяться автоматически (релоадить не надо)
Файлы могут быть в yaml или json формате- targets: [ - '<host>' ] labels: [ <labelname>: <labelvalue> ... ]
[ { "targets": [ "<host>", ... ], "labels": { "<labelname>": "<labelvalue>", ... } }, ... ]
-
<static_config>
- позволяет перечислить список таргетов и общие для них лейблы# The targets specified by the static config. targets: [ - '<host>' ] # Labels assigned to all metrics scraped from the targets. labels: [ <labelname>: <labelvalue> ... ]
-
<alertmanager_config>
- эта секция указывает в какие инстансы алертменеджера prometheus будет слать алерты
Также тут задаются параметры для коммуникации между алертменеджерами и prometheus'ом
Можно статически сконфигурировать черезstatic_configs
или использовать сервис дискавери механизмы
-
<remote_write>/<remote_read>
- можно настраивать параметры подключения, аутентификацию и прочее
No Comments