Экспорт метрик в Prometheus

Основной подсистемой метрик в Mitigator является Graphite в связке с Grafana. Есть возможность экспортировать метрики в Prometheus через graphite_exporter.

Для организации отправки необходимо развернуть и настроить graphite_exporter (основной файл конфигурации и файл конфигурации соответствия метрик), настроить отправку метрик на graphite_exporter.

Краткая последовательность действий:

  1. Написание конфигурации соответствия метрик под конкретные нужды.
  2. Развертывание graphite_exporter с этой конфигурацией.
  3. Настройка отправки данных в Mitigator´е.

Конфигурация соответствия метрик graphite_exporter

Список метрик с кратким описанием доступен по ссылке.

Не гарантируется, что имена метрик не будут меняться между версиями.

Пример конфигурации:

- match: ^mitigator\.elements\.extInputCounter\.(.*)$
  name: extInputCounter
  labels:
    unit: $1

- match: ^mitigator\.elements\.policy_(\d+)\.inputCounter\.(.*)$
  name: inputCounter
  labels:
    policy: $1
    unit: $2

- match: ^mitigator\.ports\.((?:int|ext)\d+)\.opackets$
  name: opackets
  labels:
    port: $1

Настройка Mitigator´а

В docker-compose.override.yml добавить:

version: "2.2"
services:
  fwstats:
    environment:
      FWSTATS_GRAPHITE_ADDRESS: "carbon-clickhouse.mitigator:2003,some_server:9109"

Здесь some_server:9109 – адрес и порт graphite_exporter; первое значение сохранять обязательно. При желании можно указать несколько серверов.

Применить параметры:

docker-compose up -d fwstats