Bereitstellen des Protokollierungsagent für Windows

Sie können den Protokollierungsagent einsetzen, um Infrastruktur- und Anwendungsprotokolle von Windows-Systemen zu sammeln und an eine IBM Cloud Logs weiterzuleiten. Weitere Informationen zu unterstützten Windows-Umgebungen finden Sie unter Protokollierungsagent für nicht-gestartete Umgebungen.

Führen Sie die folgenden Schritte aus, um einen Agenten auf einem unterstützten Windows-System bereitzustellen.

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 einen API-Schlüssel, falls erforderlich.

Führen Sie die folgenden Schritte aus:

  1. Wählen Sie die Art der Identität: Dienst-ID oder vertrauenswürdiges Profil

    Sie können eine Dienst-ID oder ein vertrauenswürdiges Profil verwenden, um sich beim IBM Cloud Logs zu authentifizieren. Vertrauenswürdige Profile werden nur auf Virtual Servers for VPC unterstützt. 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 virtueller Serverinstanzen ".

  2. Erteilen Sie der von Ihnen gewählten Identität die Berechtigung zum Ingestion.

    Die Rolle ' Sender ist erforderlich, um Protokolle an IBM Cloud Logs zu senden.

    Weitere Informationen finden Sie unter Erteilen von IAM-Berechtigungen für die Ingestion.

    Weitere Informationen zu vertrauenswürdigen Profilen finden Sie unter Erzeugen eines vertrauenswürdigen Profils für die Ingestion.

  3. Erstellen Sie einen API-Schlüssel für die Service-ID-Authentifizierung.

    Für die Authentifizierung mit vertrauenswürdigen Profilen ist dieser Schritt nicht erforderlich.

    Weitere Informationen finden Sie unter Generieren eines API-Schlüssels für die Ingestion.

Laden Sie die Agentendateien herunter

Führen Sie die folgenden Schritte aus:

  1. Melden Sie sich bei Ihrer Windows-Umgebung an.

  2. Laden Sie das ZIP-Archiv des Windows-Agenten herunter.

    Informationen zur aktuellen Version des Protokollierungsagent finden Sie in den Versionshinweisen des Agenten.

  3. Ü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 " *.sha256 atei.

  4. Erweitern Sie mit Powershell das Windows-Agent-Archiv im Verzeichnis " Program Files.

    Expand-Archive -Path <archive_filename> -DestinationPath "C:\Program Files\"
    

    Dabei ist <archive_filename> der Name der heruntergeladenen *.zip-Datei.

  5. Ändern Sie das Verzeichnis in das erweiterte Windows-Agent-Archiv.

    cd "C:\Program Files\logs-agent"
    
  6. Laden Sie die Konfigurationsdatei von der Website C:\Program Files\logs-agent herunter.

    wget https://logs-router-agent-config.s3.us.cloud-object-storage.appdomain.cloud/configure-logs-agent.ps1
    

Setzen Sie den Protokollierungsagent ein, um das Windows-Ereignisprotokoll zu sammeln

Führen Sie das Konfigurations-Powershell-Skript aus.

./configure-logs-agent.ps1 -TargetHost <target_host> -TargetPort <target_port> -AuthMode <auth_mode> -IAMEnv <IAM_environment> [[-IAMApiKey] <iam_api_key>] [-TrustedProfile] <trusted_profile_id>] -Channels <channels_list> [[-DBPath] <database_path>] [-VSISecureAccess]

Wo

-TargetHost <target_host>

Der Host für IBM Cloud Logs ingestion, zu finden im ' Endpoints Abschnitt Ihrer IBM Cloud Logs Instanz ' Overview. Verwenden Sie den Ingress-Endpunkt. Weitere Informationen finden Sie unter Ingress-Endpunkte

-TargetPort <target_port>

Gibt den Port des Eingangsendpunkts an, der von Ihrer Netzwerkkonnektivität zu IBM Cloud Logs abhängt. Geben Sie ' 3443 ' für IBM Cloud Logs Routing an.

  • 443: Öffentlicher Zugangspunkt
  • 443: Privater Eingangsendpunkt (VPE)
  • 3443: Privater Eingangsendpunkt (CSE)
-IAMEnv <IAM_environment>

(Optional) Gibt an, ob ein öffentlicher oder privater Endpunkt für die IAM-Authentifizierung verwendet wird. Production gibt an, dass der öffentliche Endpunkt verwendet werden soll. PrivateProduction gibt an, dass der private Endpunkt verwendet werden soll. Production ist der Standardwert.

Wenn Ihr System keinen Zugang zum öffentlichen Internet hat, müssen Sie " PrivateProduction verwenden, um den privaten Endpunkt zu nutzen.

-AuthMode <auth_mode>

Geben Sie " IAMAPIKey oder " VSITrustedProfile an.

-IAMApiKey <iam_api_key>

(Optional) Geben Sie den Cloud Identity and Access Management API-Schlüssel (erforderlich für den Modus " IAMAPIKey ). Befolgen Sie unbedingt die Anweisungen unter Generierung eines API-Schlüssels.

Für weitere Informationen über Cloud Identity and Access Management API-Schlüssel finden Sie unter Verwalten von API-Schlüsseln.

-TrustedProfile <trusted_profile_id>

(Optional) Geben Sie die vertrauenswürdige Profil-ID an (erforderlich für den Modus " VSITrustedProfile ). Wenn Sie vertrauenswürdige Profile verwenden, stellen Sie die ID auf die ID ein, die in "IAM-Berechtigungen für die Aufnahme erteilen" konfiguriert ist.

Weitere Informationen zu vertrauenswürdigen Profilen finden Sie unter Erstellen eines vertrauenswürdigen Profils.

-Channels <channels_list>

(Optional) Wenn eine Kanalliste angegeben wird, wird ein Standard-Eingabe-Plug-in " winevtlog konfiguriert, um Ereignisse von den angegebenen Kanälen zu lesen. Geben Sie an, welche Kanäle aus dem Windows-Ereignisprotokoll gelesen werden sollen, und zwar als kommagetrennte Liste ohne Leerzeichen.

-DBPath <database_path>

(Optional) Wenn der Parameter " Channels angegeben wird, setzen Sie diesen Parameter auf die Datenbankdatei, in der die Position der verarbeiteten Ereignisse gespeichert wird. Wenn dieser Parameter nicht gesetzt ist und der Parameter " Channels angegeben wird, ist die Standarddatenbankdatei " C:\Program Files\logs-agent\winevtlog.sqlite.

-VSISecureAccess

(Optional) Setzen Sie dieses Kennzeichen, wenn Sie in Ihrem VSI den sicheren Zugriff aktiviert haben. Diese Option ist standardmäßig nicht aktiviert.

Konfigurieren Sie den Protokollierungsagent, um Dateien ein- oder auszuschließen

Sie können den Protokollierungsagent konfigurieren, um Dateien, die der Agent überwacht, ein- oder auszuschließen.

  1. Erstellen Sie die Input-Plugin-Konfigurationsdatei input-tail.conf in C:\Program Files\logs-agent\etc.

  2. Fügen Sie den Abschnitt EINGABE hinzu.

    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              C:\logs\*.log
        Path_Key          file
        Exclude_Path      C:\logs\audit.log
        DB                C:\logs\fluent-bit.DB
        Buffer_Chunk_Size 32KB
        Buffer_Max_Size   256KB
        Skip_Long_Lines   On
        Refresh_Interval  10
    
  3. Speichern Sie die Konfigurationsdatei.

  4. Ändern Sie die Datei C:\Program Files\logs-agent\etc\fluent-bit.conf, um den Verweis auf die Datei C:\Program Files\logs-agent\etc\input-windows-event-log.conf aufzunehmen.

    @INCLUDE C:\Program Files\logs-agent\etc\input-windows-event-log.conf
    

    Die Hauptkonfigurationsdatei C:\Program Files\logs-agent\etc\fluent-bit.conf importiert andere Dateien mit dem Tag @INCLUDE <path_to_file>.

Metadaten hinzufügen

Sie müssen den Protokollierungsagent so konfigurieren, dass er applicationName und subsystemName enthält. Sie können auch benutzerdefinierte Metadaten hinzufügen.

  • Der Anwendungsname ist die Umgebung, die Protokolle erzeugt und an eine IBM Cloud Logs sendet. Setzen Sie den Wert auf den Hostnamen, indem Sie die Variable ${COMPUTERNAME} verwenden oder den Hostnamen des Computers eingeben.
  • Der Name des Subsystems ist der Dienst oder die Anwendung, die Protokolle erstellt und an eine IBM Cloud Logs sendet. Sie können ihn beispielsweise auf den Namen des Anbieters setzen.
[FILTER]
    Name modify
    Match winevtlog.*
    Copy ProviderName subsystemName
    Add applicationName ${COMPUTERNAME}
    Add meta.source ${SOURCE}
    Add meta.channel ${Channel}
    Add meta.providerName ${ProviderName}
    Add meta.environment prod
    Add meta.platform windows

[FILTER]
    Name nest
    Match winevtlog.*
    Operation nest
    Wildcard meta.*
    Nest_under meta
    Remove_prefix meta.

Überprüfen Sie die Konfiguration des Agenten

Überprüfen Sie, ob die Konfiguration des Agenten korrekt ist, indem Sie den Agenten ausführen.

.\bin\fluent-bit.exe -c C:\Program Files\logs-agent\etc\fluent-bit.conf

Der Agent startet und stellt eine Verbindung zum gewünschten Ziel her.

Einen Windows-Dienst erstellen

Windows-Dienste sind lang laufende Hintergrundprozesse und die bevorzugte Methode, um den Agenten unter Windows auszuführen.

Führen Sie die folgenden Schritte aus:

  1. Um den Agenten als Windows-Dienst zu registrieren, führen Sie den folgenden Befehl aus.

    Nach " binpath= ist ein einzelnes Leerzeichen erforderlich.

    sc.exe create fluent-bit binpath= "C:\Program Files\logs-agent\bin\fluent-bit.exe -c \"C:\Program Files\logs-agent\etc\fluent-bit.conf\""
    
  2. Für Agenten, die " IAMAPIKey zur Authentifizierung verwenden, erstellen Sie einen API-Schlüssel in der Registrierung für den " fluent-bit-Dienst.

    New-ItemProperty -Path "HKLM:\System\CurrentControlSet\Services\fluent-bit" -Name "Environment" -Value "IAM_API_KEY=<my_api_key>" -PropertyType MultiString
    
  3. Starten Sie den Windows-Dienst

    sc.exe start fluent-bit
    

Überprüfen Sie, ob die Protokolle an Ihr Ziel übermittelt werden

Führen Sie die folgenden Schritte aus:

  1. Rufen Sie die Web-UI für Ihre IBM Cloud Logs auf.

  2. Wenn Ihr Agent korrekt konfiguriert ist, können Sie die Protokolle über die Standard-Dashboard-Ansicht einsehen.