Gå til indhold
Fluent Bit

Fluent Bit

Vis som Markdown

Fluent Bit er en let agent, der indsamler logs fra filer, systemd, containere, syslog, HTTP og mange andre kilder. Dens OpenTelemetry-output sender det indsamlede til Status200s OpenTelemetry-endpoint (OTLP), hvor loggene bliver søgbare under Produkter → Protokoller.

Sådan virker det

flowchart TB sources["Filer, containere, syslog, HTTP"] --> inputs["Fluent Bit-inputs"] inputs --> envelope["Processoren opentelemetry_envelope"] envelope --> name["content_modifier sætter service.name"] name --> output["Outputtet opentelemetry"] output -->|"OTLP/HTTP + indtagelsesnøgle"| oneuptime["Status200 /otlp/v1/logs"] oneuptime --> logs["Logs"]

Fra Fluent Bit til Status200

Fluent Bit pakker hver post ind i en OpenTelemetry-konvolut, så den kan bære ressourceattributter som service.name. OpenTelemetry-outputtet sender derefter posterne til Status200 med din indtagelsesnøgle i headeren x-status200-token. Status200 gemmer dem under den tjeneste, service.name angiver, og opretter tjenesten første gang, den sender.

Før du begynder

  • Installér Fluent Bit – se installationsvejledningen. Konfigurationen på denne side bruger Fluent Bits YAML-format og processoren opentelemetry_envelope, så brug en aktuel version.
  • Et Status200-projekt. I Status200 Cloud afregnes telemetri pr. indtaget GB – se priser – og et projekt på Free-planen skal have en betalingsmetode, før det kan sende telemetri.
  • En indtagelsesnøgle til telemetri. Hvis du ikke har en:
  1. Åbn indtagelsesnøglerne

    Gå til Produkter → Projektindstillinger, åbn Telemetri og APM i sidemenuen, og vælg Indtagelsesnøgler.

    Siden med telemetri-indtagelsesnøgler i projektindstillingerne

  2. Opret en nøgle

    Klik på Opret ingestion-nøgle. Dialogen har allerede udfyldt nøglens navn og valgt Server – den slags nøgle, en applikation eller en collector sender med – så klik på Opret ingestion-nøgle for at oprette den, eller omdøb den først.

  3. Kopiér hemmeligheden

    Den nye nøgle åbner på sin egen side. Kopiér dens Hemmelig nøgle: Det er YOUR_TELEMETRY_INGESTION_TOKEN i konfigurationen nedenfor.

    Siden for en telemetri-indtagelsesnøgle med dens hemmelige nøgle

Konfigurér Fluent Bit

Fluent Bit læser sin YAML-konfiguration fra en fil som /etc/fluent-bit/fluent-bit.yaml.

  1. Tilføj OpenTelemetry-outputtet

    Tilføj et opentelemetry-output, der sender til Status200. Behold stdout-outputtet, mens du tester, hvis du vil se posterne lokalt:

    fluent-bit.yamlYAML
    pipeline:
      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
  2. Pak logs ind i en OpenTelemetry-konvolut, og navngiv tjenesten

    Tilføj processoren opentelemetry_envelope til hvert input, efterfulgt af en content_modifier, der sætter service.name. Erstat YOUR_SERVICE_NAME med det navn, loggene skal vises under i Status200:

    fluent-bit.yamlYAML
    pipeline:
      inputs:
        - name: tail # or any other input
          path: /var/log/my-app/*.log
    
          processors:
            logs:
              - name: opentelemetry_envelope
    
              - name: content_modifier
                context: otel_resource_attributes
                action: upsert
                key: service.name
                value: YOUR_SERVICE_NAME
  3. Genstart Fluent Bit

    Genstart Fluent Bit-tjenesten, eller start den med fluent-bit -c /etc/fluent-bit/fluent-bit.yaml. Efter få sekunder vises loggene under Produkter → Protokoller, og tjenesten står under Produkter → Tjenester.

Komplet eksempel

Denne konfiguration modtager logs over HTTP på port 8888 og sender dem videre til Status200:

fluent-bit.yamlYAML
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

Erstat http-inputtet med de inputs, du har brug for – for eksempel tail til logfiler eller systemd til journalen – og behold de to processorer på hvert af dem.

Selvhostet Status200

Sæt host til værten for din Status200-instans. Hvis den betjenes over almindelig HTTP i stedet for HTTPS, skal du også sætte port til den port, den lytter på (normalt 80), og fjerne tls:

fluent-bit.yamlYAML
pipeline:
  outputs:
    - name: stdout
      match: "*"
    - name: opentelemetry
      match: "*"
      host: "your-oneuptime-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

Fejlfinding

Fluent Bit logger 401 fra OpenTelemetry-outputtet

Indtagelsesnøglen mangler, er ukendt eller udløbet. Tjek header-linjen: Den er x-status200-token, et mellemrum og derefter nøglens Hemmelig nøgle.

Fluent Bit logger 402 eller 422

402: I Status200 Cloud er projektet på Free-planen og har ingen betalingsmetode. Tilføj en under Projektindstillinger → Fakturering og fakturaer → Fakturering. 422: Nøglen er deaktiveret, eller det er en browsernøgle. Slå Aktiveret til igen i nøglens indstillinger, eller opret en Server-nøgle.

Logs ankommer under en uventet tjeneste

Tjenesten kommer fra service.name. Tjek, at hvert input har processoren opentelemetry_envelope efterfulgt af den content_modifier, der sætter den.

Intet ankommer, og Fluent Bit logger forbindelsesfejl

Tjek, at tls: On og port: 443 er sat for et HTTPS-endpoint, og at værten, der kører Fluent Bit, kan nå din Status200-vært på den port.

Har du spørgsmål eller brug for hjælp med konfigurationen, så skriv til os på support@status200.ru.

Næste trin