Использование внешнего Prometheus для мониторинга

Можно использовать федерацию Prometheus, чтобы собирать метрики со встроенного сервера Prometheus и сохранять их на внешнем сервере. Чтобы настроить федерацию, установите внешний сервер Prometheus, как описано в официальной документации, затем подключите его к своему кластеру через открытый порт API-интерфейса Prometheus.

Чтобы открыть порт для API-интерфейса Prometheus

  1. На экране Инфраструктура > Сети нажмите Изменить, а затем Создать тип трафика.
  2. В окне Создать тип трафика укажите пользовательское имя в поле Имя и 9090 в поле Порт. Затем нажмите кнопку Создать.

  3. Нажмите Назначить сетям рядом с разделом Пользовательские типы трафика, затем добавьте созданный тип трафика во внешнюю сеть, установив соответствующий флажок.
  4. Нажмите кнопку Сохранить, чтобы применить изменения.

Теперь можно подключиться к встроенному серверу Prometheus по адресу http://<admin_panel_IP_address>:9090.

Чтобы подключить ваш кластер к внешнему серверу Prometheus

На внешнем сервере Prometheus создайте файл конфигурации федерации. Например, он может быть следующим:

scrape_configs:
  - job_name: 'federate'
    scrape_interval: 15s

    honor_labels: true
    metrics_path: '/federate'

    params:
      'match[]':
        - '{job="ostor"}'
        - '{__name__=~"job:.*"}'

    static_configs:
      - targets:
        - '<admin_panel_IP_address>:9090'

где:

  • metrics_path — это конечная точка сервера-источника Prometheus, с которого необходимо собирать метрики; /federate — это конечная точка по умолчанию для получения текущих значений выбранного временного ряда;
  • honor_labels — это параметр выборки, который разрешает (false) или запрещает (true) перезапись любых меток, к которым предоставляет доступ сервер-источник Prometheus;
  • match[] определяет временной ряд, из которого следует проводить выборку. Необходимо указать как минимум один параметр URL match[] и селектор моментального вектора, такой как up или {job="ostor"} для каждого из аргументов match[].

    В приведенном примере внешний сервер Prometheus будет собирать все ряды с меткой job="ostor" или именем метрики, которое начинается с job:.

  • targets указывает на сервер-источник Prometheus.