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ří:
- Jednodušší manipulace s daty v dotazech protokolu
- Vylepšená zjistitelnost schémat a jejich struktur
- Vyšší výkon z hlediska latence příjmu dat a časů dotazů
- Možnost přiřazovat přístupová práva na základě role v Azure ke konkrétním tabulkám
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.
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:
- 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ů).
- Vytvoření uchovávání informací specifického pro prostředky: Implementujte nové nastavení diagnostiky s tabulkou specifickou pro prostředky.
- 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.
- Ověřte přesnost dat: Ověřte, jestli je shromažďování dat v obou nastaveních přesné a konzistentní.
- 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ů:
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
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.
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
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
Pokud chcete začít shromažďovat data, vyberte Zapnout diagnostiku.
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ě.
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
- Vizualizujte protokoly čítačů a událostí pomocí protokolů služby Azure Monitor.
- Vizualizujte protokol aktivit Azure pomocí příspěvku na blogu Power BI .
- Zobrazte a analyzujte protokoly aktivit Azure v Power BI a další blogovém příspěvku.