Телеметрия

Fluent Bit → Status200

Обзор

Fluent Bit собирает логи и телеметрию; вывод opentelemetry отправляет данные в OTLP HTTP endpoint Status200.

С чего начать

Fluent Bit поддерживает множество input’ов: Docker, Syslog, Apache, Nginx, СУБД, языковые рантаймы и др. Полный список: документация Fluent Bit.

Требования

  1. Установить Fluent Bit: installation.
  2. Аккаунт Status200: регистрация. Приём логов — платная опция, pricing.
  3. Создать проект в dashboard; вопросы: support@status200.ru.
  4. Telemetry Ingestion Key: MoreProject SettingsTelemetry Ingestion KeyCreate Ingestion KeyView.

Create Service View Service

Конфигурация

Фрагмент для /etc/fluent-bit/fluent-bit.yaml (секция outputs):

outputs:
  - name: stdout
    match: '*'
  - name: opentelemetry
    match: '*'
    host: 'status200.ru'
    port: 443
    metrics_uri: '/otlp/v1/metrics'
    logs_uri: '/otlp/v1/logs'
    traces_uri: '/otlp/v1/traces'
    tls: On
    header:
      - x-status200-token YOUR_TELEMETRY_INGESTION_TOKEN

В pipeline для логов нужен процессор opentelemetry_envelope:

pipeline:
  inputs:
      processors:
        logs:
          - name: opentelemetry_envelope
          - name: content_modifier
            context: otel_resource_attributes
            action: upsert
            key: service.name
            value: YOUR_SERVICE_NAME

Полный пример:

service:
  flush: 1
  log_level: info

pipeline:
  inputs:
    - name: http
      listen: 0.0.0.0
      port: 8888
      processors:
        logs:
          - name: opentelemetry_envelope
          - name: content_modifier
            context: otel_resource_attributes
            action: upsert
            key: service.name
            value: YOUR_SERVICE_NAME
  outputs:
    - name: stdout
      match: '*'
    - name: opentelemetry
      match: '*'
      host: 'status200.ru'
      port: 443
      metrics_uri: '/otlp/v1/metrics'
      logs_uri: '/otlp/v1/logs'
      traces_uri: '/otlp/v1/traces'
      tls: On
      header:
        - x-status200-token YOUR_TELEMETRY_INGESTION_TOKEN

Self-hosted: замените host (и при HTTP без TLS — port, например 80, tls: Off).

outputs:
  - name: stdout
    match: '*'
  - name: opentelemetry
    match: '*'
    host: 'your-status200-instance.com'
    port: 80
    metrics_uri: '/otlp/v1/metrics'
    logs_uri: '/otlp/v1/logs'
    traces_uri: '/otlp/v1/traces'
    header:
      - x-status200-token YOUR_TELEMETRY_INGESTION_TOKEN

Запуск

Перезапустите Fluent Bit; данные появятся в dashboard. Поддержка: support@status200.ru