Sobes.tech
Middle

Как предават метриките износителите?

sobes.tech AI

Отговор от AI

Експортърите използват различни протоколи и формати за предаване на метрики към системи за мониторинг като Prometheus, Grafana и други. Основните подходи:

  1. Протокол Prometheus:

    • Експортърът отваря HTTP сървър на определен порт.
    • Системата за мониторинг (например, сървър Prometheus) периодично "скрапира" (извлича) метрики от този HTTP сървър.
    • Форматът на данните е текстов, специфичен за Prometheus, където всяка линия представлява метрика с етикети и стойност.
    # HELP go_gc_duration_seconds Обобщение на времето за пауза на събирача на боклука на Go.
    # TYPE go_gc_duration_seconds summary
    go_gc_duration_seconds{quantile="0"} 6.14e-06
    go_gc_duration_seconds{quantile="0.25"} 1.0281e-05
    go_gc_duration_seconds{quantile="0.5"} 1.2357e-05
    
  2. Protobuf чрез gRPC или други RPC рамки:

    • По-ефективен по отношение на размера и анализа формат на данните.
    • Често се използва в системи с висок товар или при предаване на данни през мрежи с ограничена пропускателна способност.
    • Изисква определяне на структурата на метриките в .proto файлове.
  3. JSON чрез HTTP API:

    • Разпространен формат, който лесно се анализира от много системи.
    • Експортърът предоставя HTTP API, чрез който може да се получат метрики във формат JSON.
    {
      "metrics": [
        {
          "name": "http_requests_total",
          "labels": {
            "method": "GET",
            "status": "200"
          },
          "value": 1024
        }
      ]
    }
    
  4. OpenTelemetry протокол (OTLP):

    • Стандартизиран протокол за събиране на телеметрия (метрики, трасета, логове).
    • Поддържа предаване на данни чрез gRPC или HTTP.
    • Протоколите за данни са базирани на Protobuf.
  5. Патентовани протоколи:

    • Някои системи за мониторинг или агенти използват свои собствени протоколи за предаване на данни, оптимизирани за техните специфични нужди.

Изборът на протокол зависи от системата за мониторинг, типа на експортера, изискванията към производителността и гъвкавостта. Най-разпространеният подход в екосистемата Prometheus е скрапването на метрики в нативен текстов формат чрез HTTP.