Skip to content

Метрики

Блок metrics открывает счётчики в формате Prometheus по обычному HTTP. Те же счётчики, что отдаёт gRPC-сервис StatsService, доступны на /metrics (а отладочные pprof-точки среды выполнения — на /debug/pprof/).

Параметры

ПолеТипПо умолчаниюДопустимые значенияОписание
tagstring(required for routing)<inbound tag>Тег маршрутизации для входящего метрик. Обязателен, если конечную точку метрик нужно маршрутизировать правилом (как обычно и бывает).
listenstring127.0.0.1:0<host:port>HTTP-адрес, на котором слушает конечная точка метрик. Пустое значение регистрирует только внутрипроцессный входящий.

Исходный код: infra/conf/metrics.go:8-11 · зафиксировано на v26.7.28 (5ca6f4b)

Пример

json
{
  "stats": {},
  "metrics": {
    "tag": "metrics",
    "listen": "127.0.0.1:9099"
  },
  "policy": {
    "system": {
      "statsInboundUplink": true,
      "statsInboundDownlink": true,
      "statsOutboundUplink": true,
      "statsOutboundDownlink": true
    }
  },
  "routing": {
    "rules": [
      { "type": "field", "inboundTag": ["metrics"], "outboundTag": "metrics" }
    ]
  }
}

Примечания

  • metrics использует то же хранилище счётчиков, что и stats; по-прежнему нужны stats: {} и соответствующие переключатели счётчиков в policy.
  • Конечная точка отдаёт и текстовый формат Prometheus на /metrics, и обработчики net/http/pprof из Go на /debug/pprof/. Оставляйте адрес прослушивания доступным только с localhost.

Исходный код: infra/conf/metrics.go:8-11 · v26.7.28 (5ca6f4b)

Core Tutorial от Argsment