Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Invio di registri utilizzando l'endpoint HLC (registri HLC)
L'endpoint HLC Logs () si basa sul formato HTTP Log Collector (HLC/services/collector/event).
Se utilizzi l'autenticazione con token bearer, completa i passaggi di configurazione prima di procedere. Configurazione dell'autenticazione con token al portatore
Modalità di input
Ogni evento è un oggetto JSON con un "event" campo obbligatorio. Campi di metadati opzionali:"time",,"host","source","sourcetype". "index"
Evento singolo:
{"event":"Hello world!","time":1486683865.0}
Matrice di eventi JSON:
[ {"event":"msg1","time":1486683865.0}, {"event":"msg2","time":1486683866.0} ]
Eventi concatenati/in batch (nessun array wrapper):
{"event":"msg1","time":1486683865.0}{"event":"msg2","time":1486683866.0}
Campo evento (obbligatorio)
Il "event" campo è obbligatorio. Il suo valore può essere di qualsiasi tipo JSON:
{"event":"a string message"} {"event":{"message":"structured data","severity":"INFO"}} {"event":42} {"event":true}
Gli oggetti senza "event" campo vengono ignorati silenziosamente:
{"message":"this is skipped — no event field"}
Campo orario (opzionale)
Il "time" campo è in secondi epocali (non in millisecondi), con decimali opzionali per una precisione inferiore al secondo.
| Formato | Esempio | Interpretato come |
|---|---|---|
| Float | "time":1486683865.500 |
1486683865500 ms |
| Numero intero | "time":1486683865 |
1486683865000 ms |
| Stringa (float) | "time":"1486683865.500" |
1486683865500 ms |
| Stringa (numero intero) | "time":"1486683865" |
1486683865000 ms |
| Mancante | (nessun campo temporale) | Ora corrente del server |
| Non valido | "time":"invalid" |
Ora corrente del server |
Content-Type
application/jsonÈ accettata solo.
Tipi di valori JSON accettati
| Tipo di primo livello | Comportamento |
|---|---|
Oggetto con "event" |
Accettato |
Oggetto senza "event" |
Saltato |
| Matrice di oggetti | Ogni elemento è stato elaborato singolarmente |
| Oggetti concatenati | Ogni oggetto viene elaborato singolarmente |
| Primitiva (stringa, numero, booleano, nullo) | Saltato |
Formato dell'endpoint
L'URL dell'endpoint HLC segue questo formato:
https://logs.<region>.amazonaws.com/services/collector/event?logGroup=<name>&logStream=<name>[&entityName=<name>&entityEnvironment=<environment>]
Parametri richiesti:
<region>— AWS Regione (ad esempious-east-1,eu-west-1)logGroup— nome del gruppo di log con codifica URLlogStream— nome del flusso di log con codifica URL
Parametri opzionali:
Facoltativamente, è possibile associare gli eventi di registro a un'Serviceentità includendo i seguenti parametri di query. Poiché i log inviati tramite l'endpoint HLC sono telemetria personalizzata, non vengono associati automaticamente a un'entità. Fornendo questi parametri, CloudWatch Logs crea un'entità con KeyAttributes.Type set to Service e la associa ai tuoi eventi di registro. Ciò consente alla funzionalità relativa a Explore di CloudWatch correlare questi log con altri dati di telemetria (metriche, tracce e registri) dello stesso servizio, semplificando la risoluzione dei problemi e il monitoraggio delle applicazioni su diversi tipi di segnale. Per ulteriori informazioni sulle entità e sulla relativa telemetria, vedere Aggiungere informazioni correlate alla telemetria personalizzata.
entityName— Il nome dell'entità di servizio da associare agli eventi del registro. Questo valore viene memorizzato come entitàKeyAttributes.Name(ad esempio,my-applicationoapi.myservice.com).entityEnvironment— L'ambiente in cui è ospitato il servizio o a cosa appartiene. Questo valore viene memorizzato come entitàKeyAttributes.Environment(ad esempioproduction,ec2:default, oeks:my-cluster/default).
Formato della richiesta
Invia i log utilizzando HTTP POST con le intestazioni e il testo seguenti:
Intestazioni:
Authorization: Bearer <your-bearer-token>Content-Type: application/json
Formato del corpo:
Il corpo della richiesta deve essere in formato JSON con una serie di eventi:
{ "event": [ { "time": 1730141374.001, "event": "Application started successfully", "host": "web-server-1", "source": "application.log", "severity": "info" }, { "time": 1730141374.457, "event": "User login successful", "host": "web-server-1", "source": "auth.log", "user": "john.doe" } ] }
Descrizioni dei campi:
time— Timestamp Unix epoch in secondi, con decimale opzionale per una precisione inferiore al secondo (opzionale)event— Il messaggio di registro o i dati dell'evento (obbligatorio)host— Nome host o identificatore di origine (opzionale)source— Identificatore di origine del registro (opzionale)
Se necessario, è possibile includere campi personalizzati aggiuntivi.
Richiesta di esempio
curl -X POST "https://logs.<region>.amazonaws.com/services/collector/event?logGroup=MyLogGroup&logStream=MyStream" \ -H "Authorization: Bearer ACWL<token>" \ -H "Content-Type: application/json" \ -d '{"event":{"message":"User logged in","user_id":"u-123"},"time":1486683865.0,"host":"web-01","source":"auth-service"}'
Best practice
Eventi di raggruppamento
Per prestazioni ed efficienza migliori:
Batch di più eventi in un'unica richiesta, quando possibile
Dimensione del batch consigliata: 10—100 eventi per richiesta
Dimensione massima della richiesta: 1 MB
Gestione degli errori
Implementa una corretta gestione degli errori nell'applicazione. Codici di stato HTTP comuni:
200 OK— Registri inseriti con successo400 Bad Request— Formato o parametri di richiesta non validi401 Unauthorized— Token al portatore non valido o scaduto403 Forbidden— Autorizzazioni insufficienti404 Not Found— Il gruppo o lo stream di log non esiste429 Too Many Requests— Limite di velocità superato500 Internal Server Error— Errore di servizio (nuovo tentativo con backoff esponenziale)
Limitazioni
Dimensione massima dell'evento: 256 KB per evento
Dimensione massima della richiesta: 1 MB
Numero massimo di eventi per richiesta: 10.000
I nomi dei gruppi di log devono seguire le convenzioni di denominazione CloudWatch dei log
L'autenticazione con token portatore deve essere abilitata nel gruppo di log se viene utilizzata l'autenticazione con token portatore.