Прометей является убедительным решением, которое - заслуженно - имеет значительный импульс. Для полноты я призываю вас рассмотреть другие изменения, которые могут потребоваться 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