BS-Befehlssammlung einrichten
Wenn Sie BS-Befehlsskripte auf Ihrem Management Agent-Host ausführen und die kontinuierliche Ausgabe der Befehle in Form von Logs in Oracle Log Analytics erfassen möchten, erstellen Sie ein eigenes Skript.
Themen:
Voraussetzungen für das Einrichten der BS-Befehlsausgabe
Führen Sie die folgenden erforderlichen Aufgaben aus, bevor Sie die Logerfassung einrichten:
-
Erstellen Sie ein benutzerdefiniertes Skript, das aus einem BS-Befehl besteht, dessen Ausgabe in Oracle Log Analytics als Logs erfasst werden kann. Die Ausgabe des STDOUTs des Skripts wird vom Agent als Payload an die Cloud gesendet. Bei der STDOUT-Payload kann es sich um einen einzelnen Logeintrag oder mehrere Logeinträge handeln. Stellen Sie sicher, dass der in der Oracle Log Analytics-Quelle verwendete Parser ihn parsen kann. Darüber hinaus muss das Skript Fehlerbedingungen verarbeiten und auf Voraussetzungen prüfen können.
Speichern Sie das benutzerdefinierte Skript im Ordner
agent_inst/state/laStorage/os_cmd/scriptsim Agent-Installationsordner. Der absolute Pfad zum Speichern des Skripts lautet daher:- Für Oracle Management Agent:
/opt/oracle/mgmt_agent/agent_inst/state/laStorage/os_cmd/scripts - Für Oracle Cloud Agent-Management Agent-Plug-in:
/var/lib/oracle-cloud-agent/plugins/oci-managementagent/polaris/agent_inst/state/laStorage/os_cmd/scripts
- Für Oracle Management Agent:
-
Um bestimmte Befehle im Skript ausführen zu können, müssen möglicherweise spezielle Dateiberechtigungen bereitgestellt werden. Konfigurieren Sie diese Berechtigungen manuell auf dem Agent-Host. Das Skript und alle anderen Befehle/Skripte, die das Skript ausführt, müssen die Berechtigung execute für den Management Agent-Benutzer besitzen.
Gesamtablauf zum Erfassen von BS-Befehlslogs
Im Folgenden werden allgemeine Aufgaben zum Erfassen der Ausgabe eines BS-Befehlsskripts aufgeführt:
-
Installieren Sie Management Agent auf dem Host, auf dem Sie die BS-Befehlsskripte ausführen möchten, und generieren Sie eine Ausgabe, die in Oracle Log Analytics erfasst werden muss. Siehe Kontinuierliche Logerfassung mit Management Agent einrichten.
-
Erstellen Sie eine Entity, um den Agent-Host in Oracle Log Analytics zu identifizieren. Die Entity muss sich auf demselben Host wie der Management Agent befinden, auf dem das Skript ausgeführt wird. Ausführung des Remote-BS-Befehls wird nicht unterstützt. In der Regel wird die Entity automatisch erstellt, wenn Sie den Management Agent installieren. Siehe Entity zur Darstellung der protokollierenden Ressource erstellen.
- Erstellen Sie einen Parser, der die Ausgabe des Skripts parsen kann. Dieser Parser muss in der Quelle verwendet werden, die im folgenden Schritt identifiziert wird. Siehe Parser erstellen.
- Identifizieren Sie eine vorhandene Quelle, oder erstellen Sie eine Logquelle vom Typ OS-Befehl. Siehe BS-Befehlsquelle erstellen.
- Prüfen Sie, ob die Agent-Collection-Eigenschaft customized_schedule so konfiguriert werden soll, dass das Erfassungsintervall der BS-Befehlserfassung festgelegt wird. Der Standardwert ist
30 seconds. Mit Agent-Collection-Eigenschaften können Sie den Plan auf Agent-, Quell-, Entity- oder Zuordnungsebene aktualisieren. Siehe Agent-Eigenschaften, die Sie ändern können und Agent-Eigenschaften ändern. -
Verknüpfen Sie die Entitys mit der Quelle, die Sie zuvor erstellt haben. Siehe Neue Quellen-Entity-Verknüpfung konfigurieren
Nachdem die Verknüpfung abgeschlossen ist, startet der Agent die Ausführung des BS-Befehls in regelmäßigen Abständen, das STDOUT des Befehls wird als Logdaten erfasst, und die Logdaten fließen in Oracle Log Analytics.
-
Zeigen Sie Logdaten im Log Explorer an, indem Sie die zuvor erstellte OS-Befehlsquelle auswählen. Siehe Logs nach Quellenattributen filtern.
Wenn die Logdaten nicht im Log Explorer angezeigt wurden, nachdem das Setup abgeschlossen ist, können Sie nach Warnungen zur Agent-Collection auf Probleme suchen. Die folgenden Warnungen beziehen sich speziell auf die Ausgabeerfassung von BS-Befehlen:
-
Ausführungsfehler bei externer Anwendung: Bei der Ausführung des Skripts ist ein Fehler aufgetreten, oder der BS-Befehl wird nicht unterstützt.
-
Externe Anwendung nicht gefunden: Skript nicht gefunden. Keine Lese-/Ausführungsberechtigungen für Skript.
Wichtige Faktoren, die beim Einrichten der BS-Befehlserfassung zu berücksichtigen sind
-
Verwenden Sie den vollständigen Pfad der Befehle in den Skripten. Beispiel: Verwenden Sie
/bin/sudoanstelle vonsudo. -
Die Skripte werden als derselbe Benutzer ausgeführt, als der Management Agent ausgeführt wird. Dies ist wichtig, wenn Sie Dateien im Skript lesen oder schreiben.
-
Die vom Skript in Standard-Out (STDOUT) und Standardfehler (STDERR) generierte Ausgabe wird als Text erfasst, um die Logeinträge zu extrahieren.
-
Die folgenden Wörter oder Präfixe werden im BS-Befehl oder im Skriptnamen nicht unterstützt:
sh,bash,csh,zsh,ksh,dash,cmd -
Die folgenden Zeichen werden im BS-Befehl oder im Skriptnamen nicht unterstützt:
|,&,;,>,< -
Die folgenden Traversalsequenzen des übergeordneten Verzeichnisses werden im BS-Befehl oder im Namen des Skripts nicht unterstützt:
/../oder\..\. Außerdem darf der BS-Befehl nicht mit/..oder\..enden. -
Die folgende Umgebungsvariable wird vom Agent an die Skripte übergeben. Sie können die Variable in den Skripten verwenden.
-
LA_SOURCE_COMMAND_ID: Dies ist die intern generierte Muster-ID des Befehls in der Logquelle. Es kann verwendet werden, um zwischen Skriptinstanzen zu unterscheiden, wenn dasselbe Skript in mehreren Befehlen angegeben ist.
-
BS-Befehlsquelle erstellen
Erstellen Sie diesen Quelltyp, um eine kontinuierliche Erfassung der Ausgabe einzurichten, indem Sie BS-Befehlsskripte auf dem Agent-Host in Form von Logs ausführen.
-
Öffnen Sie das Navigationsmenü, und klicken Sie auf Observability and Management. Klicken Sie unter Log Analytics auf Administration.
-
Die Administrationsressourcen werden im linken Navigationsbereich unter Administration aufgeführt. Klicken Sie auf Quellen.
Die Seite Quellen wird geöffnet. Klicken Sie auf Quelle erstellen.
-
Geben Sie im Feld Name den Namen der Quelle ein.
Fügen Sie optional eine Beschreibung hinzu.
-
Wählen Sie in der Liste Quelltyp die Option BS-Befehl aus.
-
Klicken Sie auf das Feld Entitytyp, und wählen Sie den Entitytyp für diese Logquelle aus. Wenn Sie diese Quelle später mit einer Entity verknüpfen, um die Logerfassung über den Management Agent zu aktivieren, sind nur Entitys dieses Typs für die Verknüpfung verfügbar. Eine Quelle kann einen oder mehrere Entitytypen aufweisen. Beachten Sie, dass sich die Entity auf demselben Host wie der Management Agent befinden muss, auf dem das Skript ausgeführt wird. Ausführung des Remote-BS-Befehls wird nicht unterstützt.
-
Klicken Sie auf das Feld Parser, und wählen Sie den relevanten Parsernamen aus, der die Felder in Ihren Logs am besten erfasst.
Die folgenden Parserfunktionen werden nicht unterstützt:
- Die Funktion "Headerdetails" wird nicht unterstützt, wenn JSON- oder XML-Blockgröße größer als 1 MB ist und der Header am Ende des Blocks oder Headers liegt, der den Body umschließt.
- Zeit-Offset
-
Verwenden Sie die Registerkarte Befehle, um die BS-Befehlsskripte und deren Details aufzunehmen, die auf dem Agent-Host ausgeführt werden müssen, um die Ausgabe in Form von Logs zu erfassen.
-
Befehl: Geben Sie den Pfad des BS-Befehlsskripts an, das auf dem Agent-Host gespeichert ist. Der Pfad muss relativ zum benutzerdefinierten Skriptordner sein. Das Feld "Befehl" darf keine übergeordneten Verzeichnisdurchlaufsequenzen
/../oder\..\enthalten. Befehl darf nicht mit/..oder\..enden.Beispielpfad:
Wenn der absolute Pfad des benutzerdefinierten Skripts
/opt/oracle/mgmt_agent/agent_inst/state/laStorage/os_cmd/scripts/user1scripts/my_script1.shlautet, geben Sie den Pfaduser1scripts/my_script1.shin diesem Feld an.Einzelheiten zum benutzerdefinierten BS-Befehlsskript und zum Speicherort auf dem Agent-Host finden Sie unter Voraussetzungen für das Einrichten der Erfassung der BS-Befehlsausgabe.
-
Argumente: Optional können Sie Argumente für das Skript angeben und jedes Argument durch ein Leerzeichen trennen.
-
Beschreibung: Optional können Sie eine aussagekräftige Beschreibung für diesen Befehl und eine Gruppe von Argumenten angeben.
Nachdem Sie Details zum BS-Befehlsskript angegeben haben, aktivieren Sie das Kontrollkästchen für die entsprechende Zeile, um das Setup zu aktivieren.
-
-
Fügen Sie Datenfilter hinzu. Siehe Datenfilter in Quellen verwenden.
-
Fügen Sie erweiterte Felder hinzu. Siehe Erweiterte Felder in Quellen verwenden.
-
Konfigurieren Sie Optionen für die Feldanreicherung. Siehe Feldanreicherungsoptionen konfigurieren.
-
Labels hinzufügen. Siehe Labels in Quellen verwenden.
-
Klicken Sie auf Speichern.