Diagnostické protokoly pro Službu Application Gateway

Protokoly služby Application Gateway poskytují podrobné informace o událostech souvisejících s prostředkem a jeho operacemi. Tyto protokoly jsou k dispozici pro události, jako je přístup, aktivita, brána firewall a výkon (pouze pro V1). Podrobné informace v protokolech jsou užitečné při řešení potíží nebo při vytváření analytického řídicího panelu s využitím těchto nezpracovaných dat.

Protokoly jsou k dispozici pro všechny prostředky služby Application Gateway; Pokud je ale chcete využívat, musíte jejich kolekci povolit v umístění úložiště podle vašeho výběru. Služba Azure Monitor povolí protokolování Aplikace Azure Gateway. Doporučujeme použít pracovní prostor služby Log Analytics, protože můžete snadno použít předdefinované dotazy a nastavit upozornění na základě konkrétních podmínek protokolu.

Typy diagnostických protokolů

Ke správě a řešení potíží s aplikačními bránami můžete použít různé typy protokolů v Azure. Další informace o těchto typech najdete níže:

  • Protokol aktivit: Protokoly aktivit Azure (dříve označované jako provozní protokoly a protokoly auditu) můžete použít k zobrazení všech operací odeslaných do vašeho předplatného Azure a jejich stavu. Položky protokolu aktivit se ve výchozím nastavení shromažďují a můžete si je zobrazit na webu Azure Portal.
  • Protokol přístupu: Tento protokol můžete použít k zobrazení vzorů přístupu ke službě Application Gateway a analýze důležitých informací. Patří sem IP adresa volajícího, požadovaná adresa URL, latence odpovědi, návratový kód a bajty. Protokol přístupu se shromažďuje každých 60 sekund. Tento protokol obsahuje jeden záznam na instanci služby Application Gateway. Instance služby Application Gateway je identifikována vlastností instanceId.
  • Protokol výkonu: Tento protokol můžete použít k zobrazení výkonu instancí služby Application Gateway. Tento protokol zaznamenává informace o výkonu pro každou instanci, včetně celkových požadavků obsluhované, propustnosti v bajtech, celkového počtu obsluhy požadavků, počtu neúspěšných požadavků a počtu instancí back-endu, které nejsou v pořádku. Protokol výkonu se shromažďuje každých 60 sekund. Protokol výkonu je k dispozici pouze pro skladovou položku v1. Pro skladovou položku v2 použijte metriky pro data o výkonu.
  • Protokol brány firewall: Tento protokol můžete použít k zobrazení požadavků, které jsou protokolovány prostřednictvím režimu detekce nebo prevence služby Application Gateway, která je nakonfigurovaná pomocí brány firewall webových aplikací. Protokoly brány firewall se shromažďují každých 60 sekund.

Poznámka:

Protokoly jsou dostupné jenom pro prostředky nasazené v modelu nasazení Azure Resource Manager. Protokoly nemůžete použít pro prostředky v modelu nasazení Classic. Lepší porozumění dvěma modelům najdete v článku Principy nasazení Resource Manageru a klasického nasazení .

Umístění úložiště

Protokoly si můžete uložit do upřednostňovaného umístění.

Pracovní prostor Log Analytic: Tato možnost umožňuje snadno používat předdefinované dotazy, vizualizace a nastavit upozornění na základě konkrétních podmínek protokolu. Tabulky používané protokoly prostředků v pracovním prostoru služby Log Analytics závisí na typu kolekce, kterou prostředek používá:

Diagnostika Azure: Data se zapisuje do tabulky Azure Diagnostics. Tabulka Azure Diagnostics se sdílí mezi více typy prostředků, přičemž každá z nich přidává vlastní pole. Když počet vlastních polí přijatých do tabulky Azure Diagnostics překročí 500, nová pole se nepřidají jako nejvyšší úroveň, ale do pole AdditionalFields se přidají jako páry dynamických hodnot klíče.

Konkrétní prostředek (doporučeno):Data se zapisují do vyhrazených tabulek pro každou kategorii prostředku. V režimu specifickém pro prostředek má každá kategorie protokolu vybraná v nastavení diagnostiky přiřazenou vlastní tabulku ve zvoleném pracovním prostoru. To má několik výhod, mezi které patří:

V případě služby Application Gateway vytvoří režim specifický pro prostředky tři tabulky:

Poznámka:

Možnost specifická pro prostředek je aktuálně dostupná ve všech veřejných oblastech.
Stávající uživatelé můžou dál používat Azure Diagnostics nebo se můžou rozhodnout pro vyhrazené tabulky přepnutím přepínače v nastavení diagnostiky na konkrétní prostředek nebo na vyhrazené v cíli rozhraní API. Duální režim není možný. Data ve všechprotokolch Můžete ale mít několik nastavení diagnostiky, ve kterých je jeden tok dat do diagnostiky Azure a druhý současně používá konkrétní prostředek.

Výběr cílové tabulky v Log Analytics: Všechny služby Azure nakonec používají tabulky specifické pro prostředky. V rámci tohoto přechodu můžete pomocí přepínacího tlačítka vybrat tabulku specifickou pro diagnostiku nebo prostředek Azure v nastavení diagnostiky. Přepínač je standardně nastavený na Konkrétní prostředek a v tomto režimu se protokoly pro nové vybrané kategorie posílají do vyhrazených tabulek v Log Analytics, zatímco stávající streamy zůstanou beze změny. Viz následující příklad.

Snímek obrazovky s ID prostředku pro aplikační bránu na portálu

Transformace pracovního prostoru: Volba možnosti Konkrétní prostředek umožňuje filtrovat a upravovat data před tím, než se ingestují pomocí transformací pracovního prostoru. Díky tomu se můžete zaměřit na nejrelevantní informace z protokolů tím, že snížíte náklady na data a zvýšíte zabezpečení. Podrobné pokyny k nastavení transformací pracovního prostoru najdete v tomto kurzu: Přidání transformace pracovního prostoru do protokolů služby Azure Monitor pomocí webu Azure Portal.

Příklady optimalizace protokolů přístupu pomocí transformací pracovního prostoru

Příklad 1: Selektivní projekce sloupců: Představte si, že máte přístupové protokoly aplikační brány s 20 sloupci, ale chcete analyzovat data pouze ze 6 konkrétních sloupců. Pomocí transformace pracovního prostoru můžete tyto 6 sloupců projektovat do svého pracovního prostoru a efektivně tak vyloučit ostatní 14 sloupců. I když původní data z těchto vyloučených sloupců nebudou uložena, prázdné zástupné symboly se stále zobrazují v okně Protokoly. Tento přístup optimalizuje úložiště a zajišťuje zachování pouze relevantních dat pro účely analýzy.

Poznámka:

Výběrem možnosti Vyzkoušet novou log Analytics v okně Protokoly získáte větší kontrolu nad sloupci zobrazenými v uživatelském rozhraní.

Příklad 2: Zaměření na konkrétní stavové kódy: Při analýze přístupových protokolů místo zpracování všech položek protokolu můžete napsat dotaz, který načte pouze řádky s konkrétními stavovými kódy HTTP (například 4xx a 5xx). Vzhledem k tomu, že většina požadavků ideálně spadá do kategorií 2xx a 3xx (představujících úspěšné odpovědi), zaměření na problematické stavové kódy zužuje datovou sadu. Tento cílený přístup vám umožní extrahovat nejrelevantní a nejrelevantní informace, aby byly přínosné i nákladově efektivní.

Doporučená strategie přechodu z diagnostiky Azure na tabulku specifickou pro prostředky:

  1. Posouzení aktuálního uchovávání dat: Určete dobu trvání, po kterou se data v tabulce diagnostiky Azure uchovávají (například předpokládejme, že diagnostická tabulka uchovává data po dobu 15 dnů).
  2. Vytvoření uchovávání informací specifického pro prostředky: Implementujte nové nastavení diagnostiky s tabulkou specifickou pro prostředky.
  3. Paralelní shromažďování dat: Pro dočasné období shromážděte data současně v diagnostice Azure i v nastavení specifických pro prostředky.
  4. Ověřte přesnost dat: Ověřte, jestli je shromažďování dat v obou nastaveních přesné a konzistentní.
  5. Odebrání nastavení diagnostiky Azure: Odeberte nastavení diagnostiky Azure, aby se zabránilo duplicitnímu shromažďování dat.

Další umístění úložiště:

  • Účet služby Azure Storage: Účty úložiště se nejlépe používají pro protokoly, když se protokoly ukládají delší dobu a v případě potřeby se kontrolují.
  • Azure Event Hubs: Služba Event Hubs je skvělou volbou pro integraci s dalšími nástroji pro správu událostí (SIEM) pro zabezpečení a získávání výstrah o prostředcích.
  • Integrace partnerů služby Azure Monitor

Přečtěte si další informace o cílech nastavení diagnostiky služby Azure Monitor .

Povolení protokolování prostřednictvím PowerShellu

Protokolování aktivit je u každého prostředku Správce prostředků povolené automaticky. Abyste mohli začít shromažďovat data dostupná prostřednictvím těchto protokolů, musíte povolit protokolování přístupu a výkonu. Protokolování povolíte pomocí následujících kroků:

  1. Poznamenejte si ID prostředku účtu úložiště, kam se data protokolu ukládají. Tato hodnota je ve formuláři: /subscriptions/<subscriptionId>/resourceGroups/<název> skupiny prostředků/providers/Microsoft.Storage/storageAccounts/<název účtu> úložiště. Můžete použít libovolný účet úložiště z vašeho předplatného. Tuto informaci najdete pomocí webu Azure Portal

    Snímek obrazovky s koncovými body účtu úložiště

  2. Poznamenejte si ID prostředku vaší služby Application Gateway, pro které je protokolování povolené. Tato hodnota je ve formátu: /subscriptions/<subscriptionId>/resourceGroups/<název> skupiny prostředků/providers/Microsoft.Network/applicationGateways/<název> aplikační brány. Tuto informaci najdete pomocí webu Azure Portal.

    Snímek obrazovky s vlastnostmi služby App Gateway

  3. Protokolování diagnostiky zapnete pomocí následující rutiny PowerShellu:

    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     
    

Tip

Protokoly aktivit nevyžadují samostatný účet úložiště. Za používání úložiště k protokolování přístupu a výkonu se účtují poplatky.

Povolit protokolování prostřednictvím webu Azure Portal

  1. Na webu Azure Portal vyhledejte prostředek a vyberte Nastavení diagnostiky.

    Pro Službu Application Gateway jsou k dispozici tři protokoly:

    • Protokol přístupu
    • Protokol výkonu
    • Protokol brány firewall
  2. Pokud chcete začít shromažďovat data, vyberte Zapnout diagnostiku.

    Zapnutí diagnostiky

  3. Stránka Nastavení diagnostiky obsahuje nastavení diagnostických protokolů. V tomto příkladu ukládá Log Analytics protokoly. Diagnostické protokoly můžete ukládat také pomocí služby center událostí a účtu úložiště.

    Spuštění procesu konfigurace

  4. Zadejte název nastavení, potvrďte nastavení a vyberte Uložit.

Protokol aktivit

Azure ve výchozím nastavení generuje protokol aktivit. Protokoly se zachovají po dobu 90 dnů v úložišti protokolů událostí Azure. Další informace o těchto protokolech najdete v článku Zobrazení událostí a protokolu aktivit.

Protokol přístupu

Protokol přístupu se vygeneruje jenom v případě, že jste ho povolili pro každou instanci služby Application Gateway, jak je podrobně popsáno v předchozích krocích. Data se ukládají v účtu úložiště, který jste zadali při povolení protokolování. Každý přístup ke službě Application Gateway se protokoluje ve formátu JSON, jak je znázorněno níže.

Pro skladovou položku Application Gateway a WAF v2

Poznámka:

Informace související s proxy protokolem TLS/TCP najdete v referenčních informacích k datům.

Hodnota Popis
instanceId Instance služby Application Gateway, která žádost obsloužila.
clientIP IP adresa bezprostředního klienta služby Application Gateway. Pokud vaše aplikační brána předá jiný proxy server, zobrazí se IP adresa tohoto frontingového proxy serveru.
httpMethod Metoda HTTP používaná požadavkem.
Requesturi Identifikátor URI přijatého požadavku.
UserAgent Uživatelský agent z hlavičky požadavku HTTP.
httpStatus Stavový kód HTTP vrácený klientovi ze služby Application Gateway
httpVersion Verze požadavku HTTP.
receivedBytes Velikost přijatých paketů v bajtech
sentBytes Velikost odesílaného paketu v bajtech
clientResponseTime Časový rozdíl (v sekundách) mezi prvním bajtem a poslední bajtová aplikační brána odeslaná klientovi. Užitečné při měření doby zpracování služby Application Gateway pro odpovědi nebo pomalé klienty.
timeTaken Doba (v sekundách), kterou trvá zpracování prvního bajtu požadavku klienta a odeslání posledního bajtu v odpovědi klientovi. Je důležité si uvědomit, že pole Čas potřebný obvykle zahrnuje čas, kdy pakety požadavků a odpovědí cestují přes síť.
WAFEvaluationTime Doba (v sekundách), kterou vyžaduje zpracování požadavku WAF.
WAFMode Hodnota může být detekce nebo prevence.
transactionId Jedinečný identifikátor pro korelaci požadavku přijatého od klienta
sslEnabled Určuje, jestli komunikace s back-endovými fondy používala protokol TLS. Platné hodnoty jsou zapnuté a vypnuté.
sslCipher Šifrovací sada používaná pro komunikaci pomocí protokolu TLS (pokud je povolený protokol TLS).
sslProtocol Používá se protokol SSL/TLS (pokud je povolený protokol TLS).
ServerRouted Back-endový server, na který služba Application Gateway směruje požadavek.
serverStatus Stavový kód HTTP back-endového serveru.
serverResponseLatency Latence odpovědi (v sekundách) z back-endového serveru
host Adresa uvedená v hlavičce hostitele požadavku. Pokud se přepíše pomocí přepsání hlaviček, obsahuje toto pole aktualizovaný název hostitele.
originalRequestUriWithArgs Toto pole obsahuje původní adresu URL požadavku.
Requesturi Toto pole obsahuje adresu URL po operaci přepsání ve službě Application Gateway.
upstreamSourcePort Zdrojový port používaný službou Application Gateway při inicializování připojení k back-endovému cíli
originalHost Toto pole obsahuje původní název hostitele požadavku.
error_info Důvod chyby 4xx a 5xx. Zobrazí kód chyby pro neúspěšný požadavek. Další podrobnosti najdete v informacích o kódu chyby.
Contenttype Typ obsahu nebo dat zpracovávaných nebo doručovaných službou Application Gateway
{
    "timeStamp": "2021-10-14T22:17:11+00:00",
    "resourceId": "/SUBSCRIPTIONS/{subscriptionId}/RESOURCEGROUPS/{resourceGroupName}/PROVIDERS/MICROSOFT.NETWORK/APPLICATIONGATEWAYS/{applicationGatewayName}",
    "listenerName": "HTTP-Listener",
    "ruleName": "Storage-Static-Rule",
    "backendPoolName": "StaticStorageAccount",
    "backendSettingName": "StorageStatic-HTTPS-Setting",
    "operationName": "ApplicationGatewayAccess",
    "category": "ApplicationGatewayAccessLog",
    "properties": {
        "instanceId": "appgw_2",
        "clientIP": "185.42.129.24",
        "clientPort": 45057,
        "httpMethod": "GET",
        "originalRequestUriWithArgs": "\/",
        "requestUri": "\/",
        "requestQuery": "",
        "userAgent": "Mozilla\/5.0 (Windows NT 6.1; WOW64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/52.0.2743.116 Safari\/537.36",
        "httpStatus": 200,
        "httpVersion": "HTTP\/1.1",
        "receivedBytes": 184,
        "sentBytes": 466,
        "clientResponseTime": 0,
        "timeTaken": 0.034,
        "WAFEvaluationTime": "0.000",
        "WAFMode": "Detection",
        "transactionId": "592d1649f75a8d480a3c4dc6a975309d",
        "sslEnabled": "on",
        "sslCipher": "ECDHE-RSA-AES256-GCM-SHA384",
        "sslProtocol": "TLSv1.2",
        "sslClientVerify": "NONE",
        "sslClientCertificateFingerprint": "",
        "sslClientCertificateIssuerName": "",
        "serverRouted": "52.239.221.65:443",
        "serverStatus": "200",
        "serverResponseLatency": "0.028",
        "upstreamSourcePort": "21564",
        "originalHost": "20.110.30.194",
        "host": "20.110.30.194",
        "error_info":"ERRORINFO_NO_ERROR",
        "contentType":"application/json"
    }
}

Poznámka:

Přístupové protokoly s hodnotou clientIP 127.0.0.1 pocházejí z interního procesu zabezpečení spuštěného v instancích služby Application Gateway. Tyto položky protokolu můžete bezpečně ignorovat.

Pro skladovou položku Application Gateway Standard a WAF (v1)

Hodnota Popis
instanceId Instance služby Application Gateway, která žádost obsloužila.
clientIP Původní IP adresa pro požadavek.
clientPort Původní port požadavku.
httpMethod Metoda HTTP používaná požadavkem.
Requesturi Identifikátor URI přijatého požadavku.
RequestQuery Směrování serveru: Instance back-endového fondu, která byla odeslána žádost.
X-AzureApplicationGateway-LOG-ID: ID korelace použité pro požadavek. Dá se použít k řešení problémů s provozem na back-endových serverech.
STAV SERVERU: Kód odpovědi HTTP, který služba Application Gateway přijala z back-endu.
UserAgent Uživatelský agent z hlavičky požadavku HTTP.
httpStatus Stavový kód HTTP vrácený klientovi ze služby Application Gateway
httpVersion Verze požadavku HTTP.
receivedBytes Velikost přijatých paketů v bajtech
sentBytes Velikost odesílaného paketu v bajtech
timeTaken Doba (v milisekundách), kterou trvá zpracování požadavku a odeslání odpovědi. Tato hodnota se vypočítá jako interval od okamžiku, kdy služba Application Gateway přijme první bajt požadavku HTTP do doby, kdy se dokončí operace odeslání odpovědi. Je důležité si uvědomit, že pole Čas potřebný obvykle zahrnuje čas, kdy pakety požadavků a odpovědí cestují přes síť.
sslEnabled Určuje, jestli komunikace s back-endovými fondy používala protokol TLS/SSL. Platné hodnoty jsou zapnuté a vypnuté.
host Název hostitele, pro který byl požadavek odeslán na back-endový server. Pokud se přepíše název hostitele back-endu, tento název to odráží.
originalHost Název hostitele, pro který byla žádost přijata službou Application Gateway z klienta.
{
    "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"
    }
}

Informace o kódu chyby

Pokud služba Application Gateway nemůže požadavek dokončit, uloží do pole error_info protokolu přístupu jeden z následujících kódů důvodů.

Chyby 4XX (Kódy chyb 4xx označují, že došlo k problému s požadavkem klienta a služba Application Gateway ji nemůže splnit.)
ERRORINFO_INVALID_METHOD Klient odeslal požadavek, který nedodržuje předpisy RFC. Možné důvody: klient používající metodu HTTP server nepodporuje, chybně napsanou metodu, nekompatibilní verzi protokolu HTTP atd.
ERRORINFO_INVALID_REQUEST Server nemůže požadavek splnit kvůli nesprávné syntaxi.
ERRORINFO_INVALID_VERSION Aplikační brána přijala požadavek s neplatnou nebo nepodporovanou verzí HTTP.
ERRORINFO_INVALID_09_METHOD Klient odeslal požadavek s protokolem HTTP verze 0.9.
ERRORINFO_INVALID_HOST Hodnota zadaná v hlavičce Host chybí, nesprávně naformátovaná nebo neodpovídá očekávané hodnotě hostitele. Pokud například neexistuje žádný základní naslouchací proces a žádné názvy hostitelů naslouchacích procesů ve více lokalitách se neshodují s hostitelem.
ERRORINFO_INVALID_CONTENT_LENGTH Délka obsahu určeného klientem v hlavičce content-Length neodpovídá skutečné délce obsahu v požadavku.
ERRORINFO_INVALID_METHOD_TRACE Klient odeslal metodu HTTP TRACE, která není podporována službou Application Gateway.
ERRORINFO_CLIENT_CLOSED_REQUEST Klient ukončil připojení ke službě Application Gateway před uplynutím časového limitu nečinnosti. Zkontrolujte, jestli je období časového limitu klienta větší než období časového limitu nečinnosti pro aplikační bránu.
ERRORINFO_REQUEST_URI_INVALID Označuje problém s identifikátorem URI (Uniform Resource Identifier) zadaným v požadavku klienta.
ERRORINFO_HTTP_NO_HOST_HEADER Klient odeslal požadavek bez hlavičky hostitele.
ERRORINFO_HTTP_TO_HTTPS_PORT Klient odeslal prostý požadavek HTTP na port HTTPS.
ERRORINFO_HTTPS_NO_CERT Označuje, že klient během vzájemného ověřování TLS neodesílá platný a správně nakonfigurovaný certifikát TLS.
Chyby 5XX Popis
ERRORINFO_UPSTREAM_NO_LIVE Aplikační brána nemůže najít žádné aktivní nebo dosažitelné back-endové servery pro zpracování příchozích požadavků.
ERRORINFO_UPSTREAM_CLOSED_CONNECTION Back-endový server neočekávaně ukončil připojení nebo před úplným zpracováním požadavku. K tomu může dojít kvůli dosažení limitů back-endového serveru, chybovému ukončení atd.
ERRORINFO_UPSTREAM_TIMED_OUT Navázání připojení TCP k serveru bylo uzavřeno, protože připojení trvalo déle, než je nakonfigurovaná hodnota časového limitu.

Protokol výkonu

Protokol výkonu se vygeneruje jenom v případě, že jste ho povolili pro každou instanci služby Application Gateway, jak je podrobně popsáno v předchozích krocích. Data se ukládají v účtu úložiště, který jste zadali při povolení protokolování. Data protokolu výkonu se generují v 1minutových intervalech. Je k dispozici pouze pro skladovou položku v1. Pro skladovou položku v2 použijte metriky pro data o výkonu. Protokolují se následující data:

Hodnota Popis
instanceId Instance služby Application Gateway, pro kterou se generují data o výkonu. Pro službu Application Gateway s více instancemi je jeden řádek na instanci.
healthyHostCount Počet hostitelů, kteří jsou v pořádku, v back-endovém fondu
unHealthyHostCount Počet hostitelů, kteří nejsou v pořádku, v back-endovém fondu
requestCount Počet žádostí obsluhovaných.
Latence Průměrná latence (v milisekundách) požadavků z instance do back-endu, který požadavky obsluhuje.
failedRequestCount Počet neúspěšných požadavků
Propustnost Průměrná propustnost od posledního protokolu měřená vbajch
{
    "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"
    }
}

Poznámka:

Latence se vypočítá z doby, kdy se do doby odeslání posledního bajtu odpovědi HTTP obdrží první bajt požadavku HTTP. Jedná se o součet doby zpracování služby Application Gateway a nákladů na síť na back-end a čas potřebný ke zpracování požadavku back-endem.

Protokol brány firewall

Protokol brány firewall se vygeneruje jenom v případě, že jste ho povolili pro každou aplikační bránu, jak je podrobně popsáno v předchozích krocích. Tento protokol také vyžaduje, aby brána firewall webových aplikací byla nakonfigurovaná ve službě Application Gateway. Data se ukládají v účtu úložiště, který jste zadali při povolení protokolování. Protokolují se následující data:

Hodnota Popis
instanceId Instance služby Application Gateway, pro kterou se generují data brány firewall. Pro službu Application Gateway s více instancemi je jeden řádek na instanci.
clientIp Původní IP adresa pro požadavek.
clientPort Původní port požadavku.
Requesturi Adresa URL přijaté žádosti
ruleSetType Typ sady pravidel. Dostupná hodnota je OWASP.
ruleSetVersion Použitá verze sady pravidel. Dostupné hodnoty jsou 2.2.9 a 3.0.
ruleId ID pravidla aktivační události.
zpráva Uživatelsky přívětivá zpráva pro aktivační událost. Další podrobnosti najdete v části s podrobnostmi.
action Akce přijatá na žádost Dostupné hodnoty jsou blokované a povolené (pro vlastní pravidla), Spárované (pokud pravidlo odpovídá části požadavku) a Zjištěné a blokované (to platí pro povinná pravidla v závislosti na tom, jestli je WAF v režimu detekce nebo prevence).
site Web, pro který se protokol vygeneroval. V současné době je uveden pouze globální, protože pravidla jsou globální.
Podrobnosti Podrobnosti o aktivační události
details.message Popis pravidla
details.data Konkrétní data nalezená v požadavku, která odpovídají pravidlu.
details.file Konfigurační soubor, který obsahoval pravidlo.
details.line Číslo řádku v konfiguračním souboru, který událost aktivoval.
název hostitele Název hostitele nebo IP adresa služby Application Gateway
transactionId Jedinečné ID pro danou transakci, které pomáhá seskupovat několik porušení pravidel, ke kterým došlo ve stejném požadavku.
{
    "timeStamp": "2021-10-14T22:17:11+00:00",
    "resourceId": "/SUBSCRIPTIONS/{subscriptionId}/RESOURCEGROUPS/{resourceGroupName}/PROVIDERS/MICROSOFT.NETWORK/APPLICATIONGATEWAYS/{applicationGatewayName}",
    "operationName": "ApplicationGatewayFirewall",
    "category": "ApplicationGatewayFirewallLog",
    "properties": {
        "instanceId": "appgw_2",
        "clientIp": "185.42.129.24",
        "clientPort": "",
        "requestUri": "\/",
        "ruleSetType": "OWASP_CRS",
        "ruleSetVersion": "3.0.0",
        "ruleId": "920350",
        "message": "Host header is a numeric IP address",
        "action": "Matched",
        "site": "Global",
        "details": {
            "message": "Warning. Pattern match \\\"^[\\\\d.:]+$\\\" at REQUEST_HEADERS:Host .... ",
            "data": "20.110.30.194:80",
            "file": "rules\/REQUEST-920-PROTOCOL-ENFORCEMENT.conf",
            "line": "791"
        },
        "hostname": "20.110.30.194:80",
        "transactionId": "592d1649f75a8d480a3c4dc6a975309d",
        "policyId": "default",
        "policyScope": "Global",
        "policyScopeName": "Global"
    }
}

Zobrazení a analýza protokolu aktivit

Data protokolu aktivit si můžete zobrazit použitím jedné z následujících metod:

  • Nástroje Azure: Načtěte informace z protokolu aktivit prostřednictvím Azure PowerShellu, Azure CLI, rozhraní Azure REST API nebo webu Azure Portal. Podrobné pokyny k jednotlivým metodám najdete v článku o operacích s protokoly aktivit ve Správci prostředků.
  • Power BI: Pokud ještě účet Power BI nemáte, můžete ho vyzkoušet zdarma. Pomocí aplikací šablon Power BI můžete analyzovat data.

Zobrazení a analýza přístupu, výkonu a protokolů brány firewall

Protokoly služby Azure Monitor můžou shromažďovat soubory protokolů čítačů a událostí z účtu úložiště objektů blob. Zahrnuje vizualizace a výkonné vyhledávací funkce k analýze protokolů.

Můžete se také připojit k účtu úložiště a načíst položky protokolu JSON s protokoly přístupu a výkonu. Po stažení souborů JSON je můžete převést do formátu CSV a zobrazit si je v Excelu, Power BI nebo jiném nástroji s vizualizací dat.

Tip

Pokud znáte Visual Studio a základní koncepty změny hodnot konstant a proměnných v jazyce C#, můžete použít nástroje pro převaděč protokolů dostupné na GitHubu.

Analýza protokolů přístupu prostřednictvím GoAccessu

Publikovali jsme šablonu Resource Manageru, která nainstaluje a spustí oblíbený analyzátor protokolů GoAccess pro protokoly přístupu ke službě Application Gateway. GoAccess poskytuje cenné statistiky provozu HTTP, jako jsou jedinečné návštěvníky, požadované soubory, hostitelé, operační systémy, prohlížeče, stavové kódy HTTP a další. Další podrobnosti najdete v souboru Readme ve složce šablony Resource Manageru na GitHubu.

Další kroky