Рекомендации по использованию#

В этом разделе приводится рекомендации по работе с сервисом мониторинга.

Prometheus#

В этом разделе приводятся рекомендации по работе с сервисом мониторинга Prometheus.

Варианты запуска сервиса#

  • Одиночный экземпляр сервиса, развёрнутый на одном экземпляре виртуальной машины в выбранной зоне доступности.

Использование меток#

При настройке сервиса мониторинга на базе Prometheus и работе с ним широко применяются метки (labels). Все метрики, генерируемые экспортёрами, уже содержат ряд меток, которые могут быть как общими для сервиса или узла, так и специфичными. Какие метки назначены метрикам, можно посмотреть в разделе Graph веб-интерфейса Prometheus, либо при помощи HTTP-запроса GET к точке приема запросов (endpoint) конкретного экспортёра.

Метки также добавляются к предупреждениям, например, метка severity указывает на степень критичности сбоя. Кроме того, пользователь может добавить свои собственные метки, задав их в настройках PaaS-сервисов или в задании на сбор данных. Например, при развёртывании PaaS-сервиса MongoDB ему можно назначить метку с ключом env и значением testing, чтобы отметить его принадлежность к тестовому окружению.

Метки удобно использовать при настройке правил уведомлений и при отключении уведомлений (silence) в интерфейсе Alertmanager, а также для настройки критериев выбора маршрута для выбора канала уведомлений в веб-интерфейсе облака. Например, чтобы отправлять на электронную почту предупреждения, вызванные критическим сбоем сервиса MongoDB, относящимся к тестовому окружению, нужно выполнить следующий ряд настроек:

  • создать канал уведомлений с типом email, например, c именем paasalerts;

  • создать маршрут, в котором в качестве канала для уведомлений указать paasalerts и ввести критерии выбора маршрута (matchers):

    • severity: critical

    • env: testing

    • service: mongodb

Все метрики и предупреждения, генерируемые облачным сервисом мониторинга, обязательно содержат следующие метки:

  • paas_type — тип сервиса PaaS в нижнем регистре, например, mysql, pgsql, mongodb и т.п.;

  • paas_name — уникальное имя развернутого PaaS-сервиса, которое задаёт пользователь на этапе создания;

  • node — имеет вид <hostname>@<paas_name>, где <hostname> — имя виртуальной машины-источника.

Предупреждения также обязательно содержат следующие метки:

  • severity — критичность предупреждения может иметь следующие значения: critical, warning, info;

  • alertname — название предупреждения.

Этот предопределённый набор меток вы можете использовать при настройке критериев выбора маршрута.

Подключение к сервису#

После развёртывания сервиса мониторинга на соответствующем экземпляре доступны три службы — Prometheus, Alertmanager и Grafana. Каждая из них имеет свой веб-интерфейс, работающий на соответствующем порту:

  • Prometheus, порт tcp/9090;

  • Alertmanager, порт tcp/9093;

  • Grafana, порт tcp/3000.

Чтобы открыть нужный веб-интерфейс, необходимо в браузере набрать адрес http://<vm_address>:<port>, где vm_address — IP-адрес экземпляра с установленным сервисом мониторинга.

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

Имя пользователя и пароль по умолчанию для логина в Grafana — admin/admin. После развёртывания сервиса необходимо поменять пароль при первом входе. Хотя Grafana и требует аутентификацию, мы также рекомендуем ограничить доступ к ней предопределённым белым списком адресов.