Erfassung von Protokollen über HTTP-Endpunkte - CloudWatch Amazon-Protokolle

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Erfassung von Protokollen über HTTP-Endpunkte

Amazon CloudWatch Logs bietet HTTP-Endpunkte, mit denen Sie CloudWatch Protokolle mithilfe einfacher HTTP-POST-Anfragen direkt an Logs senden können. Diese Endpunkte unterstützen sowohl die SigV4-Authentifizierung als auch die Bearer-Token-Authentifizierung.

Wichtig

Wir empfehlen die Verwendung der SigV4-Authentifizierung für alle Produktionsworkloads, bei denen AWS eine SDK-Integration möglich ist. SigV4 verwendet kurzfristige Anmeldeinformationen und bietet die stärkste Sicherheitslage. Die Bearer-Token-Authentifizierung (API-Schlüssel) ist für Szenarien vorgesehen, in denen SigV4 nicht durchführbar ist, z. B. für Log-Forwarder von Drittanbietern, die die SDK-Integration nicht unterstützen. AWS Weitere Informationen finden Sie unter Alternativen zu langfristigen Zugriffsschlüsseln im IAM-Benutzerhandbuch.

CloudWatch Logs unterstützt die folgenden Endpunkte für die HTTP-Erfassung:

Endpoint Pfad Content-Type Format
OpenTelemetry Logs /v1/logs application/json oder application/x-protobuf OTLP-JSON oder Protobuf
HLC Logs /services/collector/event application/json HLC-Format
ND-JSON Logs /ingest/bulk application/json oder application/x-ndjson JSON
Structured JSON Logs /ingest/json application/json JSON-Objekt oder -Array

Gemeinsames Verhalten

Alle HTTP-Ingestion-Endpunkte weisen das folgende Verhalten auf:

Authentifizierung

Alle Endpunkte unterstützen sowohl die SigV4-Authentifizierung als auch die Bearer-Token-Authentifizierung:

  • Sigv4 (empfohlen) — Signierung mit AWS Standardsignatur Version 4. Verwenden Sie SigV4 immer dann, wenn Ihre Anwendung oder Infrastruktur das AWS SDK unterstützt oder Anfragen signieren kann. SigV4 verwendet kurzfristige Anmeldeinformationen und ist die sicherste Authentifizierungsmethode.

  • Bearer-Token — Verwenden Sie den Authorization: Bearer <ACWL token> Header.

Protokollgruppe und Protokollstream

  • Wird über Header bereitgestellt: x-aws-log-group und x-aws-log-stream

  • Abfrageparameter ?logGroup=<name>&logStream=<name> werden auch auf allen Endpunkten außer OTLP unterstützt.

  • Sie können nicht sowohl Abfrageparameter als auch Header für denselben Parameter verwenden.

  • Sowohl die Protokollgruppe als auch der Protokollstream sind erforderlich.

Antwort

  • Erfolg: HTTP 200 mit Körper {}

  • Fehler bei der Validierung: HTTP 400

  • Fehler bei der Authentifizierung: HTTP 401

Vergleich der Endpunkte für die HTTP-Erfassung

Feature HLC-Protokolle ND-JSON-Protokolle Strukturierte JSON-Protokolle OpenTelemetry Logs
Pfad /services/collector/event /ingest/bulk /ingest/json /v1/logs
Content-Type application/json application/json oder application/x-ndjson application/json application/json oder application/x-protobuf
Feld „Zeitstempel“ "time"(Sekunden) "timestamp"(Millisekunden) "timestamp"(Millisekunden) "timeUnixNano"(Nanosekunden)
Pflichtfelder "event" Keine Keine OTLP-Struktur () "resourceLogs"
Teilweise erfolgreiche Antwort Nein Ja Ja Ja
Unterstützung von Abfrageparametern Ja Ja Ja Nein (nur Kopfzeilen)
Metadaten der Entität Ja Ja Ja Nein
Akzeptiert Primitive Nein Ja Nein Nein
Zeilenbasiertes Parsen Nein Ja Nein Nein
Protobuf-Unterstützung Nein Nein Nein Ja
Header „Nach einem erneuten Versuch“ Nein Nein Nein Ja

Einen Endpunkt auswählen

  • Verwenden Sie das HLC-Format? Verwenden Sie HLC-Protokolle. Ihre vorhandenen HLC-Payloads funktionieren mit minimalen Änderungen.

  • Protokolle streamen? line-by-line Verwenden Sie ND-JSON-Protokolle. Am besten für Protokoll-Pipelines geeignet, die ein Ereignis pro Zeile ausgeben. Am flexibelsten — akzeptiert jeden JSON-Wertetyp.

  • Strukturierte JSON-Nutzlasten senden? Verwenden Sie strukturierte JSON-Protokolle. Am besten für Anwendungen geeignet, die wohlgeformte JSON-Objekte oder -Arrays erzeugen.

  • Benutzen Sie es bereits? OpenTelemetry Verwenden Sie OpenTelemetry Logs. Akzeptiert das OTLP-JSON- oder Protobuf-Format und unterstützt teilweise erfolgreiche Antworten mit Wiederholungssemantik.