Назад | Перейти на главную страницу

Разбить один файл prometheus.yml?

Я использую Prometheus для нашего мониторинга, и у меня много конфигураций (наш основной файл конфигурации prometheus.yml имеет длину 8000+ строк).

Я хотел бы разделить это на логические группы, чтобы было легче читать. Я узнал, что Prometheus не поддерживает это, и мы можем использовать системы управления конфигурацией, такие как Ansible.

Кто-нибудь делал это со своим конфигурационным файлом Prometheus? Если да, то как вы это сделали?

Prometheus может работать только с одним основным файлом конфигурации. Есть функция обнаружения файловой службы, но она предназначена только для добавления целей. Если вы хотите разделить отслеживаемые цели на логические группы, у вас может быть несколько экземпляров Prometheus, по одному для каждой группы. Таким образом, каждая группа будет иметь свой собственный сервер Prometheus и, следовательно, свой собственный файл конфигурации. Есть еще несколько преимуществ, например:

  • каждая группа контролируется независимо, т.е. если вы выполняете какое-то обслуживание на сервере Prometheus, который контролирует одну группу, или она выходит из строя по какой-либо причине, другие не пострадают;
  • у каждого экземпляра Prometheus есть своя собственная TSDB, поэтому это помогает сохранять базы данных небольшими, что должно улучшить производительность запросов;
  • вы можете выбрать оптимальное место для каждого экземпляра Prometheus, т.е. AZ или VPC;
  • у вас все еще может быть центральная консоль, если вы настроили федерация или создайте панель управления в Grafana для отображения показателей с нескольких серверов Prometheus.

В Ansible нет встроенного модуля для изменения файлов YAML. Но вы можете использовать что-то вроде kwoodson.yedit для внесения любых желаемых изменений в файл конфигурации.