Оператор Prometheus изменяет scrape_interval

#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.