Zapasowe dzienniki kondycji i diagnostyczne dla Application GatewayBack-end health and diagnostic logs for Application Gateway

Zasoby usługi Azure Application Gateway można monitorować w następujący sposób:You can monitor Azure Application Gateway resources in the following ways:

  • Kondycja zaplecza: Application Gateway zapewnia możliwość monitorowania kondycji serwerów w pulach zaplecza za pomocą Azure Portal i za pomocą programu PowerShell.Back-end health: Application Gateway provides the capability to monitor the health of the servers in the back-end pools through the Azure portal and through PowerShell. Kondycję pul zaplecza można również znaleźć za pomocą dzienników diagnostycznych wydajności.You can also find the health of the back-end pools through the performance diagnostic logs.

  • Dzienniki: dzienniki umożliwiają zapisywanie lub zużywanie danych z zasobów na potrzeby monitorowania.Logs: Logs allow for performance, access, and other data to be saved or consumed from a resource for monitoring purposes.

  • Metryki: Application Gateway ma kilka metryk, które pomagają sprawdzić, czy system działa zgodnie z oczekiwaniami.Metrics: Application Gateway has several metrics which help you verify that your system is performing as expected.

Uwaga

Ten artykuł został zaktualizowany o korzystanie z modułu Azure Az programu PowerShell.This article has been updated to use the Azure Az PowerShell module. Moduł Az programu PowerShell jest zalecanym modułem programu PowerShell na potrzeby interakcji z platformą Azure.The Az PowerShell module is the recommended PowerShell module for interacting with Azure. Aby rozpocząć pracę z modułem Azure PowerShell, zobacz Instalowanie programu Azure PowerShell.To get started with the Az PowerShell module, see Install Azure PowerShell. Aby dowiedzieć się, jak przeprowadzić migrację do modułu Az PowerShell, zobacz Migracja programu Azure PowerShell z modułu AzureRM do modułu Az.To learn how to migrate to the Az PowerShell module, see Migrate Azure PowerShell from AzureRM to Az.

Kondycja zapleczaBack-end health

Application Gateway zapewnia możliwość monitorowania kondycji poszczególnych członków pul zaplecza za pomocą portalu, programu PowerShell i interfejsu wiersza polecenia (CLI).Application Gateway provides the capability to monitor the health of individual members of the back-end pools through the portal, PowerShell, and the command-line interface (CLI). Zagregowane podsumowanie kondycji pul zaplecza można również znaleźć za pomocą dzienników diagnostycznych wydajności.You can also find an aggregated health summary of back-end pools through the performance diagnostic logs.

Raport kondycji zaplecza odzwierciedla dane wyjściowe sondy kondycji Application Gateway do wystąpień zaplecza.The back-end health report reflects the output of the Application Gateway health probe to the back-end instances. Po pomyślnym przeprowadzeniu sondowania i zaplecze może odbierać ruch, jest on traktowany jako zdrowy.When probing is successful and the back end can receive traffic, it's considered healthy. W przeciwnym razie jest uznawane za złej kondycji.Otherwise, it's considered unhealthy.

Ważne

Jeśli w podsieci Application Gateway istnieje sieciowa Grupa zabezpieczeń (sieciowej grupy zabezpieczeń), Otwórz zakres portów 65503-65534 dla jednostek SKU w wersji 1 i 65200-65535 dla wersji 2 jednostek SKU w podsieci Application Gateway dla ruchu przychodzącego.If there is a network security group (NSG) on an Application Gateway subnet, open port ranges 65503-65534 for v1 SKUs, and 65200-65535 for v2 SKUs on the Application Gateway subnet for inbound traffic. Ten zakres portów jest wymagany w przypadku komunikacji infrastruktury platformy Azure.This port range is required for Azure infrastructure communication. Są one zabezpieczone (zablokowane) z użyciem certyfikatów Azure.They are protected (locked down) by Azure certificates. Bez odpowiednich certyfikatów, jednostki zewnętrzne, w tym klienci tych bram, nie będą mogły inicjować żadnych zmian w tych punktach końcowych.Without proper certificates, external entities, including the customers of those gateways, will not be able to initiate any changes on those endpoints.

Wyświetlanie kondycji zaplecza za pomocą portaluView back-end health through the portal

W portalu kondycja zaplecza jest dostarczana automatycznie.In the portal, back-end health is provided automatically. W istniejącej bramie aplikacji wybierz pozycję monitorowanie > kondycja zaplecza.In an existing application gateway, select Monitoring > Backend health.

Każdy element członkowski w puli zaplecza znajduje się na tej stronie (niezależnie od tego, czy jest to karta sieciowa, adres IP czy nazwa FQDN).Each member in the back-end pool is listed on this page (whether it's a NIC, IP, or FQDN). Wyświetlana jest Nazwa puli zaplecza, port, nazwa ustawień protokołu HTTP zaplecza i stan kondycji.Back-end pool name, port, back-end HTTP settings name, and health status are shown. Prawidłowe wartości kondycji są zdrowe, złej kondycji i nieznane.Valid values for health status are Healthy, Unhealthy, and Unknown.

Uwaga

Jeśli widzisz stan kondycji zaplecza nieznany, upewnij się, że dostęp do zaplecza nie jest blokowany przez regułę sieciowej grupy zabezpieczeń, zdefiniowaną przez użytkownika trasę (UDR) lub niestandardową usługę DNS w sieci wirtualnej.If you see a back-end health status of Unknown, ensure that access to the back end is not blocked by an NSG rule, a user-defined route (UDR), or a custom DNS in the virtual network.

Kondycja zaplecza

Wyświetlanie kondycji zaplecza za poorednictwem programu PowerShellView back-end health through PowerShell

Poniższy kod programu PowerShell przedstawia sposób wyświetlania kondycji zaplecza przy użyciu Get-AzApplicationGatewayBackendHealth polecenia cmdlet:The following PowerShell code shows how to view back-end health by using the Get-AzApplicationGatewayBackendHealth cmdlet:

Get-AzApplicationGatewayBackendHealth -Name ApplicationGateway1 -ResourceGroupName Contoso

Wyświetlanie kondycji zaplecza za pomocą interfejsu wiersza polecenia platformy AzureView back-end health through Azure CLI

az network application-gateway show-backend-health --resource-group AdatumAppGatewayRG --name AdatumAppGateway

WynikiResults

Poniższy fragment kodu przedstawia przykład odpowiedzi:The following snippet shows an example of the response:

{
"BackendAddressPool": {
    "Id": "/subscriptions/00000000-0000-0000-000000000000/resourceGroups/ContosoRG/providers/Microsoft.Network/applicationGateways/applicationGateway1/backendAddressPools/appGatewayBackendPool"
},
"BackendHttpSettingsCollection": [
    {
    "BackendHttpSettings": {
        "Id": "/00000000-0000-0000-000000000000/resourceGroups/ContosoRG/providers/Microsoft.Network/applicationGateways/applicationGateway1/backendHttpSettingsCollection/appGatewayBackendHttpSettings"
    },
    "Servers": [
        {
        "Address": "hostname.westus.cloudapp.azure.com",
        "Health": "Healthy"
        },
        {
        "Address": "hostname.westus.cloudapp.azure.com",
        "Health": "Healthy"
        }
    ]
    }
]
}

Dzienniki diagnostyczneDiagnostic logs

Za pomocą różnych typów dzienników na platformie Azure można zarządzać bramami aplikacji i rozwiązywać problemy.You can use different types of logs in Azure to manage and troubleshoot application gateways. Niektóre z tych dzienników są dostępne za pośrednictwem portalu.You can access some of these logs through the portal. Wszystkie dzienniki można wyodrębnić z usługi Azure Blob Storage i przeglądać je w różnych narzędziach, takich jak dzienniki Azure monitor, Excel i Power BI.All logs can be extracted from Azure Blob storage and viewed in different tools, such as Azure Monitor logs, Excel, and Power BI. Więcej informacji o różnych typach dzienników można znaleźć na poniższej liście:You can learn more about the different types of logs from the following list:

  • Dziennik aktywności: możesz użyć dzienników aktywności platformy Azure (znanych wcześniej jako dzienników operacyjnych i dzienników inspekcji), aby wyświetlić wszystkie operacje przesyłane do subskrypcji platformy Azure oraz ich stan.Activity log: You can use Azure activity logs (formerly known as operational logs and audit logs) to view all operations that are submitted to your Azure subscription, and their status. Wpisy dziennika aktywności są zbierane domyślnie i można je wyświetlać w witrynie Azure Portal.Activity log entries are collected by default, and you can view them in the Azure portal.
  • Dziennik dostępu: można użyć tego dziennika do wyświetlania wzorców dostępu Application Gateway i analizowania ważnych informacji.Access log: You can use this log to view Application Gateway access patterns and analyze important information. Dotyczy to adresu IP wywołującego, żądanego adresu URL, opóźnienia odpowiedzi, kodu powrotu i liczby bajtów. Dziennik dostępu jest zbierany co 60 sekund.This includes the caller's IP, requested URL, response latency, return code, and bytes in and out. An access log is collected every 60 seconds. Ten dziennik zawiera jeden rekord na wystąpienie Application Gateway.This log contains one record per instance of Application Gateway. Wystąpienie Application Gateway jest identyfikowane przez właściwość instanceId.The Application Gateway instance is identified by the instanceId property.
  • Dziennik wydajności: można użyć tego dziennika, aby zobaczyć, jak działają wystąpienia Application Gateway.Performance log: You can use this log to view how Application Gateway instances are performing. Ten dziennik przechwytuje informacje o wydajności dla każdego wystąpienia, w tym łączne obsłużone żądania, przepływność w bajtach, Łączna Liczba obsłużonych żądań, liczbę żądań zakończonych niepowodzeniem oraz liczbę wystąpień zaplecza w złej kondycji i złej jakości.This log captures performance information for each instance, including total requests served, throughput in bytes, total requests served, failed request count, and healthy and unhealthy back-end instance count. Dziennik wydajności jest zbierany co 60 sekund.A performance log is collected every 60 seconds. Dziennik wydajności jest dostępny tylko dla jednostki SKU w wersji 1.The Performance log is available only for the v1 SKU. W przypadku jednostki SKU v2 Użyj metryk dla danych wydajności.For the v2 SKU, use Metrics for performance data.
  • Dziennik zapory: można użyć tego dziennika, aby wyświetlić żądania, które są rejestrowane w trybie wykrywania lub zapobiegania bramie aplikacji skonfigurowanej za pomocą zapory aplikacji sieci Web.Firewall log: You can use this log to view the requests that are logged through either detection or prevention mode of an application gateway that is configured with the web application firewall. Dzienniki zapory są zbierane co 60 sekund.Firewall logs are collected every 60 seconds.

Uwaga

Dzienniki są dostępne tylko dla zasobów wdrożonych w modelu wdrażania Azure Resource Manager.Logs are available only for resources deployed in the Azure Resource Manager deployment model. Nie można używać dzienników dla zasobów w klasycznym modelu wdrażania.You cannot use logs for resources in the classic deployment model. Aby lepiej zrozumieć dwa modele, zapoznaj się z artykułem dotyczącym wdrażania i wdrażania klasycznego Menedżer zasobów .For a better understanding of the two models, see the Understanding Resource Manager deployment and classic deployment article.

Masz trzy opcje przechowywania dzienników:You have three options for storing your logs:

  • Konto magazynu: konta magazynu najlepiej sprawdzają się w przypadku dzienników przechowywanych przez dłuższy czas i przeglądanych w razie potrzeby.Storage account: Storage accounts are best used for logs when logs are stored for a longer duration and reviewed when needed.
  • Centra zdarzeń: Centra zdarzeń to doskonałe rozwiązanie umożliwiające integrację z innymi narzędziami do zarządzania informacjami i zdarzeniami zabezpieczeń (Siem) w celu uzyskania alertów dotyczących zasobów.Event hubs: Event hubs are a great option for integrating with other security information and event management (SIEM) tools to get alerts on your resources.
  • Azure monitor Logs: dzienniki Azure monitor najlepiej sprawdzają się w czasie rzeczywistym monitorowania aplikacji lub patrząc na trendy.Azure Monitor logs: Azure Monitor logs is best used for general real-time monitoring of your application or looking at trends.

Włączanie rejestrowania za poorednictwem programu PowerShellEnable logging through PowerShell

Rejestrowanie aktywności jest automatycznie włączone dla wszystkich zasobów usługi Resource Manager.Activity logging is automatically enabled for every Resource Manager resource. Aby rozpocząć zbieranie danych dostępnych w tych dziennikach, należy włączyć funkcję rejestrowania dostępu i wydajności.You must enable access and performance logging to start collecting the data available through those logs. Aby włączyć rejestrowanie, wykonaj następujące czynności:To enable logging, use the following steps:

  1. Zanotuj identyfikator zasobu konta magazynu, w ramach którego są przechowywane dane dzienników.Note your storage account's resource ID, where the log data is stored. Ta wartość ma postać:/subscriptions/ <subscriptionId> /ResourceGroups/ <resource group name> /providers/Microsoft.Storage/storageAccounts/ <storage account name> .This value is of the form: /subscriptions/<subscriptionId>/resourceGroups/<resource group name>/providers/Microsoft.Storage/storageAccounts/<storage account name>. Użyć możesz dowolnego konta magazynu w ramach subskrypcji.You can use any storage account in your subscription. Te informacje możesz znaleźć w witrynie Azure Portal.You can use the Azure portal to find this information.

    Portal: Identyfikator zasobu dla konta magazynu

  2. Zanotuj identyfikator zasobu bramy aplikacji, dla którego jest włączone rejestrowanie.Note your application gateway's resource ID for which logging is enabled. Ta wartość ma postać:/subscriptions/ <subscriptionId> /ResourceGroups/ <resource group name> /providers/Microsoft.Network/applicationGateways/ <application gateway name> .This value is of the form: /subscriptions/<subscriptionId>/resourceGroups/<resource group name>/providers/Microsoft.Network/applicationGateways/<application gateway name>. Te informacje możesz znaleźć w portalu.You can use the portal to find this information.

    Portal: Identyfikator zasobu dla usługi Application Gateway

  3. Włącz rejestrowanie diagnostyczne przy użyciu następującego polecenia cmdlet programu PowerShell:Enable diagnostic logging by using the following PowerShell cmdlet:

    Set-AzDiagnosticSetting  -ResourceId /subscriptions/<subscriptionId>/resourceGroups/<resource group name>/providers/Microsoft.Network/applicationGateways/<application gateway name> -StorageAccountId /subscriptions/<subscriptionId>/resourceGroups/<resource group name>/providers/Microsoft.Storage/storageAccounts/<storage account name> -Enabled $true     
    

Porada

Dzienniki aktywności nie wymagają oddzielnego konta magazynu.Activity logs do not require a separate storage account. Użycie magazynu na potrzeby rejestrowania danych o dostępie i wydajności powoduje naliczenie opłat za usługę.The use of storage for access and performance logging incurs service charges.

Włączanie rejestrowania za pośrednictwem witryny Azure PortalEnable logging through the Azure portal

  1. W Azure Portal Znajdź zasób i wybierz pozycję Ustawienia diagnostyczne.In the Azure portal, find your resource and select Diagnostic settings.

    W przypadku Application Gateway dostępne są trzy dzienniki:For Application Gateway, three logs are available:

    • Dziennik dostępuAccess log
    • Dziennik wydajnościPerformance log
    • Dziennik zaporyFirewall log
  2. Aby rozpocząć zbieranie danych, wybierz pozycję Włącz diagnostykę.To start collecting data, select Turn on diagnostics.

    Włączanie diagnostyki

  3. Strona Ustawienia diagnostyczne zawiera ustawienia dzienników diagnostycznych.The Diagnostics settings page provides the settings for the diagnostic logs. W tym przykładzie Log Analytics przechowuje dzienniki.In this example, Log Analytics stores the logs. Na potrzeby zapisywania dzienników diagnostycznych można także skorzystać z usługi Event Hubs i konta magazynu.You can also use event hubs and a storage account to save the diagnostic logs.

    Rozpoczynanie procesu konfiguracji

  4. Wpisz nazwę ustawień, Potwierdź ustawienia, a następnie wybierz pozycję Zapisz.Type a name for the settings, confirm the settings, and select Save.

Dziennik aktywnościActivity log

Platforma Azure domyślnie generuje dziennik aktywności.Azure generates the activity log by default. Dzienniki są przechowywane przez 90 dni w magazynie dzienników zdarzeń platformy Azure.The logs are preserved for 90 days in the Azure event logs store. Dowiedz się więcej o tych dziennikach, odczytując artykuł Wyświetlanie zdarzeń i dziennika aktywności .Learn more about these logs by reading the View events and activity log article.

Dziennik dostępuAccess log

Dziennik dostępu jest generowany tylko wtedy, gdy włączono go na każdym wystąpieniu Application Gateway, zgodnie z opisem w poprzednich krokach.The access log is generated only if you've enabled it on each Application Gateway instance, as detailed in the preceding steps. Dane są przechowywane na koncie magazynu określonym podczas włączania rejestrowania.The data is stored in the storage account that you specified when you enabled the logging. Każdy dostęp do Application Gateway jest rejestrowany w formacie JSON, jak pokazano poniżej.Each access of Application Gateway is logged in JSON format as shown below.

Dla Application Gateway w wersji Standard i WAF (wersja 1)For Application Gateway Standard and WAF SKU (v1)

WartośćValue OpisDescription
instanceIdinstanceId Application Gateway wystąpienie, które obsłużyło żądanie.Application Gateway instance that served the request.
clientIPclientIP Adres IP pochodzący od żądania.Originating IP for the request.
clientPortclientPort Port źródłowy żądania.Originating port for the request.
httpMethodhttpMethod Metoda HTTP używana przez żądanie.HTTP method used by the request.
requestUrirequestUri Identyfikator URI odebranego żądania.URI of the received request.
RequestQueryRequestQuery Serwer — rozesłane: wystąpienie puli zaplecza, które wysłało żądanie.Server-Routed: Back-end pool instance that was sent the request.
X-AzureApplicationGateway-log-ID: identyfikator korelacji używany dla żądania.X-AzureApplicationGateway-LOG-ID: Correlation ID used for the request. Może służyć do rozwiązywania problemów z ruchem na serwerach zaplecza.It can be used to troubleshoot traffic issues on the back-end servers.
Serwer-stan: kod odpowiedzi HTTP otrzymany Application Gateway od zaplecza.SERVER-STATUS: HTTP response code that Application Gateway received from the back end.
UserAgentUserAgent Agent użytkownika z nagłówka żądania HTTP.User agent from the HTTP request header.
Wartości httpStatushttpStatus Kod stanu HTTP zwrócony do klienta z Application Gateway.HTTP status code returned to the client from Application Gateway.
httpVersionhttpVersion Wersja protokołu HTTP żądania.HTTP version of the request.
HmasterreceivedBytes Rozmiar odebranego pakietu w bajtach.Size of packet received, in bytes.
HmastersentBytes Rozmiar wysłanego pakietu, w bajtach.Size of packet sent, in bytes.
timeTakentimeTaken Czas (w milisekundach), przez jaki trwa przetwarzanie żądania i jego odpowiedź do wysłania.Length of time (in milliseconds) that it takes for a request to be processed and its response to be sent. Ta wartość jest obliczana jako interwał od momentu, gdy Application Gateway otrzymuje pierwszy bajt żądania HTTP do momentu zakończenia operacji wysyłania odpowiedzi.This is calculated as the interval from the time when Application Gateway receives the first byte of an HTTP request to the time when the response send operation finishes. Należy pamiętać, że pole Time-Taken zwykle obejmuje czas, w którym pakiety żądań i odpowiedzi są przesyłane przez sieć.It's important to note that the Time-Taken field usually includes the time that the request and response packets are traveling over the network.
sslEnabledsslEnabled Czy komunikacja z pulami zaplecza korzysta z protokołu TLS/SSL.Whether communication to the back-end pools used TLS/SSL. Prawidłowe wartości są włączone i wyłączone.Valid values are on and off.
hosthost Nazwa hosta, za pomocą którego żądanie zostało wysłane do serwera wewnętrznej bazy danych.The hostname with which the request has been sent to the backend server. Jeśli nazwa hosta zaplecza jest zastępowana, będzie to miało odzwierciedlenie.If backend hostname is being overridden, this name will reflect that.
originalHostoriginalHost Nazwa hosta, za pomocą którego żądanie zostało odebrane przez Application Gateway od klienta.The hostname with which the request was received by the Application Gateway from the client.
{
    "resourceId": "/SUBSCRIPTIONS/{subscriptionId}/RESOURCEGROUPS/PEERINGTEST/PROVIDERS/MICROSOFT.NETWORK/APPLICATIONGATEWAYS/{applicationGatewayName}",
    "operationName": "ApplicationGatewayAccess",
    "time": "2017-04-26T19:27:38Z",
    "category": "ApplicationGatewayAccessLog",
    "properties": {
        "instanceId": "ApplicationGatewayRole_IN_0",
        "clientIP": "191.96.249.97",
        "clientPort": 46886,
        "httpMethod": "GET",
        "requestUri": "/phpmyadmin/scripts/setup.php",
        "requestQuery": "X-AzureApplicationGateway-CACHE-HIT=0&SERVER-ROUTED=10.4.0.4&X-AzureApplicationGateway-LOG-ID=874f1f0f-6807-41c9-b7bc-f3cfa74aa0b1&SERVER-STATUS=404",
        "userAgent": "-",
        "httpStatus": 404,
        "httpVersion": "HTTP/1.0",
        "receivedBytes": 65,
        "sentBytes": 553,
        "timeTaken": 205,
        "sslEnabled": "off",
        "host": "www.contoso.com",
        "originalHost": "www.contoso.com"
    }
}

Dla Application Gateway i WAF v2 SKUFor Application Gateway and WAF v2 SKU

WartośćValue OpisDescription
instanceIdinstanceId Application Gateway wystąpienie, które obsłużyło żądanie.Application Gateway instance that served the request.
clientIPclientIP Adres IP pochodzący od żądania.Originating IP for the request.
httpMethodhttpMethod Metoda HTTP używana przez żądanie.HTTP method used by the request.
requestUrirequestUri Identyfikator URI odebranego żądania.URI of the received request.
UserAgentUserAgent Agent użytkownika z nagłówka żądania HTTP.User agent from the HTTP request header.
Wartości httpStatushttpStatus Kod stanu HTTP zwrócony do klienta z Application Gateway.HTTP status code returned to the client from Application Gateway.
httpVersionhttpVersion Wersja protokołu HTTP żądania.HTTP version of the request.
HmasterreceivedBytes Rozmiar odebranego pakietu w bajtach.Size of packet received, in bytes.
HmastersentBytes Rozmiar wysłanego pakietu, w bajtach.Size of packet sent, in bytes.
timeTakentimeTaken Czas (w sekundach) trwania żądania do przetworzenia i odpowiedź do wysłania.Length of time (in seconds) that it takes for a request to be processed and its response to be sent. Ta wartość jest obliczana jako interwał od momentu, gdy Application Gateway otrzymuje pierwszy bajt żądania HTTP do momentu zakończenia operacji wysyłania odpowiedzi.This is calculated as the interval from the time when Application Gateway receives the first byte of an HTTP request to the time when the response send operation finishes. Należy pamiętać, że pole Time-Taken zwykle obejmuje czas, w którym pakiety żądań i odpowiedzi są przesyłane przez sieć.It's important to note that the Time-Taken field usually includes the time that the request and response packets are traveling over the network.
sslEnabledsslEnabled Czy komunikacja z pulami zaplecza była używana w protokole TLS.Whether communication to the back-end pools used TLS. Prawidłowe wartości są włączone i wyłączone.Valid values are on and off.
sslCiphersslCipher Mechanizm szyfrowania używany do komunikacji TLS (Jeśli protokół TLS jest włączony).Cipher suite being used for TLS communication (if TLS is enabled).
sslProtocolsslProtocol Używany protokół SSL/TLS (Jeśli protokół TLS jest włączony).SSL/TLS protocol being used (if TLS is enabled).
serverRoutedserverRouted Serwer zaplecza, do którego Brama aplikacji kieruje żądanie.The backend server that application gateway routes the request to.
serverStatusserverStatus Kod stanu HTTP serwera wewnętrznej bazy danych.HTTP status code of the backend server.
serverResponseLatencyserverResponseLatency Opóźnienie odpowiedzi z serwera wewnętrznej bazy danych.Latency of the response from the backend server.
hosthost Adres podany w nagłówku hosta żądania.Address listed in the host header of the request. Jeśli ponownie Zapisano przy użyciu ponownego zapisu nagłówka, to pole zawiera zaktualizowaną nazwę hostaIf rewritten using header rewrite, this field contains the updated host name
originalRequestUriWithArgsoriginalRequestUriWithArgs To pole zawiera pierwotny adres URL żądaniaThis field contains the original request URL
requestUrirequestUri To pole zawiera adres URL po operacji ponownego zapisu na Application GatewayThis field contains the URL after the rewrite operation on Application Gateway
originalHostoriginalHost To pole zawiera oryginalną nazwę hosta żądaniaThis field contains the original request host name
{
    "resourceId": "/SUBSCRIPTIONS/{subscriptionId}/RESOURCEGROUPS/PEERINGTEST/PROVIDERS/MICROSOFT.NETWORK/APPLICATIONGATEWAYS/{applicationGatewayName}",
    "operationName": "ApplicationGatewayAccess",
    "time": "2017-04-26T19:27:38Z",
    "category": "ApplicationGatewayAccessLog",
    "properties": {
        "instanceId": "appgw_1",
        "clientIP": "191.96.249.97",
        "httpMethod": "GET",
        "requestUri": "/phpmyadmin/scripts/setup.php",
        "userAgent": "-",
        "httpStatus": 404,
        "httpVersion": "HTTP/1.0",
        "receivedBytes": 65,
        "sentBytes": 553,
        "timeTaken": 205,
        "sslEnabled": "off",
        "sslCipher": "",
        "sslProtocol": "",
        "serverRouted": "104.41.114.59:80",
        "serverStatus": "200",
        "serverResponseLatency": "0.023",
        "host": "www.contoso.com",
    }
}

Dziennik wydajnościPerformance log

Dziennik wydajności jest generowany tylko wtedy, gdy włączono go na każdym wystąpieniu Application Gateway, zgodnie z opisem w poprzednich krokach.The performance log is generated only if you have enabled it on each Application Gateway instance, as detailed in the preceding steps. Dane są przechowywane na koncie magazynu określonym podczas włączania rejestrowania.The data is stored in the storage account that you specified when you enabled the logging. Dane dziennika wydajności są generowane w 1-minutowych interwałach.The performance log data is generated in 1-minute intervals. Jest on dostępny tylko dla jednostki SKU w wersji 1.It is available only for the v1 SKU. W przypadku jednostki SKU v2 Użyj metryk dla danych wydajności.For the v2 SKU, use Metrics for performance data. Rejestrowane są następujące dane:The following data is logged:

WartośćValue OpisDescription
instanceIdinstanceId Application Gateway wystąpienie, dla którego są generowane dane wydajności.Application Gateway instance for which performance data is being generated. W przypadku bramy aplikacji o wielu wystąpieniach istnieje jeden wiersz dla każdego wystąpienia.For a multiple-instance application gateway, there is one row per instance.
healthyHostCounthealthyHostCount Liczba hostów w dobrej kondycji w puli zaplecza.Number of healthy hosts in the back-end pool.
unHealthyHostCountunHealthyHostCount Liczba hostów w złej kondycji w puli zaplecza.Number of unhealthy hosts in the back-end pool.
requestCountrequestCount Liczba obsłużonych żądań.Number of requests served.
opóźnienielatency Średnie opóźnienie (w milisekundach) żądań z wystąpienia do zaplecza, który obsługuje żądania.Average latency (in milliseconds) of requests from the instance to the back end that serves the requests.
failedRequestCountfailedRequestCount Liczba żądań zakończonych niepowodzeniem.Number of failed requests.
danychthroughput Średnia przepływność od ostatniego dziennika, mierzona w bajtach na sekundę.Average throughput since the last log, measured in bytes per second.
{
    "resourceId": "/SUBSCRIPTIONS/{subscriptionId}/RESOURCEGROUPS/{resourceGroupName}/PROVIDERS/MICROSOFT.NETWORK/APPLICATIONGATEWAYS/{applicationGatewayName}",
    "operationName": "ApplicationGatewayPerformance",
    "time": "2016-04-09T00:00:00Z",
    "category": "ApplicationGatewayPerformanceLog",
    "properties":
    {
        "instanceId":"ApplicationGatewayRole_IN_1",
        "healthyHostCount":"4",
        "unHealthyHostCount":"0",
        "requestCount":"185",
        "latency":"0",
        "failedRequestCount":"0",
        "throughput":"119427"
    }
}

Uwaga

Opóźnienie jest obliczane od momentu otrzymania pierwszego bajtu żądania HTTP do momentu wysłania ostatniego bajtu odpowiedzi HTTP.Latency is calculated from the time when the first byte of the HTTP request is received to the time when the last byte of the HTTP response is sent. Jest to suma Application Gateway czasu przetwarzania oraz koszt sieci do zaplecza oraz czas przetwarzania żądania przez zaplecze.It's the sum of the Application Gateway processing time plus the network cost to the back end, plus the time that the back end takes to process the request.

Dziennik zaporyFirewall log

Dziennik zapory jest generowany tylko wtedy, gdy włączono go dla każdej bramy aplikacji, zgodnie z opisem w poprzednich krokach.The firewall log is generated only if you have enabled it for each application gateway, as detailed in the preceding steps. Ten dziennik wymaga również, aby zapora aplikacji sieci Web została skonfigurowana na bramie aplikacji.This log also requires that the web application firewall is configured on an application gateway. Dane są przechowywane na koncie magazynu określonym podczas włączania rejestrowania.The data is stored in the storage account that you specified when you enabled the logging. Rejestrowane są następujące dane:The following data is logged:

WartośćValue OpisDescription
instanceIdinstanceId Wystąpienie Application Gateway, dla którego są generowane dane zapory.Application Gateway instance for which firewall data is being generated. W przypadku bramy aplikacji o wielu wystąpieniach istnieje jeden wiersz dla każdego wystąpienia.For a multiple-instance application gateway, there is one row per instance.
clientIpclientIp Adres IP pochodzący od żądania.Originating IP for the request.
clientPortclientPort Port źródłowy żądania.Originating port for the request.
requestUrirequestUri Adres URL otrzymanego żądania.URL of the received request.
Element rulesettyperuleSetType Typ zestawu reguł.Rule set type. Dostępna wartość to OWASP.The available value is OWASP.
Element rulesetversionruleSetVersion Używana wersja zestawu reguł.Rule set version used. Dostępne wartości to 2.2.9 i 3,0.Available values are 2.2.9 and 3.0.
ruleIdruleId Identyfikator reguły zdarzenia wyzwalającego.Rule ID of the triggering event.
messagemessage Przyjazny dla użytkownika komunikat dla zdarzenia wyzwalającego.User-friendly message for the triggering event. Więcej szczegółowych informacji znajduje się w sekcji Szczegóły.More details are provided in the details section.
akcjaaction Akcja podjęta na żądaniu.Action taken on the request. Dostępne wartości są dopasowywane i blokowane.Available values are Matched and Blocked.
lokacjasite Lokacja, dla której został wygenerowany dziennik.Site for which the log was generated. Obecnie tylko globalne są wyświetlane, ponieważ reguły są globalne.Currently, only Global is listed because rules are global.
uzyskaćdetails Szczegóły zdarzenia wyzwalającego.Details of the triggering event.
details. Messagedetails.message Opis reguły.Description of the rule.
Szczegóły. danedetails.data Określone dane Znalezione w żądaniu, które pasują do reguły.Specific data found in request that matched the rule.
details. Filedetails.file Plik konfiguracji, który zawiera regułę.Configuration file that contained the rule.
Szczegóły. wierszdetails.line Numer wiersza w pliku konfiguracji, który wyzwolił zdarzenie.Line number in the configuration file that triggered the event.
nazwhostname Nazwa hosta lub adres IP Application Gateway.Hostname or IP address of the Application Gateway.
transactionIdtransactionId Unikatowy identyfikator danej transakcji, który pomaga grupować wiele naruszeń reguł, które wystąpiły w ramach tego samego żądania.Unique ID for a given transaction which helps group multiple rule violations that occurred within the same request.
{
  "resourceId": "/SUBSCRIPTIONS/{subscriptionId}/RESOURCEGROUPS/{resourceGroupName}/PROVIDERS/MICROSOFT.NETWORK/APPLICATIONGATEWAYS/{applicationGatewayName}",
  "operationName": "ApplicationGatewayFirewall",
  "time": "2017-03-20T15:52:09.1494499Z",
  "category": "ApplicationGatewayFirewallLog",
  "properties": {
    "instanceId": "ApplicationGatewayRole_IN_0",
    "clientIp": "104.210.252.3",
    "clientPort": "4835",
    "requestUri": "/?a=%3Cscript%3Ealert(%22Hello%22);%3C/script%3E",
    "ruleSetType": "OWASP",
    "ruleSetVersion": "3.0",
    "ruleId": "941320",
    "message": "Possible XSS Attack Detected - HTML Tag Handler",
    "action": "Blocked",
    "site": "Global",
    "details": {
      "message": "Warning. Pattern match \"<(a|abbr|acronym|address|applet|area|audioscope|b|base|basefront|bdo|bgsound|big|blackface|blink|blockquote|body|bq|br|button|caption|center|cite|code|col|colgroup|comment|dd|del|dfn|dir|div|dl|dt|em|embed|fieldset|fn|font|form|frame|frameset|h1|head|h ...\" at ARGS:a.",
      "data": "Matched Data: <script> found within ARGS:a: <script>alert(\\x22hello\\x22);</script>",
      "file": "rules/REQUEST-941-APPLICATION-ATTACK-XSS.conf",
      "line": "865"
    }
    "hostname": "40.90.218.100",
    "transactionId": "AYAcUqAcAcAcAcAcASAcAcAc"
  }
}

Wyświetlanie i analizowanie dziennika aktywnościView and analyze the activity log

Dane dziennika aktywności można wyświetlać i analizować przy użyciu dowolnej z następujących metod:You can view and analyze activity log data by using any of the following methods:

Wyświetlanie i analizowanie dzienników dostępu, wydajności i zaporyView and analyze the access, performance, and firewall logs

Dzienniki Azure monitor mogą zbierać pliki liczników i dzienników zdarzeń z konta usługi BLOB Storage.Azure Monitor logs can collect the counter and event log files from your Blob storage account. Obejmuje ona wizualizacje oraz zaawansowane możliwości wyszukiwania na potrzeby analizowania dzienników.It includes visualizations and powerful search capabilities to analyze your logs.

Ponadto możesz połączyć się z kontem magazynu i pobrać wpisy dziennika JSON dotyczące dostępu i wydajności.You can also connect to your storage account and retrieve the JSON log entries for access and performance logs. Po pobraniu plików JSON możesz je przekonwertować do formatu CSV i wyświetlać w programie Excel, usłudze Power BI lub innym narzędziu do wizualizacji danych.After you download the JSON files, you can convert them to CSV and view them in Excel, Power BI, or any other data-visualization tool.

Porada

Jeśli znasz program Visual Studio oraz podstawowe pojęcia dotyczące zmiany wartości stałych i zmiennych w języku C#, możesz skorzystać z konwerterów dzienników dostępnych w witrynie GitHub.If you are familiar with Visual Studio and basic concepts of changing values for constants and variables in C#, you can use the log converter tools available from GitHub.

Analizowanie dzienników dostępu za poorednictwem GoAccessAnalyzing Access logs through GoAccess

Opublikowano szablon Menedżer zasobów, który służy do instalowania i uruchamiania popularnych analizatora dzienników GoAccess na potrzeby Application Gateway dzienników dostępu.We have published a Resource Manager template that installs and runs the popular GoAccess log analyzer for Application Gateway Access Logs. GoAccess zapewnia cenne dane statystyczne dotyczące ruchu HTTP, takie jak unikatowych odwiedzających, żądanych plików, hostów, systemów operacyjnych, przeglądarek, kodów stanu HTTP i nie tylko.GoAccess provides valuable HTTP traffic statistics such as Unique Visitors, Requested Files, Hosts, Operating Systems, Browsers, HTTP Status codes and more. Aby uzyskać więcej informacji, zobacz plik Readme w folderze szablonów Menedżer zasobów w witrynie GitHub.For more details, please see the Readme file in the Resource Manager template folder in GitHub.

Następne krokiNext steps