Log di diagnostica del Gateway applicativo per contenitori
Informazioni su come risolvere i problemi comuni nel Gateway applicativo per contenitori.
È possibile monitorare le risorse del Gateway applicativo per contenitori di Azure nei modi seguenti:
Log: i log consentono di salvare o usare i dati delle prestazioni, di accesso e di altre tipologie da una risorsa a fini di monitoraggio.
Metriche: il Gateway applicativo per contenitori include diverse metriche che consentono di verificare che il sistema funzioni come previsto.
Log di diagnostica
In Azure, è possibile usare diversi tipi di log per gestire e risolvere i problemi del Gateway applicativo per contenitori. Alcuni di questi log sono accessibili tramite il portale. Tutti i log possono essere estratti dall'archiviazione BLOB di Azure e visualizzati in strumenti diversi, ad esempio i log di Monitoraggio di Azure, Excel e Power BI. L'elenco seguente contiene altre informazioni sui diversi tipi di log:
- Log attività: è possibile usare i log attività di Azure, chiamati in precedenza log operativi e log di controllo, per visualizzare tutte le operazioni inviate alla sottoscrizione di Azure e il relativo stato. Le voci dei log attività vengono raccolte per impostazione predefinita e possono essere visualizzate nel portale di Azure.
- Log di accesso: è possibile usare questo log per visualizzare i modelli di accesso al Gateway applicativo per contenitori e analizzare informazioni importanti. I dati includono indirizzo IP del chiamante, URL richiesto, latenza della risposta, codice restituito, byte in ingresso e in uscita. Un log di accesso viene raccolto ogni 60 secondi. I dati possono essere archiviati in un account di archiviazione specificato al momento dell'abilitazione della registrazione.
Configurare i log di accesso
Registrazione attività viene abilitata automaticamente per tutte le risorse di Resource Manager. È necessario abilitare la registrazione degli accessi per iniziare a raccogliere i dati disponibili tramite tali log. Per abilitare la registrazione, è possibile configurare le impostazioni di diagnostica in Monitoraggio di Azure.
Usare la procedura seguente per abilitare tutte le registrazioni in un account di archiviazione per il Gateway applicativo per contenitori tramite il portale di Azure. È necessario disporre di un account di archiviazione disponibile nella stessa area del Gateway applicativo per contenitori.
Accedere al portale di Azure con il proprio account Azure.
In Cerca risorse, servizio e documentazione, digitare Gateway applicativo per contenitori e selezionare il nome del Gateway applicativo per contenitori.
Selezionare Impostazioni di diagnostica in Monitoraggio.
Selezionare Aggiungi impostazione di diagnostica.
Immettere un Nome per l'impostazione di diagnostica (ad esempio agfc-logs), scegliere i log e le metriche da salvare e scegliere una destinazione, ad esempio Archivio in un account di archiviazione. Per salvare tutti i log, selezionare allLogs e AllMetrics.
Per salvare le impostazioni, fare clic su Save (Salva). Vedere l'esempio seguente:
Nota
Dopo l'abilitazione iniziale dei log di diagnostica, potrebbero essere necessarie fino a un'ora prima che i log siano disponibili nella destinazione selezionata.
Per altre informazioni ed esercitazioni sulla distribuzione di Monitoraggio di Azure, vedere Impostazioni di diagnostica in Monitoraggio di Azure.
Formato del log di accesso
Ogni voce del log di accesso nel Gateway applicativo per contenitori contiene le informazioni seguenti.
Valore | Descrizione |
---|---|
backendHost | Indirizzo della destinazione back-end con porta accodata. Ad esempio <ip>:<porta> |
backendIp | L'indirizzo IP del Gateway applicativo per contenitori di destinazione back-end a cui il proxy esegue la richiesta. |
backendPort | Numero di porta della destinazione back-end. |
backendResponseLatency | Tempo in millisecondi per ricevere il primo byte dal Gateway applicativo per contenitori alla destinazione back-end. |
backendTimeTaken | Tempo in millisecondi per la trasmissione della risposta dalla destinazione back-end al Gateway applicativo per contenitori. |
clientIp | Indirizzo IP del client che avvia la richiesta al front-end del Gateway applicativo per contenitori |
frontendName | Nome del front-end del Gateway applicativo per contenitori che ha ricevuto la richiesta dal client |
frontendPort | Numero di porta in cui la richiesta è stata ascoltata dal Gateway applicativo per contenitori |
frontendTLSFailureReason | Contiene informazioni sul motivo per cui la negoziazione TLS non è riuscita. Comunemente usato per comprendere le richieste di autenticazione non riuscite per l'autenticazione reciproca client |
frontendTLSPeerFingerprint | L’impronta digitale (identificazione personale) del certificato presentato da un client al front-end del gateway applicativo per contenitori |
hostName | Valore dell'intestazione host ricevuto dal client dal Gateway applicativo per contenitori |
httpMethod | Metodo HTTP della richiesta ricevuta dal client dal Gateway applicativo per contenitori in base a RFC 7231. |
httpStatusCode | Codice di stato HTTP restituito dal Gateway applicativo per contenitori al client |
httpVersion | Versione HTTP della richiesta ricevuta dal client dal Gateway applicativo per contenitori |
referrer | Intestazione referrer della richiesta ricevuta dal client dal Gateway applicativo per contenitori |
requestBodyBytes | Dimensioni in byte del payload del corpo della richiesta ricevuta dal client dal Gateway applicativo per contenitori |
requestHeaderBytes | Dimensioni in byte delle intestazioni della richiesta ricevuta dal client dal Gateway applicativo per contenitori |
requestUri | URI della richiesta ricevuta dal client dal Gateway applicativo per contenitori (tutto dopo <protocollo>://<host> dell'URL) |
responseBodyBytes | Dimensioni in byte del payload del corpo della risposta restituita al client dal Gateway applicativo per contenitori |
responseHeaderBytes | Dimensioni in byte delle intestazioni della risposta restituita al client dal Gateway applicativo per contenitori |
timeTaken | Tempo in millisecondi della richiesta del client ricevuta dal Gateway applicativo per contenitori e l'ultimo byte restituito al client dal Gateway applicativo per contenitori |
tlsCipher | Suite di crittografia TLS negoziata tra il client e il front-end del Gateway applicativo per contenitori |
tlsProtocol | Versione TLS negoziata tra il client e il front-end del Gateway applicativo per contenitori |
trackingId | GUID generato dal Gateway applicativo per contenitori per facilitare il rilevamento e il debug. Questo valore è correlato all'intestazione x-request-id restituita al client dal Gateway applicativo per contenitori. |
userAgent | Intestazione User-Agent della richiesta ricevuta dal client dal Gateway applicativo per contenitori |
Nota
I valori dei parametri della stringa di query, ad esempio "secret", "password", "pwd", "passwd", "key", "token", "pat", "accesskey", "accesstoken", "credential", "sas", "personalAccessToken" e "personal.access.token" registrati nel campo requestUri verranno sostituiti con un valore <redacted> per impedire la registrazione delle informazioni riservate. Questa opzione non è configurabile.
Di seguito è riportato un esempio del log di accesso generato in formato JSON in un account di archiviazione.
{
"category": "TrafficControllerAccessLog",
"operationName": "ReqRespLogs",
"properties": {
"backendHost": "10.1.0.15:80",
"backendIp": "10.1.0.15",
"backendPort": "80",
"backendResponseLatency": "2",
"backendTimeTaken": "-",
"clientIp": "xxx.xxx.xxx.xxx:52526",
"frontendName": "frontend-primary",
"frontendPort": "443",
"frontendTLSFailureReason": "-",
"frontendTLSPeerFingerprint": "2c01bbc93009ad1fc977fe9115fae7ad298b665f",
"hostName": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.fzXX.alb.azure.com",
"httpMethod": "GET",
"httpStatusCode": "200",
"httpVersion": "HTTP\/1.1",
"referer": "-",
"requestBodyBytes": "0",
"requestHeaderBytes": "223",
"requestUri": "\/index.php",
"responseBodyBytes": "91",
"responseHeaderBytes": "190",
"timeTaken": "2",
"tlsCipher": "TLS_AES_256_GCM_SHA384",
"tlsProtocol": "-",
"trackingId": "0ef125db-7fb7-48a0-b3fe-03fe0ffed873",
"userAgent": "curl\/7.81.0"
},
"resourceId": "/SUBSCRIPTIONS/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX/RESOURCEGROUPS/YYYYYY/PROVIDERS/MICROSOFT.SERVICENETWORKING/TRAFFICCONTROLLERS/ZZZZZZZ",
"time": "2023-07-22T06:26:58.895Z",
"location": "northcentralus"
}