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.Das Token muss ein gültiges ACWL-Bearer-Token sein. Anweisungen zur Einrichtung finden Sie unter. Einrichtung der Bearer-Token-Authentifizierung
Erfordert die
logs:PutLogEventsundlogs:CallWithBearerTokenIAM-Berechtigungen.
Protokollgruppe und Protokollstream
Wird über Header bereitgestellt:
x-aws-log-groupundx-aws-log-streamAbfrageparameter
?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 200mit Körper{}Fehler bei der Validierung:
HTTP 400Fehler 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.