Альтернатива конфигурационным файлам в Prometheus? - PullRequest
0 голосов
/ 21 марта 2019

Я хочу внедрить систему мониторинга в небольшой организации.У меня есть опыт работы с Zabbix, но я рассматриваю Prometheus, так как кажется, что за ним стоит большое сообщество, и сегодня это в значительной степени стандарт (пожалуйста, поправьте меня, если я ошибаюсь).

Однако мне интереснокак удобно обрабатывать всю конфигурацию сводок и правил оповещения в файлах конфигурации, а не в веб-интерфейсе, как в Zabbix.Я имею в виду, что это может быть нормально для 10-20 предупреждений, но как можно управлять, например, 20 различными службами и 1000 различными предупреждениями?Может быть, есть решение, которое я пропустил?В Zabbix очень удобно управлять всем, поскольку это пользовательский интерфейс, а также все собирается в группы (группы хостов, шаблоны и т. Д.)

Буду признателен за ваши идеи.

1 Ответ

0 голосов
/ 22 марта 2019

Прометей является убедительным решением, которое - заслуженно - имеет значительный импульс. Для полноты я призываю вас рассмотреть другие изменения, которые могут потребоваться Prometheus, когда вы определяете, подходит ли вам переход от существующего решения. Это будет одним из многих изменений, к которым вы должны быть готовы.

Я не знаю, почему разработчики Prometheus пошли по пути, который они сделали с конфигурацией, но я дам вам одно преимущество модели. Требуя, чтобы конфигурация была записана в файлах конфигурации (YAML), вы можете зафиксировать эти конфигурации в вашем контроле исходного кода и управлять изменениями в этих файлах так же, как и в других источниках. Это принцип «Инфраструктура как код», и в этом есть много преимуществ.

Теперь также верно, что инструмент UI Console может записывать изменения в файлы конфигурации для вас, и вы можете управлять этими файлами, используя управление исходным кодом, как и раньше. Но эта функция недоступна в базовом решении.

Одна возможность, которая может вас заинтересовать, заключается в том, что вам не нужно перезапускать prometheus или alertmananger при внесении изменений в их конфигурацию. Вы можете изменить конфигурацию и затем POST на конечную точку /-/reload служб, и служба обновит конфигурацию.

См:

https://prometheus.io/docs/prometheus/latest/configuration/configuration/ https://prometheus.io/docs/alerting/configuration/

Также см. Эту полезную статью, в которой объясняется, как Prometheus автоматически обновляет свою конфигурацию при внесении изменений в список целей:

https://www.robustperception.io/using-json-file-service-discovery-with-prometheus

...