Condividi tramite


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.

  1. Accedere al portale di Azure con il proprio account Azure.

  2. In Cerca risorse, servizio e documentazione, digitare Gateway applicativo per contenitori e selezionare il nome del Gateway applicativo per contenitori.

  3. Selezionare Impostazioni di diagnostica in Monitoraggio.

  4. Selezionare Aggiungi impostazione di diagnostica.

  5. 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.

  6. Per salvare le impostazioni, fare clic su Save (Salva). Vedere l'esempio seguente:

    Configurare log di diagnostica

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"
}