Wie verwende ich einen Splunk-Protokolltreiber mit einer Amazon ECS-Aufgabe auf Fargate?
Ich möchte einen Splunk-Protokolltreiber mit einer Amazon Elastic Container Service (Amazon ECS)-Aufgabe auf AWS Fargate verwenden
Kurzbeschreibung
Du kannst den Splunk-Protokolltreiber, der in Fargate auch als "logging driver," bezeichnet wird, aus Docker verwenden, um die Container-Protokolle an den Enterprise Splunk-Protokollsammler oder Splunk Cloud zu senden.
Lösung
Die Splunk Cloud-Umgebung für den Empfang von Fargate-Logs einrichten
- Verwende die kostenlose Splunk-Option, um ein Splunk Cloud-Konto zu erstellen. Wenn du bereits ein Splunk Cloud-Konto hast, fahre mit Schritt 2 fort. Weitere Informationen findest du unter Kostenloses Splunk auf der Splunk-Website.
- Melde dich beim Splunk Cloud-Konto an.
Hinweis: Nachdem du ein Konto erstellt hast, verwende die Splunk Cloud-URL, den Benutzernamen und das Passwort, um sich anzumelden. - Wähle im Navigationsmenü Einstellungen.
- Wähle im Abschnitt DATEN die Option Dateneingaben.
- Wähle im Abschnitt Lokale Eingaben in der Spalte Aktionen die Option Neu hinzufügen.
Hinweis: Du erstellst ein HTTP Event Collector (HEC)-Token, damit du Daten und Anwendungsereignisse über HTTP- und Secure HTTP (HTTPS)-Protokolle an eine Splunk-Bereitstellung senden kannst. - Gib unter Name einen Namen für das Token ein, und wähle dann Weiter.
- Gehe die restlichen Seiten des Setup-Assistenten durch und wähle dann Senden, um das HEC-Token zu erstellen.
Hinweis: Du kannst die Standardwerte beibehalten. - Teste das neue Token entweder mit curl oder Docker.
Hinweis: Standardmäßig lauscht Splunk auf Port 8088 und akzeptiert Ereignisse im Pfad /services/collector.
curl:
Hinweis: Ersetze splunk-token durch das HEC-Token, das du zuvor erstellt hast.curl -k https://prd-p-9l79p.splunkcloud.com:8088/services/collector -H "Authorization: Splunk splunk-token" -d '{"event": "Put this message in Splunk"}'
Docker:docker run --publish 80:80 --log-driver=splunk --log-opt splunk-token=splunk token --log-opt splunk-url=https://prd-p-u7z1u.splunkcloud.com:8088 --log-opt splunk-insecureskipverify=true --log-opt splunk-sourcetype=docker-test --log-opt splunk-index=main nginx
Hinweis: Ersetze splunk-token durch das HEC-Token, das du zuvor erstellt hast.
AWS Secrets Manager für die Verwendung des HEC-Tokens konfigurieren
**Hinweis:**Wenn bei der Ausführung von AWS Command Line Interface (AWS CLI)-Befehlen Fehler auftreten, findest du weitere Informationen unter Troubleshoot AWS CLI errors. Stelle außerdem sicher, dass du die neueste Version der AWS CLI verwendest.
Führe den folgenden Befehl aus, um das HEC-Token in Secrets Manager zu speichern, damit Fargate das Token sicher verwenden kann:
aws secretsmanager create-secret --name splunk-token --secret-string token-value
Hinweis: Ersetze splunk-token durch das HEC-Token. Ersetze token-value durch den Token-Wert.
Eine Aufgabenausführungsrolle mit der Berechtigung, auf Geheimnisse zuzugreifen konfigurieren
- Öffne die AWS Identity and Access Management (IAM)-Konsole.
- Wähle im Navigationsbereich Rollen.
- Suche in der Rollenliste nach ecsTaskExecutionRole und wähle es.
- Wähle Inline-Richtlinie hinzufügen.
- Wähle die Registerkarte JSON des Editors und gib dann die folgende Richtlinie ein:
Hinweis: Wenn du einen benutzerdefinierten AWS Key Management Service (AWS KMS)-Schlüssel verwendest, um die Geheimnisse zu verschlüsseln, gib die kms:Decrypt-Berechtigung und den Amazon-Ressourcennamen (ARN) für den KMS-Schlüssel an.{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "secretsmanager:GetSecretValue", "kms:Decrypt" ], "Resource": [ "arn:aws:secretsmanager:<region>:<aws_account_id>:secret:<secret_name>", "arn:aws:kms:<region>:<aws_account_id>:key/<key_id>" ] } ] } - Wähle Richtlinie überprüfen.
- Geben Sie unter Name einen Namen für Ihre Richtlinie ein.
- Wähle Richtlinie erstellen.
Die Aufgabendefinition für die Amazon ECS-Aufgabe auf Fargate konfigurieren
- Öffne die Amazon-ECS-Konsole.
- Wähle im Navigationsbereich im Abschnitt Amazon ECS die Option Aufgabendefinitionen.
- Wähle Neue Aufgabendefinition erstellen.
- Wähle Fargate und dann Nächster Schritt.
- Gib im Abschnitt Konfigurieren von Aufgaben- und Containerdefinitionen unter Name der Aufgabendefinition einen Namen für deine Aufgabendefinition ein.
- Wähle für Aufgabenrolle die Rolle, die du zuvor konfiguriert hast.
- Gib im Abschnitt Aufgabengröße für Aufgabenspeicher (GB) und Aufgaben-CPU (vCPU) die entsprechenden Werte für die Aufgaben ein.
- Wähle im Abschnitt Container-Definitionen die Option Container hinzufügen.
- Wähle die entsprechenden Optionen für die Container-Anforderungen.
- Wähle im Drop-down-Menü im Abschnitt Protokollierung die Option Protokolle nach Splunk exportieren aus.
- Gib für die Schlüssel- und Wertoptionen unter Protokolloptionen Folgendes ein:
Schlüssel: splunk-url
Wert: Der Splunk-Endpunkt (Zum Beispiel: https://prd-p-9l79p.splunkcloud.com:8088/)
Schlüssel: splunk-insecureskipverify
Wert: Wahr
Schlüssel: splunk-token
valueFrom: Der geheime ARN, den du zuvor erstellt hast - Wähle Hinzufügen.
Hinweis: Weitere Informationen zu Code und Konfigurationen für Splunk findest du unter splunk.go auf GitHub und in den Splunk-Optionen auf der Docker-Website. - Um die Aufgabendefinition zu erstellen, wähle Erstellen.
- Erstelle einen Amazon ECS-Service oder führe eine Aufgabe aus, die die zuvor erstellte Aufgabendefinition verwendet.
Protokolle in Splunk Cloud überprüfen
Bevor du die Protokolle in Splunk Cloud überprüfst, stelle sicher, dass die Aufgabe ausgeführt wird.
Hinweis: Da du in der Protokollkonfiguration keinen splunk-index angegeben hast, gehe die Protokolle standardmäßig zu splunk-index im Index Haupt.
- Stelle eine Verbindung zum Splunk Cloud-Konto her.
- Wähle im Navigationsmenü Suche.
- Gib index="main" in das Suchfeld ein.
Hinweis: Du kannst den vorherigen Schritten folgen, um in Amazon ECS eine Aufgabendefinition für einen Starttyp von Amazon ElasticCompute Cloud (Amazon EC2) zu erstellen. Anschließend kannst du den Splunk-Protokolltreiber von jeder der ECS-Aufgaben aus verwenden, um die Protokolle an den Splunk-Protokollsammler zu senden.
Ähnliche Informationen
- Themen
- Containers
- Sprache
- Deutsch

Relevanter Inhalt
AWS OFFICIALAktualisiert vor einem Jahr
AWS OFFICIALAktualisiert vor einem Jahr