Odeslání dat protokolu prostředků Azure

Protokoly prostředků Azure jsou protokoly platformy, které poskytují přehled o operacích provedených v rámci prostředku Azure. Obsah protokolů prostředků se liší podle služby Azure a typu prostředku. Protokoly prostředků se ve výchozím nastavení neshromažďují. Tento článek popisuje nastavení diagnostiky vyžadované pro každý prostředek Azure k odesílání protokolů prostředků do různých cílů.

Odeslání do pracovního prostoru služby Log Analytics

Odešlete protokoly prostředků do pracovního prostoru služby Log Analytics, abyste povolili funkce protokolů služby Azure Monitor, kde můžete:

  • Korelujte data protokolu prostředků s dalšími daty monitorování shromážděnými službou Azure Monitor.
  • Sloučení položek protokolu z několika prostředků Azure, předplatných a tenantů do jednoho umístění pro účely analýzy
  • Pomocí dotazů protokolu můžete provádět komplexní analýzu a získávat podrobné přehledy o datech protokolů.
  • Používejte upozornění prohledávání protokolu se složitou logikou upozorňování.

Vytvořte nastavení diagnostiky pro odesílání protokolů prostředků do pracovního prostoru služby Log Analytics. Tato data jsou uložená v tabulkách, jak je popsáno ve struktuře protokolů služby Azure Monitor. Tabulky používané protokoly prostředků závisí na typu kolekce, kterou prostředek používá:

  • Diagnostika Azure: Všechna data se zapisuje do tabulky AzureDiagnostics .
  • Konkrétní zdroj: Data se zapisují do jednotlivých tabulek pro každou kategorii prostředku.

Specifické pro prostředky

V tomto režimu se jednotlivé tabulky ve vybraném pracovním prostoru vytvoří pro každou kategorii vybranou v nastavení diagnostiky. Tuto metodu doporučujeme, protože:

  • Usnadňuje práci s daty v dotazech protokolu.
  • Poskytuje lepší zjistitelnost schémat a jejich struktury.
  • Zlepšuje výkon napříč latencí příjmu dat a časy dotazů.
  • Poskytuje možnost udělit oprávnění řízení přístupu na základě role v Azure pro konkrétní tabulku.

Všechny služby Azure se nakonec migrují do režimu specifického pro prostředky.

Následující příklad vytvoří tři tabulky:

  • Tabulka Service1AuditLogs

    Poskytovatel prostředků Kategorie A B C
    Služba 1 AuditLogs x1 y1 Z1
    Služba 1 AuditLogs x5 y5 z5
    ...
  • Tabulka Service1ErrorLogs

    Poskytovatel prostředků Kategorie D E F
    Služba 1 Protokoly chyb Otázka 1 w1 e1
    Služba 1 Protokoly chyb Otázka č. 2 w2 e2
    ...
  • Tabulka Service2AuditLogs

    Poskytovatel prostředků Kategorie G H I
    Služba 2 AuditLogs j1 k1 l1
    Služba 2 AuditLogs j3 k3 l3
    ...

Režim diagnostiky Azure

V tomto režimu se všechna data z jakéhokoli nastavení diagnostiky shromažďují v tabulce AzureDiagnostics . Tato starší metoda se dnes používá ve většině služeb Azure. Vzhledem k tomu, že více typů prostředků odesílá data do stejné tabulky, je jeho schéma nadmnožinou schémat všech různých datových typů, které se shromažďují. Podrobnosti o struktuře této tabulky a o tom, jak funguje s tímto potenciálně velkým počtem sloupců, najdete v referenčních informacích k AzureDiagnostics.

Představte si příklad, kdy se nastavení diagnostiky shromažďují ve stejném pracovním prostoru pro následující datové typy:

  • Protokoly auditu služby 1 mají schéma, které se skládá ze sloupců A, B a C.
  • Protokoly chyb služby 1 mají schéma, které se skládá ze sloupců D, E a F
  • Protokoly auditu služby 2 mají schéma, které se skládá ze sloupců G, H a I

Tabulka AzureDiagnostics vypadá jako v tomto příkladu:

ResourceProvider Kategorie A B C D E F G H I
Microsoft.Service1 AuditLogs x1 y1 Z1
Microsoft.Service1 Protokoly chyb Otázka 1 w1 e1
Microsoft.Service2 AuditLogs j1 k1 l1
Microsoft.Service1 Protokoly chyb Otázka č. 2 w2 e2
Microsoft.Service2 AuditLogs j3 k3 l3
Microsoft.Service1 AuditLogs x5 y5 z5
...

Výběr režimu kolekce

Většina prostředků Azure zapisuje data do pracovního prostoru buď v diagnostice Azure, nebo v režimu specifickém pro prostředky, aniž byste si museli vybrat. Další informace najdete v tématu Běžná schémata a schémata specifická pro konkrétní služby pro protokoly prostředků Azure.

Všechny služby Azure nakonec budou používat režim specifický pro prostředky. V rámci tohoto přechodu vám některé prostředky umožňují vybrat režim v nastavení diagnostiky. Zadejte režim specifický pro prostředky pro všechna nová nastavení diagnostiky, protože tento režim usnadňuje správu dat. Může vám také pomoct vyhnout se složitým migracím později.

Screenshot that shows the Diagnostics settings mode selector.

Poznámka:

Příklad, který nastaví režim kolekce pomocí šablony Azure Resource Manageru, najdete v ukázkách šablon Resource Manageru pro nastavení diagnostiky ve službě Azure Monitor.

Existující nastavení diagnostiky můžete upravit na režim specifický pro prostředky. V tomto případě data, která už byla shromážděna, zůstanou v AzureDiagnostics tabulce, dokud nebudou odebrána podle nastavení uchovávání informací pro pracovní prostor. Nová data se shromažďují ve vyhrazené tabulce. Operátor sjednocení slouží k dotazování dat v obou tabulkách.

Pokračujte v blogovém příspěvku Azure Aktualizace o oznámeních o službách Azure, které podporují režim specifický pro prostředky.

Odeslání do služby Azure Event Hubs

Odešlete protokoly prostředků do centra událostí a odešlete je mimo Azure. Protokoly prostředků se například můžou posílat do řešení SIEM třetí strany nebo jiným řešením pro analýzu protokolů. Protokoly prostředků z center událostí se využívají ve formátu JSON pomocí elementu records , který obsahuje záznamy v každé datové části. Schéma závisí na typu prostředku, jak je popsáno ve schématu specifickém pro common a service pro protokoly prostředků Azure.

Následující ukázková výstupní data jsou z Azure Event Hubs pro protokol prostředků:

{
    "records": [
        {
            "time": "2019-07-15T18:00:22.6235064Z",
            "workflowId": "/SUBSCRIPTIONS/00000000-0000-0000-0000-000000000000/RESOURCEGROUPS/JOHNKEMTEST/PROVIDERS/MICROSOFT.LOGIC/WORKFLOWS/JOHNKEMTESTLA",
            "resourceId": "/SUBSCRIPTIONS/00000000-0000-0000-0000-000000000000/RESOURCEGROUPS/JOHNKEMTEST/PROVIDERS/MICROSOFT.LOGIC/WORKFLOWS/JOHNKEMTESTLA/RUNS/08587330013509921957/ACTIONS/SEND_EMAIL",
            "category": "WorkflowRuntime",
            "level": "Error",
            "operationName": "Microsoft.Logic/workflows/workflowActionCompleted",
            "properties": {
                "$schema": "2016-04-01-preview",
                "startTime": "2016-07-15T17:58:55.048482Z",
                "endTime": "2016-07-15T18:00:22.4109204Z",
                "status": "Failed",
                "code": "BadGateway",
                "resource": {
                    "subscriptionId": "00000000-0000-0000-0000-000000000000",
                    "resourceGroupName": "JohnKemTest",
                    "workflowId": "243aac67fe904cf195d4a28297803785",
                    "workflowName": "JohnKemTestLA",
                    "runId": "08587330013509921957",
                    "location": "westus",
                    "actionName": "Send_email"
                },
                "correlation": {
                    "actionTrackingId": "29a9862f-969b-4c70-90c4-dfbdc814e413",
                    "clientTrackingId": "08587330013509921958"
                }
            }
        },
        {
            "time": "2019-07-15T18:01:15.7532989Z",
            "workflowId": "/SUBSCRIPTIONS/00000000-0000-0000-0000-000000000000/RESOURCEGROUPS/JOHNKEMTEST/PROVIDERS/MICROSOFT.LOGIC/WORKFLOWS/JOHNKEMTESTLA",
            "resourceId": "/SUBSCRIPTIONS/00000000-0000-0000-0000-000000000000/RESOURCEGROUPS/JOHNKEMTEST/PROVIDERS/MICROSOFT.LOGIC/WORKFLOWS/JOHNKEMTESTLA/RUNS/08587330012106702630/ACTIONS/SEND_EMAIL",
            "category": "WorkflowRuntime",
            "level": "Information",
            "operationName": "Microsoft.Logic/workflows/workflowActionStarted",
            "properties": {
                "$schema": "2016-04-01-preview",
                "startTime": "2016-07-15T18:01:15.5828115Z",
                "status": "Running",
                "resource": {
                    "subscriptionId": "00000000-0000-0000-0000-000000000000",
                    "resourceGroupName": "JohnKemTest",
                    "workflowId": "243aac67fe904cf195d4a28297803785",
                    "workflowName": "JohnKemTestLA",
                    "runId": "08587330012106702630",
                    "location": "westus",
                    "actionName": "Send_email"
                },
                "correlation": {
                    "actionTrackingId": "042fb72c-7bd4-439e-89eb-3cf4409d429e",
                    "clientTrackingId": "08587330012106702632"
                }
            }
        }
    ]
}

Odeslání do Azure Storage

Odešlete do Azure Storage protokoly prostředků, abyste je zachovali pro archivaci. Po vytvoření nastavení diagnostiky se v účtu úložiště vytvoří kontejner úložiště, jakmile dojde k události v jedné z povolených kategorií protokolů.

Poznámka:

Alternativní strategií pro archivaci je odeslání protokolu prostředků do pracovního prostoru služby Log Analytics pomocí zásad archivace.

Objekty blob v kontejneru používají následující zásady vytváření názvů:

insights-logs-{log category name}/resourceId=/SUBSCRIPTIONS/{subscription ID}/RESOURCEGROUPS/{resource group name}/PROVIDERS/{resource provider name}/{resource type}/{resource name}/y={four-digit numeric year}/m={two-digit numeric month}/d={two-digit numeric day}/h={two-digit 24-hour clock hour}/m=00/PT1H.json

Objekt blob pro skupinu zabezpečení sítě může mít podobný název jako v tomto příkladu:

insights-logs-networksecuritygrouprulecounter/resourceId=/SUBSCRIPTIONS/00000000-0000-0000-0000-000000000000/RESOURCEGROUPS/TESTRESOURCEGROUP/PROVIDERS/MICROSOFT.NETWORK/NETWORKSECURITYGROUP/TESTNSG/y=2016/m=08/d=22/h=18/m=00/PT1H.json

Každý objekt blob PT1H.json obsahuje objekt JSON s událostmi ze souborů protokolu, které byly přijaty během hodiny zadané v adrese URL objektu blob. Během aktuální hodiny se události připojují k souboru PT1H.json při jejich přijetí bez ohledu na to, kdy byly vygenerovány. Minutová hodnota v adrese URL m=00 je vždy 00 vytvořená jako objekty blob za hodinu.

V souboru PT1H.json je každá událost uložena v následujícím formátu. Používá společné schéma nejvyšší úrovně, ale je jedinečné pro každou službu Azure, jak je popsáno ve schématu protokolů prostředků.

Poznámka:

Protokoly se zapisují do objektů blob na základě času přijetí protokolu bez ohledu na čas, kdy byl vygenerován. To znamená, že daný objekt blob může obsahovat data protokolu, která jsou mimo hodinu zadanou v adrese URL objektu blob. Pokud zdroj dat, jako je Application Insights, podporuje nahrávání zastaralé telemetrie, která objekt blob může obsahovat data z předchozích 48 hodin.
Na začátku nové hodiny je možné, že se existující protokoly stále zapisují do objektu blob předchozí hodiny, zatímco nové protokoly se zapisují do objektu blob nové hodiny.

{"time": "2016-07-01T00:00:37.2040000Z","systemId": "46cdbb41-cb9c-4f3d-a5b4-1d458d827ff1","category": "NetworkSecurityGroupRuleCounter","resourceId": "/SUBSCRIPTIONS/s1id1234-5679-0123-4567-890123456789/RESOURCEGROUPS/TESTRESOURCEGROUP/PROVIDERS/MICROSOFT.NETWORK/NETWORKSECURITYGROUPS/TESTNSG","operationName": "NetworkSecurityGroupCounters","properties": {"vnetResourceGuid": "{12345678-9012-3456-7890-123456789012}","subnetPrefix": "10.3.0.0/24","macAddress": "000123456789","ruleName": "/subscriptions/ s1id1234-5679-0123-4567-890123456789/resourceGroups/testresourcegroup/providers/Microsoft.Network/networkSecurityGroups/testnsg/securityRules/default-allow-rdp","direction": "In","type": "allow","matchedConnections": 1988}}

Integrace partnerů ve službě Azure Monitor

Protokoly prostředků je možné odesílat také do partnerských řešení, která jsou plně integrovaná do Azure. Seznam těchto řešení a podrobnosti o tom, jak je nakonfigurovat, najdete v tématu Integrace partnerů služby Azure Monitor.

Další kroky