#docker #kubernetes #prometheus #prometheus-operator
#docker #kubernetes #prometheus #prometheus-оператор
Вопрос:
Я хочу установить scrape_interval
для Prometheus значение 15 секунд. Моя конфигурация ниже не работает, в последней строке ошибка. Мне интересно, как мне настроить 15 секунд scrape_interval
?
apiVersion: monitoring.coreos.com/v1
kind: Prometheus
metadata:
name: main
spec:
serviceAccountName: prometheus
replicas: 1
version: v1.7.1
serviceMonitorNamespaceSelector: {}
serviceMonitorSelector:
matchLabels:
team: frontend
ruleSelector:
matchLabels:
role: alert-rules
prometheus: rules
resources:
requests:
memory: 400Mi
scrape_interval: 15s ##Error in this line.
Я получил это сообщение об ошибке при компиляции конфигурации выше:
error: error validating "promethus.yml": error validating data: ValidationError(Prometheus): unknown field "scrape_interval" in com.coreos.monitoring.v1.Prometheus; if you choose to ignore these errors, turn validation off with --validate=false
Спасибо!
Ответ №1:
scrape_interval
вероятно, это имя параметра в конфигурации prometheus, а не для Prometheus
объекта в k8s (который считывается prometheus-operator и используется для создания фактической конфигурации).
В документации к оператору prometheus вы можете увидеть, что искомый параметр равен scrapeInterval
. Убедитесь в правильности отступов, частью которых это должно быть spec:
.
Обратите внимание, что вам не нужно изменять интервал очистки глобально. У вас могут быть целевые интервалы для каждой очистки, определенные в ваших объектах ServiceMonitor.
Ответ №2:
scrape_interval
должен соответствовать глобальной конфигурации Prometheus:
Конфигурация Prometheus — YAML. Загрузка Prometheus поставляется с образцом конфигурации в файле с именем
prometheus.yml
, который является хорошим местом для начала.
Вот пример допустимой конфигурации YAML. Пожалуйста, обратите внимание:
# my global config
global:
scrape_interval: 15s
evaluation_interval: 30s
# scrape_timeout is set to the global default (10s).
Ваш файл с именем «promethus.yml» apiVersion: monitoring.coreos.com/v1
не совпадает с файлом конфигурации prometheus.yml
, о котором я упоминал выше, и поэтому добавление scrape_interval
к нему приведет к ошибке проверки. Вы не можете смешивать конфигурации Prometheus с конфигурациями Prometheus Operator.Это разные понятия.
Я также рекомендую ознакомиться с официальным руководством, чтобы лучше разобраться в Prometheus и его параметрах конфигурации. Или придерживайтесь оператора Prometheus.