Ausgabe-Plugin-Parameter zum Senden von Daten an eine IBM Cloud Logs Instanz

Liste der Parameter, die Sie verwenden können, um das Ausgabe-Plugin so zu konfigurieren, dass es Daten an eine IBM Cloud Logs-Instanz auf Protokollierungsagent sendet.

FluentBit-Parameter

Fluentbit-Parameter
Schlüssel Beschreibung Standard Wertvolle Auswahl Erforderlich
Name Name des Plug-Ins. Muss auf logger-icl-output-plugin eingestellt sein nicht zutreffend logger-icl-output-plugin Ja
Id Eindeutige ID für das Plug-in. nicht zutreffend Beliebige Zeichenfolge Ja
Match Wird verwendet, um anzugeben, wie Ereignisse abgeglichen werden. nicht zutreffend Beliebige Zeichenfolge Ja
Retry_Limit Versuchen Sie die Verarbeitung erneut, wenn das Plug-In keine Daten an Cloud Logs senden kann.
Legen Sie False fest, wenn Sie es immer wieder versuchen möchten, andernfalls legen Sie einen Integer-Wert fest.
Weitere Informationen zum Konfigurieren von Wiederholungsversuchen finden Sie hier
1 False oder N >= 1 Ja
Workers Die Anzahl der gleichzeitigen Arbeits-Threads, die an IBM Cloud Logs senden.
Um den Durchsatz der an IBM Cloud Logs gesendeten Protokolle zu erhöhen, können Sie die Anzahl der gleichzeitigen Threads erhöhen, die von jedem Agenten gesendet werden.
Weitere Informationen
1 1 oder mehr Falsch

Verbindungsparameter

Verbindungsparameter
Schlüssel Beschreibung Standard Wertvolle Auswahl Erforderlich
Target_Host Für die Verbindung zu verwendender Ingest-Hostname nicht zutreffend jeder URL-Endpunkt Ja
Target_Port Für die Verbindung zu verwendender Ingest-Port 443 beliebige Portnummer Falsch
Target_Path URL, der für die Verbindung verwendet werden soll /logs/v1/singles Beliebige Zeichenfolge Falsch

Protokollierungsparameter

Protokollierungsparameter
Schlüssel Beschreibung Standard Wertvolle Auswahl Erforderlich
Logging_Level Geben Sie die im Plug-In zu verwendende Protokollebene an info debug
info
error
Falsch
Package_Size Geben Sie die Paketgröße in KB oder MB an 2 jede Zahl gefolgt von einer Einheit, z. B. 2MB, 10KB. Muss kleiner sein als 2MB Falsch

Authentifizierungsparameter

Authentifizierungsparameter
Schlüssel Beschreibung Standard Wertvolle Auswahl Erforderlich
Authentication_Mode Festlegen des Authentifizierungsmodus TrustedProfile TrustedProfile
IAMAPIKey
Falsch
IAM_Environment Angeben der IAM-Umgebung für die Authentifizierung Production Production gibt den öffentlichen Endpunkt an ' iam.cloud.ibm.com '

' PrivateProduction gibt den privaten Endpunkt an ' private.iam.cloud.ibm.com '

' Custom gibt einen durch den Parameter ' IAM_Host spezifizierten Endpunkt an

Falsch
IAM_Host Der IAM-Hostname für eine benutzerdefinierte IAM-Umgebung nicht zutreffend Der vollständig qualifizierte IAM-Hostname, z. B.: " private.eu-de.iam.cloud.ibm.com Nur verwendet, wenn ' IAM_Environment auf ' Custom eingestellt ist
CR_Token_Mount_Path Pfad, in dem sich das CRToken befindet /var/run/secrets/tokens/vault-token Beliebige Zeichenfolge false - Wird nur verwendet, wenn Authentication_Mode auf TrustedProfile eingestellt ist.
Trusted_Profile_ID ID des zu verwendenden vertrauenswürdigen Profils nicht zutreffend Beliebige Zeichenfolge true - Wird nur verwendet, wenn Authentication_Mode auf TrustedProfile eingestellt ist.
IAM_API_key Der zu verwendende api-Schlüssel; weitere Informationen zur Angabe eines api-Schlüssels finden Sie im folgenden Hinweis nicht zutreffend Beliebige Zeichenfolge Falsch

Wenn Authentication_Mode auf IAMAPIKey eingestellt ist, muss der API-Schlüssel auf eine der drei Arten angegeben werden. Diese sind, in der folgenden Reihenfolge, wie folgt:

  1. Verwendung des Feldes IAM_API_key in der Konfiguration
    • Es wird dringend empfohlen, einen API-Schlüssel nicht direkt in die Konfigurationsdatei einzufügen. Stattdessen kann ein Wert der Form ${CUSTOM_ENVIRONMENT_VARIABLE} verwendet werden, um andere als die unten genannten Umgebungsvariablen abzurufen
  2. Mit einer Umgebungsvariablen namens IAM_API_KEY_<output_ID>
    • Dabei ist <output_ID> die ID des Ausgabe-Plug-ins, wie sie im Parameter Id angegeben ist, wobei etwaige Bindestriche (-) durch Unterstriche (_) ersetzt werden
  3. Mit einer Umgebungsvariablen namens IAM_API_KEY

Wenn für eine der oben genannten Optionen kein Wert angegeben wird, schlägt die Initialisierung des Plug-ins fehl.

Überlegungen zur Konfiguration von Fluentbit Agent Workers

Ein " worker steht im Kontext des Protokollierungsagent für einen CPU-Thread, der dem Protokollierungsagent für die Bearbeitung von Protokollen zur Verfügung steht.

Sie können die Anzahl der verfügbaren Arbeiter in der Konfiguration des Output-Plugins konfigurieren.

  • In der Fluent-Bit-Standardkonfiguration ist " Workers=1 die Standardkonfiguration, die für Arbeitslasten geeignet ist, die Protokollvolumen von weniger als 1MB/sec erzeugen.
  • In einer Umgebung mit größerem Protokollierungsvolumen, d. h. mehr als 1 MB/Sek., kann es erforderlich sein, die " Workers-Konfiguration zu erhöhen, damit das Ausgabe-Plug-in die verbrauchten Protokolle verarbeiten kann.
  • Das Helm für Openshift- und Kubernetes wird mit 4 Workern konfiguriert, da dies im Allgemeinen eine gute Einstellung für die meisten Kubernetes ist.

Verwenden Sie die Variable outputWorkers Helm, um die Workers-Einstellung für das Ausgabe-Plugin zu verwalten, wenn Sie das Diagramm Helm verwenden.

Hier einige Überlegungen zur Einstellung des Wertes " Workers in Ihrer Umgebung:

  • Die Verringerung der Anzahl der Arbeiter von 4 auf 2 könnte die CPU-Anforderungen für den Protokollierungsagent verringern.

  • Eine Erhöhung der Anzahl der Worker auf mehr als 4 ohne gleichzeitige Erhöhung des CPU-Limits in einer Kubernetes führt in der Regel nicht dazu, dass mehr Protokolle vom Protokollierungsagent verarbeitet werden. Es gibt einen Punkt, an dem die CPU den Durchsatz begrenzt und ebenfalls erhöht werden muss.

  • Wenn Sie in den Protokollierungsagent Meldungen sehen, die " [input] pausing tail dicht gefolgt von " [input] resume tail melden, ist dies ein Anzeichen dafür, dass das Ausgabe-Plugin, das die Protokolle sendet, mit der Menge der erzeugten Protokolle nicht Schritt halten kann. Wenn die CPU-Auslastung das festgelegte CPU-Limit noch nicht erreicht hat, kann durch eine Erhöhung der Anzahl der Worker der Durchsatz in der Regel gesteigert werden. Wenn die CPU-Auslastung nahe an der Grenze liegt, müssen Sie möglicherweise nicht nur die Anzahl der Worker, sondern auch das CPU-Limit erhöhen. Es ist in Ordnung, wenn die Meldung " [input] pausing tail einige Male pro Stunde ausgegeben wird. Wenn diese Meldung mehrmals pro Minute erscheint, sollten Sie eine Konfigurationsänderung in Betracht ziehen.

  • Wenn Sie die Meldung " [ warn] [input:tail:tail.0] purged rotated file while data ingestion is paused, consider increasing rotate_wait sehen, ist dies in der Regel ein Hinweis darauf, dass die Menge der Eingaben deutlich höher ist, als der Agent verarbeiten kann. Wird die Anzahl der Worker oder der CPU (oder beides) nicht erhöht, führt dies zu fehlenden Protokollen, da die rotierten Dateien aufgrund der Dateirotation nicht mehr verarbeitet werden und die Ingestion pausiert. Sie müssen die Worker- oder CPU-Limits (oder beides) erhöhen, wenn dieser Fehler auftritt.