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à.
Log di accesso dell'Application Load Balancer
Elastic Load Balancing fornisce log di accesso che acquisiscono informazioni dettagliate sulle richieste inviate al tuo load balancer. Ogni log contiene informazioni come l'ora in cui è stata ricevuta la richiesta, l'indirizzo IP del client, le latenze, i percorsi delle richieste e le risposte del server. Puoi utilizzare questi log per analizzare i modelli di traffico e risolvere i problemi che potresti incontrare.
I log di accesso sono una funzionalità facoltativa di Elastic Load Balancing che viene disabilitata per impostazione predefinita. Dopo aver abilitato i log di accesso per il sistema di bilanciamento del carico, Elastic Load Balancing acquisisce i log e li archivia nel bucket Amazon S3 specificato come file compressi. Puoi disabilitare i log di accesso in qualsiasi momento.
Vengono addebitati i costi di archiviazione per Amazon S3, ma non per la larghezza di banda utilizzata da Elastic Load Balancing per inviare i file di log ad Amazon S3. Per ulteriori informazioni sui costi di storage, consulta Prezzi di Amazon S3
Indice
File di log di accesso
Elastic Load Balancing pubblica un file di log per ciascun nodo del sistema di bilanciamento del carico ogni 5 minuti. La consegna dei log è caratterizzata da consistenza finale. Il load balancer è in grado di consegnare più log per lo stesso periodo. In genere questo accade se il sito è a traffico elevato.
I nomi dei file di log di accesso utilizzano il formato seguente:
bucket
[/prefix
]/AWSLogs/aws-account-id
/elasticloadbalancing/region
/yyyy
/mm
/dd
/aws-account-id
_elasticloadbalancing_region
_app.load-balancer-id
_end-time
_ip-address
_random-string
.log.gz
- bucket
-
Nome del bucket S3.
- prefisso
-
(Facoltativo) Il prefisso (gerarchia logica) per il bucket. Il prefisso specificato non deve includere la stringa
AWSLogs
. Per ulteriori informazioni, consulta Organizzazione degli oggetti utilizzando i prefissi. AWSLogs
-
Aggiungiamo la parte del nome del file che inizia con
AWSLogs
dopo il nome del bucket e il prefisso facoltativo specificato. - aws-account-id
-
L'ID AWS dell'account del proprietario.
- Regione
-
La regione del load balancer e del bucket S3.
- yyyy/mm/dd
-
La data in cui il log è stato consegnato.
- load-balancer-id
-
L'ID risorsa del sistema di bilanciamento del carico. Se l'ID risorsa contiene barre (/), queste sono sostituite da punti (.).
- end-time
-
La data e l'ora di fine dell'intervallo dei log. Ad esempio, l'ora di fine 20140215T2340Z contiene le voci delle richieste effettuate tra le 23:35 e le 23:40 UTC o GMT.
- ip-address
-
L'indirizzo IP del nodo del load balancer che ha gestito la richiesta. Per un load balancer interno, si tratta di un indirizzo IP privato.
- random-string
-
Una stringa casuale generata dal sistema.
Di seguito è riportato un esempio di nome di file di log con un prefisso:
s3://amzn-s3-demo-logging-bucket/logging-prefix/AWSLogs/123456789012/elasticloadbalancing/us-east-2/2022/05/01/123456789012_elasticloadbalancing_us-east-2_app.my-loadbalancer.1234567890abcdef_20220215T2340Z_172.160.001.192_20sg8hgm.log.gz
Di seguito è riportato un esempio di nome di file di log senza un prefisso:
s3://amzn-s3-demo-logging-bucket/AWSLogs/123456789012/elasticloadbalancing/us-east-2/2022/05/01/123456789012_elasticloadbalancing_us-east-2_app.my-loadbalancer.1234567890abcdef_20220215T2340Z_172.160.001.192_20sg8hgm.log.gz
È possibile archiviare i file di log nel bucket per un periodo di tempo indeterminato, ma è anche possibile definire regole per il ciclo di vita di Amazon S3 per archiviare o eliminare automaticamente i file di log. Per ulteriori informazioni, consulta la gestione del ciclo di vita degli oggetti nella Guida per l'utente di Amazon S3.
Voci dei log di accesso
Elastic Load Balancing registra le richieste inviate al sistema di bilanciamento del carico, incluse le richieste mai arrivate alla destinazione. Ad esempio, se un client invia una richiesta errata o se non sono presenti destinazioni integre a rispondere alla richiesta, questa viene comunque registrata. Elastic Load Balancing non registra le richieste di controllo dell'integrità.
Ogni voce di registro contiene i dettagli di una singola richiesta (o connessione nel caso di WebSockets) effettuata al sistema di bilanciamento del carico. Infatti WebSockets, una voce viene scritta solo dopo la chiusura della connessione. Se non è possibile stabilire la connessione aggiornata, la voce è la medesima di una richiesta HTTP o HTTPS.
Importante
Elastic Load Balancing registra le richieste nel miglior modo possibile. Ti consigliamo di utilizzare i log di accesso per comprendere la natura delle richieste e non come resoconto completo di tutte le richieste.
Sintassi
La seguente tabella descrive, in ordine, i campi di una voce di un log di accesso. Tutti i campi sono delimitati da spazi. Quando ne vengono introdotti di nuovi, i campi vengono aggiunti alla fine della voce del log. Ti consigliamo di ignorare i campi inattesi alla fine della voce di log.
Campo | Descrizione |
---|---|
tipo |
Il tipo di richiesta o di connessione. I valori possibili sono i seguenti (ignora eventuali altri valori):
|
time |
L'ora in cui il sistema di bilanciamento del carico ha generato una risposta al client, nel formato ISO 8601. Perché WebSockets, questo è il momento in cui la connessione viene chiusa. |
elb |
L'ID risorsa del sistema di bilanciamento del carico. Se state analizzando le voci del registro di accesso, tenete presente che le risorse IDs possono contenere barre (/). |
client:port |
L'indirizzo IP e la porta del client che esegue la richiesta. Se il sistema di bilanciamento del carico ha un proxy, questo campo contiene l'indirizzo IP del proxy. |
target:port |
L'indirizzo IP e la porta della destinazione che ha elaborato la richiesta. Se il client non ha inviato una richiesta completa, il sistema di bilanciamento del carico non è in grado di inviare la richiesta a una destinazione e questo valore è impostato su -. Se la destinazione è una funzione Lambda, questo valore è impostato su -. Se la richiesta è bloccata da AWS WAF, questo valore è impostato su - e il valore di elb_status_code è impostato su 403. |
request_processing_time |
Il tempo totale trascorso (in secondi, con precisione al millisecondo) dal momento in cui il sistema di bilanciamento del carico ha ricevuto la richiesta al momento in cui l'ha inviata a una destinazione. Questo valore è impostato su -1 se il sistema di bilanciamento del carico non è in grado di inviare la richiesta a una destinazione. Questo può accadere se la destinazione chiude la connessione prima del timeout di inattività o se il client invia una richiesta errata. Questo valore può essere impostato su -1 anche se non è possibile stabilire una connessione TCP con la destinazione prima del raggiungimento del timeout di connessione TCP di 10 secondi. Se AWS WAF è abilitato per l'Application Load Balancer o il tipo di destinazione è una funzione Lambda, viene conteggiato il tempo impiegato dal client per inviare i dati richiesti per le richieste POST. |
target_processing_time |
Il tempo totale trascorso (in secondi, con precisione al millisecondo) dal momento in cui il sistema di bilanciamento del carico ha inviato la richiesta a una destinazione fino a quando la destinazione non ha iniziato a inviare le intestazioni di risposta. Questo valore è impostato su -1 se il sistema di bilanciamento del carico non è in grado di inviare la richiesta a una destinazione. Questo può accadere se la destinazione chiude la connessione prima del timeout di inattività o se il client invia una richiesta errata. Questo valore può anche essere impostata su -1 se la destinazione registrata non risponde prima del timeout di inattività. Se non AWS WAF è abilitato per l'Application Load Balancer, viene conteggiato il tempo impiegato dal client per inviare i dati richiesti per le richieste POST. |
response_processing_time |
Il tempo totale trascorso (in secondi, con precisione al millisecondo) dal momento in cui il sistema di bilanciamento del carico ha ricevuto l'intestazione di risposta dalla destinazione finché non ha iniziato a inviare la risposta al client. Sono inclusi sia il tempo di inserimento nella coda del load balancer che il tempo di acquisizione della connessione dal load balancer al client. Questo valore è impostato su -1 se il sistema di bilanciamento del carico non riceve una risposta da una destinazione. Questo può accadere se la destinazione chiude la connessione prima del timeout di inattività o se il client invia una richiesta errata. |
elb_status_code |
Il codice di stato della risposta generata dal load balancer, dalla regola di risposta fissa o dal codice di risposta AWS WAF personalizzato per le azioni di blocco. |
target_status_code |
Il codice di stato della risposta dalla destinazione. Questo valore viene registrato solo se è stata stabilita una connessione con la destinazione e quest'ultima ha inviato una risposta. Altrimenti il valore è impostato su -. |
received_bytes |
Le dimensioni della richiesta, in byte, ricevuta dal client (richiedente). Per le richieste HTTP, sono incluse le intestazioni. Infatti WebSockets, questo è il numero totale di byte ricevuti dal client sulla connessione. |
sent_bytes |
Le dimensioni della risposta, in byte, inviata al client (richiedente). Per le richieste HTTP, questo include le intestazioni e il corpo della risposta. Infatti WebSockets, questo è il numero totale di byte inviati al client durante la connessione. Le intestazioni TCP e il payload di handshake TLS non vengono conteggiati e non hanno alcuna correlazione con in. |
"request" |
La richiesta di riga dal client, tra virgolette doppie e registrata utilizzando il formato: metodo HTTP + protocollo://host:port/uri + versione HTTP. Il load balancer conserva l'URL inviato dal client così com'è quando registra l'URI della richiesta. Non imposta il tipo di contenuto per il file di log di accesso. Quando elabori questo campo, considera in che modo il client ha inviato l'URL. |
"user_agent" |
Una stringa utente-agente che identifica il client che ha originato la richiesta, racchiusa tra virgolette doppie. La stringa è composta da uno o più identificatori di prodotto, prodotto[/versione]. Se la stringa è più lunga di 8 KB viene troncata. |
ssl_cipher |
[Listener HTTPS] La crittografia SSL. Questo valore è impostato su - se il listener non è un listener HTTPS. |
ssl_protocol |
[Listener HTTPS] Il protocollo SSL. Questo valore è impostato su - se il listener non è un listener HTTPS. |
target_group_arn |
L'Amazon Resource Name (ARN) del gruppo di destinazioni. |
"trace_id" |
Il contenuto dell'intestazione X-Amzn-Trace-Id, racchiuso tra virgolette doppie. |
"domain_name" |
[Listener HTTPS] Il dominio SNI fornito dal client durante l'handshake TLS, racchiuso tra virgolette doppie. Questo valore viene impostato su - se il client non supporta SNI o il dominio non corrisponde a un certificato e il certificato predefinito viene presentato al client. |
"chosen_cert_arn" |
[Listener HTTPS] L'ARN del certificato presentato al client, racchiuso tra virgolette doppie. Questo valore è impostato su |
matched_rule_priority |
Il valore di priorità della regola che corrisponde alla richiesta. Se era presente una regola corrispondente, si tratta di un valore da 1 a 50.000. Se non erano presenti regole corrispondenti ed è stata effettuata l'operazione predefinita, il valore è impostato su 0. Se si verifica un errore durante la valutazione delle regole, il valore è impostato su -1; per qualsiasi altro errore, è impostato su -. |
request_creation_time |
L'ora in cui il sistema di bilanciamento del carico ha ricevuto la richiesta dal client, nel formato ISO 8601. |
"actions_executed" |
Le operazioni effettuate durante l'elaborazione della richiesta, racchiuse tra virgolette doppie. Questo valore è un elenco separato da virgole che può includere i valori descritti in Operazioni intraprese. Se non è stata effettuata alcuna operazione, come per una richiesta errata, il valore è impostato su -. |
"redirect_url" |
L'URL della destinazione di reindirizzamento per l'intestazione Location della risposta HTTP, racchiuso tra virgolette doppie. Se non è stata effettuata alcuna operazione di reindirizzamento, il valore è impostato su -. |
"error_reason" |
Il codice di motivo errore, racchiuso tra virgolette doppie. Se la richiesta non è riuscita, si tratta di uno dei codici di errore descritti in Codici dei motivi degli errori. Se le azioni intraprese non includono un’operazione di autenticazione o il target non è una funzione Lambda, questo valore è impostato su - . |
"target:port_list" |
Un elenco delimitato da spazi di indirizzi IP e porte per le destinazioni che hanno elaborato questa richiesta, racchiuse tra virgolette doppie. Attualmente, questo elenco può contenere un elemento e corrisponde al campo target:port. Se il client non ha inviato una richiesta completa, il sistema di bilanciamento del carico non è in grado di inviare la richiesta a una destinazione e questo valore è impostato su -. Se la destinazione è una funzione Lambda, questo valore è impostato su -. Se la richiesta è bloccata da AWS WAF, questo valore è impostato su - e il valore di elb_status_code è impostato su 403. |
"target_status_code_list" |
Un elenco delimitato da spazi di codici di stato dalle risposte delle destinazioni, racchiuse tra virgolette doppie. Attualmente, questo elenco può contenere un elemento e corrisponde al campo target_status_code. Questo valore viene registrato solo se è stata stabilita una connessione con la destinazione e quest'ultima ha inviato una risposta. Altrimenti il valore è impostato su -. |
"classification" |
La classificazione della mitigazione della desincronizzazione, racchiusa tra virgolette doppie. Se la richiesta non è conforme a RFC 7230, i valori possibili sono Accettabile, Ambiguo e Grave. Se la richiesta è conforme a RFC 7230, questo valore è impostato su -. |
"classification_reason" |
Il codice del motivo della classificazione, racchiuso tra virgolette doppie. Se la richiesta non è conforme a RFC 7230, si tratta di uno dei codici di classificazione descritti in Motivi della classificazione. Se la richiesta è conforme a RFC 7230, questo valore è impostato su -. |
conn_trace_id |
L'ID di tracciabilità della connessione è un ID opaco univoco utilizzato per identificare ogni connessione. Dopo aver stabilito una connessione con un client, le richieste successive di questo client conterranno questo ID nelle rispettive voci del registro di accesso. Questo ID funge da chiave esterna per creare un collegamento tra la connessione e i log di accesso. |
Operazioni intraprese
Il sistema di bilanciamento del carico archivia le operazioni intraprese nel campo actions_executed del log di accesso.
-
authenticate
: il sistema di bilanciamento del carico ha convalidato la sessione, autenticato l'utente e aggiunto le informazioni dell'utente alle intestazioni della richiesta, come specificato dalla configurazione della regola. -
fixed-response
: il sistema di bilanciamento del carico ha generato una risposta fissa, come specificato dalla configurazione della regola. -
forward
: il sistema di bilanciamento del carico ha inoltrato la richiesta a una destinazione, come specificato dalla configurazione della regola. -
redirect
: il sistema di bilanciamento del carico ha reindirizzato la richiesta a un altro URL, come specificato dalla configurazione della regola. -
waf
: il sistema di bilanciamento del carico ha inoltrato la richiesta a AWS WAF per determinare se la richiesta deve essere inoltrata alla destinazione. Se questa è l'azione finale, AWS WAF stabilisce che la richiesta deve essere rifiutata. Per impostazione predefinita, le richieste rifiutate da AWS WAF verranno registrate come «403" nel campo.elb_status_code
Se AWS WAF è configurato per rifiutare le richieste con un codice di risposta personalizzato, ilelb_status_code
campo rifletterà il codice di risposta configurato. -
waf-failed
— Il sistema di bilanciamento del carico ha tentato di inoltrare la richiesta a AWS WAF, ma questo processo non è riuscito.
Motivi della classificazione
Se una richiesta non è conforme a RFC 7230, il sistema di bilanciamento del carico archivia uno dei seguenti codici nel campo classification_reason del log di accesso. Per ulteriori informazioni, consulta Modalità di mitigazione della desincronizzazione.
Codice | Descrizione | Classificazione |
---|---|---|
|
L'URI della richiesta contiene caratteri di controllo. |
Ambiguo |
|
L'intestazione Content-Length contiene un valore che non può essere analizzato o non è un numero valido. |
Grave |
|
Un'intestazione contiene un carattere nullo o un'andata a capo. |
Grave |
|
L'intestazione Transfer-Encoding contiene un valore non valido. |
Grave |
|
L'URI della richiesta contiene un carattere nullo o un'andata a capo. |
Grave |
|
Il formato del metodo di richiesta è errato. |
Grave |
|
Il formato della versione della richiesta è errato. |
Grave |
|
La richiesta contiene sia un'intestazione Transfer-Encoding che un'intestazione Content-Length. |
Ambiguo |
|
Esistono più intestazioni Content-Length con lo stesso valore. |
Ambiguo |
|
Un'intestazione è vuota o c'è una riga con solo spazi. |
Ambiguo |
|
Esiste un'intestazione Content-Length con un valore pari a 0 per una richiesta GET o HEAD. |
Accettabile |
|
Esistono più intestazioni Content-Length con valori diversi. |
Grave |
|
Esistono più Transfer-Encoding: intestazioni a blocchi. |
Grave |
|
Un'intestazione contiene un carattere non ASCII o di controllo. |
Accettabile |
|
La versione della richiesta contiene un valore non valido. |
Accettabile |
|
L'URI della richiesta contiene uno spazio che non ha codifica URL. |
Accettabile |
|
C'è un'intestazione che può essere normalizzata per Transfer-Encoding o Content-Length utilizzando tecniche comuni di normalizzazione del testo. |
Ambiguo |
|
La richiesta contiene sia un'intestazione Transfer-Encoding che un'intestazione Content-Length, di cui almeno una è sospetta. |
Grave |
|
Esiste un'intestazione Content-Length definita per una richiesta GET o HEAD. |
Ambiguo |
|
Esiste un'intestazione Transfer-Encoding definita per una richiesta GET o HEAD. |
Ambiguo |
Codici dei motivi degli errori
Se il sistema di bilanciamento del carico non può completare un’operazione di autenticazione, il sistema di bilanciamento del carico archivia uno dei seguenti codici di motivo nel campo error_reason del log di accesso. Il load balancer incrementa anche la metrica corrispondente. CloudWatch Per ulteriori informazioni, consulta Autenticazione degli utenti tramite Application Load Balancer.
Codice | Descrizione | Parametro |
---|---|---|
|
Il cookie di autenticazione non è valido. |
|
|
Il codice per la concessione delle autorizzazioni dall’endpoint del token non è valido. |
|
|
Il token dell’ID non è valido. |
|
|
Il parametro dello stato non è valido. |
|
|
La risposta dall’endpoint del token non è valida. |
|
|
La risposta dall’endpoint di informazione dell’utente non è valida. |
|
|
La risposta di autenticazione dall’endpoint di autorizzazione non ha un parametro di query denominato “codice”. |
|
|
La risposta di autenticazione dall’endpoint di autorizzazione non ha un campo di intestazione host. |
|
|
La risposta di autenticazione dall’endpoint di autorizzazione non ha un campo di intestazione host. |
|
|
C’è una risposta di errore (non-2XX) dall’endpoint del token. |
|
|
Il load balancer non è in grado di comunicare con l'endpoint del token o l'endpoint del token non risponde entro 5 secondi. |
|
|
Il sistema di bilanciamento del carico ha incontrato un’eccezione non gestita. |
|
|
C’è una risposta di errore (non 2XX) dall’endpoint di informazione dell’utente IdP |
|
|
Il sistema di bilanciamento del carico non è in grado di comunicare con l'endpoint IdP user info oppure l'endpoint User Info non risponde entro 5 secondi. |
|
|
La dimensione delle richieste restituite dall’IdP supera i 11K byte. |
|
Se una richiesta a un gruppo di destinazioni ponderato ha esito negativo, il sistema di bilanciamento del carico archivia uno dei seguenti codici di errore nel campo error_reason del log di accesso.
Codice | Descrizione |
---|---|
|
Il AWSALBTG cookie, utilizzato con gruppi target ponderati, non è valido. Ad esempio, il bilanciamento del carico restituisce questo errore quando i valori dei cookie sono URL codificati. |
|
Il sistema di bilanciamento del carico ha incontrato un’eccezione non gestita. |
Se una richiesta a una funzione Lambda ha esito negativo, il sistema di bilanciamento del carico archivia uno dei seguenti codici di motivo nel campo error_reason del log di accesso. Il load balancer incrementa anche la metrica corrispondente. CloudWatch Per ulteriori informazioni, consultare l'operazione Lambda Invoke.
Codice | Descrizione | Parametro |
---|---|---|
|
Il sistema di bilanciamento del carico non aveva l'autorizzazione a chiamare la funzione Lambda. |
|
|
Invocazione Lambda non riuscita perché le intestazioni o il corpo della richiesta client non contenevano solo caratteri UTF-8. |
|
|
Il sistema di bilanciamento del carico non è in grado di connettersi a Lambda. |
|
|
Un tentativo di connessione a Lambda è scaduto. |
|
|
Amazon EC2 ha negato l'accesso a Lambda durante l'inizializzazione della funzione. |
|
|
Amazon ha EC2 limitato Lambda durante l'inizializzazione della funzione. |
|
|
Amazon EC2 ha riscontrato un'eccezione inaspettata durante l'inizializzazione della funzione. |
|
|
Lambda non è stato in grado di creare un'interfaccia di rete nel VPC specificato nella configurazione della funzione Lambda poiché è stato superato il limite di interfacce di rete. |
|
|
La risposta dalla funzione Lambda è errata o non sono presenti i campi obbligatori. |
|
|
La versione specificata del runtime di Lambda non è supportata. |
|
|
L'ID del gruppo di sicurezza specificato nella configurazione della funzione Lambda non è valido. |
|
|
L'ID della sottorete specificato nella configurazione della funzione Lambda non è valido. |
|
|
Lambda non è stato in grado di decomprimere il file zip della funzione specificato. |
|
|
Lambda non è stato in grado di decrittare le variabili di ambiente poiché è stato rifiutato l'accesso alla chiave KMS. Verifica le autorizzazioni KMS della funzione Lambda. |
|
|
Lambda non è stato in grado di decrittare le variabili di ambiente poiché la chiave KMS specificata è disabilitata. Verifica le autorizzazioni della chiave KMS della funzione Lambda. |
|
|
Lambda non è stato in grado di decrittare le variabili di ambiente poiché lo stato della chiave KMS non è valido. Verifica le autorizzazioni della chiave KMS della funzione Lambda. |
|
|
Lambda non è stato in grado di decrittare le variabili di ambiente poiché non è stata trovata la KMS. Verifica le autorizzazioni della chiave KMS della funzione Lambda. |
|
|
Le dimensioni del corpo della richiesta hanno superato 1 MB. |
|
|
La funzione Lambda non è stata trovata. |
|
|
Le dimensioni della risposta hanno superato 1 MB. |
|
|
Lambda ha riscontrato un errore interno. |
|
|
Lambda non è stato in grado di configurare l'accesso VPC per la funzione Lambda poiché una o più sottoreti non hanno indirizzi IP disponibili. |
|
|
La funzione Lambda è stata sottoposta a throttling a causa di troppe richieste. |
|
|
La funzione Lambda ha riscontrato un'eccezione non gestita. |
|
|
Il sistema di bilanciamento del carico ha incontrato un’eccezione non gestita. |
|
|
WebSockets non sono supportati con Lambda. |
|
Se il load balancer rileva un errore durante l'inoltro delle richieste a AWS WAF, memorizza uno dei seguenti codici di errore nel campo error_reason del log di accesso.
Codice | Descrizione |
---|---|
|
Il sistema AWS WAF di bilanciamento del carico non può connettersi a. |
|
La connessione a è AWS WAF scaduta. |
|
Una richiesta da AWS WAF scadere. |
|
AWS WAF ha restituito un errore 5XX. |
|
Il sistema di bilanciamento del carico ha incontrato un’eccezione non gestita. |
Voci di log di esempio
Di seguito sono riportati esempi di voci di log; Tieni presente che il testo appare su più linee solo per semplificarne la lettura.
Esempio di voce HTTP
Nell'esempio seguente viene mostrata una voce di log di un listener HTTP (da porta 80 a porta 80):
http 2018-07-02T22:23:00.186641Z app/my-loadbalancer/50dc6c495c0c9188
192.168.131.39:2817 10.0.0.1:80 0.000 0.001 0.000 200 200 34 366
"GET http://www.example.com:80/ HTTP/1.1" "curl/7.46.0" - -
arn:aws:elasticloadbalancing:us-east-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067
"Root=1-58337262-36d228ad5d99923122bbe354" "-" "-"
0 2018-07-02T22:22:48.364000Z "forward" "-" "-" "10.0.0.1:80" "200" "-" "-"
Esempio di voce HTTPS
Nell'esempio seguente viene mostrata una voce di log di un listener HTTPS (da porta 443 a porta 80):
https 2018-07-02T22:23:00.186641Z app/my-loadbalancer/50dc6c495c0c9188
192.168.131.39:2817 10.0.0.1:80 0.086 0.048 0.037 200 200 0 57
"GET https://www.example.com:443/ HTTP/1.1" "curl/7.46.0" ECDHE-RSA-AES128-GCM-SHA256 TLSv1.2
arn:aws:elasticloadbalancing:us-east-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067
"Root=1-58337281-1d84f3d73c47ec4e58577259" "www.example.com" "arn:aws:acm:us-east-2:123456789012:certificate/12345678-1234-1234-1234-123456789012"
1 2018-07-02T22:22:48.364000Z "authenticate,forward" "-" "-" "10.0.0.1:80" "200" "-" "-" TID_123456
Esempio di voce HTTP/2
Nell'esempio seguente viene mostrata una voce di log di un flusso HTTP/2
h2 2018-07-02T22:23:00.186641Z app/my-loadbalancer/50dc6c495c0c9188
10.0.1.252:48160 10.0.0.66:9000 0.000 0.002 0.000 200 200 5 257
"GET https://10.0.2.105:773/ HTTP/2.0" "curl/7.46.0" ECDHE-RSA-AES128-GCM-SHA256 TLSv1.2
arn:aws:elasticloadbalancing:us-east-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067
"Root=1-58337327-72bd00b0343d75b906739c42" "-" "-"
1 2018-07-02T22:22:48.364000Z "redirect" "https://example.com:80/" "-" "10.0.0.66:9000" "200" "-" "-"
Esempio WebSockets di inserimento
Di seguito è riportato un esempio di voce di registro per una WebSockets connessione.
ws 2018-07-02T22:23:00.186641Z app/my-loadbalancer/50dc6c495c0c9188
10.0.0.140:40914 10.0.1.192:8010 0.001 0.003 0.000 101 101 218 587
"GET http://10.0.0.30:80/ HTTP/1.1" "-" - -
arn:aws:elasticloadbalancing:us-east-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067
"Root=1-58337364-23a8c76965a2ef7629b185e3" "-" "-"
1 2018-07-02T22:22:48.364000Z "forward" "-" "-" "10.0.1.192:8010" "101" "-" "-"
Esempio di immissione protetta WebSockets
Di seguito è riportato un esempio di voce di registro per una connessione protetta WebSockets.
wss 2018-07-02T22:23:00.186641Z app/my-loadbalancer/50dc6c495c0c9188
10.0.0.140:44244 10.0.0.171:8010 0.000 0.001 0.000 101 101 218 786
"GET https://10.0.0.30:443/ HTTP/1.1" "-" ECDHE-RSA-AES128-GCM-SHA256 TLSv1.2
arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067
"Root=1-58337364-23a8c76965a2ef7629b185e3" "-" "-"
1 2018-07-02T22:22:48.364000Z "forward" "-" "-" "10.0.0.171:8010" "101" "-" "-"
Esempio di voci delle funzioni Lambda
Nell'esempio seguente viene mostrata una voce di log di una richiesta a una funzione Lambda che ha avuto esito positivo:
http 2018-11-30T22:23:00.186641Z app/my-loadbalancer/50dc6c495c0c9188
192.168.131.39:2817 - 0.000 0.001 0.000 200 200 34 366
"GET http://www.example.com:80/ HTTP/1.1" "curl/7.46.0" - -
arn:aws:elasticloadbalancing:us-east-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067
"Root=1-58337364-23a8c76965a2ef7629b185e3" "-" "-"
0 2018-11-30T22:22:48.364000Z "forward" "-" "-" "-" "-" "-" "-"
Nell'esempio seguente viene mostrata una voce di log di una richiesta a una funzione Lambda che ha avuto esito negativo:
http 2018-11-30T22:23:00.186641Z app/my-loadbalancer/50dc6c495c0c9188
192.168.131.39:2817 - 0.000 0.001 0.000 502 - 34 366
"GET http://www.example.com:80/ HTTP/1.1" "curl/7.46.0" - -
arn:aws:elasticloadbalancing:us-east-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067
"Root=1-58337364-23a8c76965a2ef7629b185e3" "-" "-"
0 2018-11-30T22:22:48.364000Z "forward" "-" "LambdaInvalidResponse" "-" "-" "-" "-"
Elaborazione dei file di log di accesso
I file di log di accesso sono compressi. Se scarichi i file, li devi decomprimere per visualizzare le informazioni.
Se il sito Web ha notevole quantità di domanda, il tuo load balancer può generare i file di log con i gigabyte di dati. Potresti non essere in grado di elaborare una quantità così grande di dati utilizzando l' line-by-lineelaborazione. Pertanto, potresti dover utilizzare gli strumenti di analisi che offrono soluzioni di elaborazione parallela. Ad esempio, puoi utilizzare i seguenti strumenti per analizzare ed elaborare i log di accesso:
-
Amazon Athena è un servizio di query interattivo che semplifica l'analisi dei dati in Amazon S3 con SQL standard. Per ulteriori informazioni, consulta la sezione relativa all'Esecuzione di query nei log di Application Load Balancer nella Guida per l'utente di Amazon Athena.