Bereitstellen des Protokollierungsagent für Linux
Sie können den Protokollierungsagent einsetzen, um Infrastruktur- und Anwendungsprotokolle von Linux wie RHEL8, RHEL9, Debian und Ubuntu zu sammeln und an eine IBM Cloud Logs weiterzuleiten. Weitere Informationen zu unterstützten Linux finden Sie unter Protokollierungsagent für nicht-gestartete Umgebungen.
Diese Anweisungen sind für Red Hat Linux Systeme, können aber auch für andere Linux RPM-basierte Server verwendet werden.
Führen Sie die folgenden Schritte aus, um einen Agenten in einer unterstützten Linux-Umgebung einzusetzen.
Definieren Sie die Authentifizierungsmethode für den Agenten
Wählen Sie die Art der Identität und die Authentifizierungsmethode für den Agenten. Erstellen Sie dann ein vertrauenswürdiges Profil oder einen API-Schlüssel. Die Rolle, die für das Senden von Protokollen an IBM Cloud Logs erforderlich ist,
ist Sender.
Sie können eine Dienst-ID oder ein vertrauenswürdiges Profil als Identität verwenden, die vom Agenten zur Authentifizierung beim Dienst IBM® Cloud Logs verwendet wird. Weitere Informationen finden Sie unter Erteilen von IAM-Berechtigungen für die Ingestion.
Wählen Sie eine der folgenden Optionen aus:
Option 1: Authentifizierung mit einem vertrauenswürdigen Profil
Erstellen Sie ein vertrauenswürdiges Profil. Weitere Informationen finden Sie unter Erzeugen eines vertrauenswürdigen Profils für die Aufnahme.
Option 2: Authentifizierung mit einem Dienst-ID-API-Schlüssel
Generieren Sie einen API-Schlüssel für die Dienst-ID-Authentifizierung. Weitere Informationen finden Sie unter Generieren eines API-Schlüssels für die Aufnahme.
Laden Sie die erforderlichen RPM- oder DEB-Pakete herunter
Führen Sie die folgenden Schritte aus:
-
Laden Sie die erforderlichen RPM- oder DEB-Pakete herunter.
Informationen zur aktuellen Version des Protokollierungsagent finden Sie in den Versionshinweisen des Agenten.
-
Überprüfen Sie die Prüfsumme, indem Sie den folgenden Befehl ausführen:
sha256sum -c <sha256_filename>Dabei ist
<sha256_filename>der Dateiname der heruntergeladenen*.sha256Datei. -
Wenn Sie die neueste Version des Agenten installieren, ist die Datei
post-config.shTeil des RPM- oder DEB-Pakets und kann unter/opt/fluent-bit/bin/post-config.shgefunden werden. Wenn Sie eine frühere Version als 1.6.2 verwenden, müssen Sie die Dateipost-config.shmit diesem Schritt herunterladen.Dieser Schritt ist nur erforderlich, wenn Sie die Website Protokollierungsagent 1.6.1 oder eine frühere Version verwenden. Sie gilt nicht für die Protokollierungsagent 1.6.2 oder nachfolgende Versionen.
wget https://logs-router-agent-config.s3.us.cloud-object-storage.appdomain.cloud/post-config.sh chmod +x post-config.sh
Einrichten und Bereitstellen der Protokollierungsagent
Führen Sie die folgenden Schritte aus:
-
Melden Sie sich bei Ihrer Linux Umgebung an.
-
Installieren Sie den Agenten.
-
Für RHEL laufen:
rpm -ivh <rpm_filename> -
Für Debian und Ubuntu laufen:
dpkg -i <deb_filename>
Dabei ist
<rpm_filename>oder<deb_filename>der Name der heruntergeladenen*.rpmoder*.debDatei. -
-
Führen Sie das Konfigurationsscript aus.
/opt/fluent-bit/bin/post-config.sh -h <target_host> -p <target_port> [-t <target_path>] -a <auth_mode> -k <iam_api_key> [-s <vsi_secure_access_enabled>] [-i <IAM_environment>] [--subsystem-name <name>] [--application-name <name>]Wo
-t <target_path>-
Geben Sie den Pfad zum Senden von Daten an eine IBM Cloud Logs-Instanz an. Wenn keine Angaben gemacht werden, ist der Wert standardmäßig
/logs/v1/singles. -a <auth_mode>-
Geben Sie
IAMAPIKeyoderVSITrustedProfilean. -k <iam_api_key>-
Geben Sie den Cloud Identity and Access Management API-Schlüssel an (erforderlich für den Modus
IAMAPIKey). Befolgen Sie die Anweisungen unter Generierung eines API-Schlüssels.Weitere Informationen über Cloud Identity and Access Management API-Schlüssel finden Sie unter Verwaltung von API-Schlüsseln.
-d <trusted_profile_id>-
Geben Sie die vertrauenswürdige Profil-ID an (erforderlich für den Modus "
VSITrustedProfile). Wenn Sie vertrauenswürdige Profile verwenden, setzen Sie diese auf die ID, die unter Einrichten von Berechtigungen für die Aufnahme konfiguriert wurde. Sie müssen die Instanz mit aktiviertem Metadatendienst erstellen und das vertrauenswürdige Profil mit Ihrer Instanz verknüpfen, indem Sie beim Erstellen die ID angeben. Weitere Informationen finden Sie unter Erstellen von virtuellen Serverinstanzen.Weitere Informationen zu vertrauenswürdigen Profilen finden Sie unter Erstellen eines vertrauenswürdigen Profils.
--send-directly-to-iclAbgelehnt-
Setzen Sie diesen Parameter, um die Protokolle direkt an IBM Cloud Logs zu senden.
-h <target_host>-
Der Host für die IBM Cloud Logs Ingestion, zu finden im
EndpointsAbschnitt Ihrer IBM Cloud Logs InstanzOverview. Verwenden Sie den Ingress-Endpunkt. Für weitere Informationen siehe Eingangsendpunkte -i <IAM_environment>-
Gibt an, ob ein öffentlicher oder privater Endpunkt für die IAM-Authentifizierung verwendet wird.
Productiongibt an, dass der öffentliche Endpunkt verwendet werden soll.PrivateProductiongibt an, dass der private Endpunkt verwendet werden soll.Productionist der Standardwert.Wenn Ihr System keinen Zugang zum öffentlichen Internet hat, müssen Sie "
PrivateProductionverwenden, um den privaten Endpunkt zu nutzen. -p <target_port>-
Verwenden Sie
443, um Protokolle direkt an IBM Cloud Logs zu senden. -s <vsi_secure_access_enabled>-
(Optional) Setzen Sie dies auf
true, wenn Sie den sicheren Zugriff in Ihrem VSI aktiviert haben. Sie ist standardmäßig auffalseeingestellt. Zum Beispiel-s true. --application-name <name>-
Der Anwendungsname definiert die Umgebung, die Protokolle erstellt und an IBM Cloud Logs sendet. Wenn keine Angaben gemacht werden, ist der Wert standardmäßig
${HOSTNAME}. --subsystem-name <name>-
Der Name des Subsystems ist der Dienst oder die Anwendung, die Protokolle erstellt und an IBM Cloud Logs sendet. Wenn keine Angaben gemacht werden, ist der Wert standardmäßig
not-found.
Führen Sie das Skript aus, um die Konfiguration mit Ihren Parameteränderungen zu aktualisieren.
Protokollierungsagent standardkonfiguration
Protokollierungsagent wird mit einer Standardkonfiguration geliefert, die eine vordefinierte Eingangsquelle und Filter enthält. Dieses Standard-Setup ist so konfiguriert, dass es Protokolle von gängigen Speicherorten sammelt und sie mit grundlegenden Metadaten anreichert.
Standard-Eingangsquelle
Protokollierungsagent ist vorkonfiguriert, um Protokolldateien im Verzeichnis /var/log/ und seinen Unterverzeichnissen zu überwachen. Nachfolgend finden Sie ein Beispiel für die Standardeinstellung inputs.conf:
[INPUT]
Name tail
Tag host.*
Path /var/log/**/*.log
Path_Key file
Exclude_Path /var/log/at/**
DB /var/lib/fluent-bit/fluent-bit.DB
Buffer_Chunk_Size 32KB
Buffer_Max_Size 256KB
Mem_Buf_Limit 30MB
Skip_Long_Lines On
Refresh_Interval 10
storage.type filesystem
storage.pause_on_chunks_overlimit on
Standardfilter
Die Standardkonfiguration umfasst zwei Filter, die Protokolldatensätze mit Metadaten anreichern und zur leichteren Verarbeitung organisieren:
-
Filter modifizieren: Fügt Metadatenfelder wie Subsystemname, Anwendungsname, Hostname und Plattform hinzu.
-
Nest-Filter: Gruppiert Metadatenfelder unter einem einzigen
metaSchlüssel.
Nachfolgend finden Sie ein Beispiel für die Standardeinstellung filters.conf:
[FILTER]
Name modify
Match *
Add subsystemName ${SUBSYSTEM_NAME}
Add applicationName ${APPLICATION_NAME}
Add meta.hostname ${HOSTNAME}
Add meta.environment prod # Sample values: prod, staging, dev, qa
Add meta.platform linux
[FILTER]
Name nest
Match *
Operation nest
Wildcard meta.*
Nest_under meta
Remove_prefix meta.
Protokollierungsagent konfigurationsanpassung
Diese Standardeinstellungen bilden die Grundlage für die Protokollerfassung und -anreicherung. Um den Agenten an Ihre Bedürfnisse anzupassen, können Sie die Dateien inputs.conf, filters.conf und outputs.conf im Verzeichnis /etc/fluent-bit/ ändern.
Zusätzliche Metadatenfelder hinzufügen
Sie können zusätzliche Metadatenfelder zu den weitergeleiteten Protokollen hinzufügen.
Führen Sie die folgenden Schritte aus:
-
Bearbeiten Sie die Datei
fluent-bit.confim Ordner/etc/fluent-bit/. -
Fügen Sie Ihre benutzerdefinierten Metadaten mit dieser Struktur hinzu: '
Add <meta.key_name> <your_custom_value>[FILTER] Name modify Match * Add subsystemName ${SUBSYSTEM_NAME} Add applicationName ${APPLICATION_NAME} Add meta.hostname ${HOSTNAME} Add meta.env prod # Sample values: prod, staging, dev, qa Add meta.platform linuxWo
<meta.key_name>ist der Name des hinzuzufügenden Metadatenfeldes (z. B. "meta.env) und "<your_custom_value>ist der Wert, der dem Feld zugewiesen werden soll (z. B. der Name Ihrer Umgebung).
Wenn Sie z. B.
regionals Metadaten oder die Version als neues Feld hinzufügen möchten, würde die Konfiguration in etwa so aussehen:[FILTER] Name modify Match * Add subsystemName ${SUBSYSTEM_NAME} Add applicationName ${APPLICATION_NAME} Add meta.hostname ${HOSTNAME} Add meta.env prod Add meta.platform linux Add meta.region us-east Add version my-version -
Speichern Sie die Konfigurationsdatei.
-
Starten Sie den Agenten neu, um die Änderungen zu übernehmen.
systemctl daemon-reload && systemctl restart fluent-bit
Dateien einbeziehen oder ausschließen
Sie müssen die Protokolldateien konfigurieren, die der Protokollierungsagent überwacht.
Führen Sie die folgenden Schritte aus:
-
Bearbeiten Sie die Datei
fluent-bit.confim Ordner/etc/fluent-bit/. -
Ändern Sie den Abschnitt INPUT.
Geben Sie den Pfad mit den Verzeichnissen und Dateien an, die Sie überwachen möchten.
Geben Sie in den Exclude_Path die Verzeichnisse und Dateien ein, die Sie von der Überwachung ausschließen möchten.
[INPUT] Name tail Tag * Path /var/log/*.log Path_Key file Exclude_Path /var/log/audit.log DB /var/lib/fluent-bit/fluent-bit.DB Buffer_Chunk_Size 32KB Buffer_Max_Size 256KB Skip_Long_Lines On Refresh_Interval 10 storage.type filesystem storage.pause_on_chunks_overlimit on -
Ändern Sie den Abschnitt SERVICE.
Legen Sie storage.path auf einen Speicherort im Dateisystem, um Streams und Daten zu speichern.
-
Speichern Sie die Konfigurationsdatei.
-
Starten Sie den Agenten neu, um die Änderungen zu übernehmen.
systemctl daemon-reload && systemctl restart fluent-bit
Überprüfen Sie, ob die Protokolle an Ihr Ziel übermittelt werden
Führen Sie die folgenden Schritte aus:
-
Wenn Ihr Agent korrekt konfiguriert ist, können Sie die Protokolle über die Standard-Dashboard-Ansicht einsehen.
Wenn Sie z. B. den applicationName auf den Hostnamen in Ihrem Agenten setzen, können Sie den Filter Anwendungsname in einer Ansicht auf den Namen Ihres Hosts setzen.
Agent aktualisieren
Sie können den Agenten aktualisieren, indem Sie die gewünschten Agentenpakete herunterladen und den entsprechenden Befehl für Ihre Umgebung ausführen. Informationen über die aktuelle Version von Protokollierungsagent finden Sie in den Versionshinweisen des Agenten.
-
Für RHEL laufen:
rpm -Uvh <rpm_filename> -
Für Debian und Ubuntu laufen:
dpkg -i <deb_filename>
Dabei ist <rpm_filename> oder <deb_filename> der Name der heruntergeladenen *.rpm oder *.deb Datei.
Bei einer Neuinstallation oder einem Upgrade des Agenten bleiben Ihre bestehenden Konfigurationsdateien unverändert.
Starten Sie den Dienst nach der Aktualisierung neu:
systemctl daemon-reload && systemctl restart fluent-bit
Agenten deinstallieren
Sie können einen installierten Agenten entfernen, indem Sie den entsprechenden Befehl in einem Terminal als sudo-Benutzer ausführen.
-
Für RHEL, CentOS, und Fedora Linux laufen:
sudo yum erase draios-agent -
Für Debian und Ubuntu laufen:
sudo apt-get remove draios-agent