Udostępnij za pośrednictwem


Wysyłanie dzienników zasobów platformy Azure do obszarów roboczych usługi Log Analytics, usługi Event Hubs lub usługi Azure Storage

Dzienniki zasobów platformy Azure to dzienniki platformy, które zapewniają wgląd w operacje wykonywane w zasobie platformy Azure. Zawartość dzienników zasobów jest inna dla każdego typu zasobu. Dzienniki zasobów nie są zbierane standardowo. Aby zbierać dzienniki zasobów, należy włączyć i skonfigurować ustawienia diagnostyczne lub użyć reguł zbierania danych. Aby uzyskać więcej informacji na temat reguł zbierania danych, zobacz Reguły zbierania danych w usłudze Azure Monitor. W tym artykule opisano ustawienie diagnostyczne wymagane dla każdego zasobu platformy Azure do wysyłania dzienników zasobów do obszarów roboczych usługi Log Analytics, usługi Event Hubs lub usługi Azure Storage.

Wysyłanie do obszaru roboczego usługi Log Analytics

Wyślij dzienniki zasobów do obszaru roboczego usługi Log Analytics, aby móc włączyć funkcje dzienników usługi Azure Monitor, gdzie można:

  • Korelowanie danych dziennika zasobów z innymi danymi monitorowania zbieranymi przez usługę Azure Monitor.
  • Skonsoliduj wpisy dziennika z wielu zasobów platformy Azure, subskrypcji i dzierżaw w jedną lokalizację w celu wspólnej analizy.
  • Użyj zapytań dzienników, aby przeprowadzić złożoną analizę i uzyskać szczegółowe informacje na temat danych dziennika.
  • Używaj alertów przeszukiwania dzienników z złożoną logiką powiadomień.

Utwórz ustawienie diagnostyczne służące do wysyłania dzienników zasobów do obszaru roboczego usługi Log Analytics. Te dane są przechowywane w tabelach zgodnie z opisem w temacie Struktura dzienników usługi Azure Monitor. Tabele używane przez dzienniki zasobów zależą od typu zasobu i typu kolekcji używanej przez zasób. Istnieją dwa typy trybów zbierania dla dzienników zasobów:

  • Diagnostyka platformy Azure: wszystkie dane są zapisywane w tabeli AzureDiagnostics .
  • Zasobo-specyficzne: Dane są zapisywane w osobnych tabelach dla każdej kategorii zasobu.

Specyficzne dla zasobu

W przypadku dzienników korzystających z trybu specyficznego dla zasobów poszczególne tabele w wybranym obszarze roboczym są tworzone dla każdej kategorii dziennika wybranej w ustawieniu diagnostycznym. Dzienniki specyficzne dla zasobów mają następujące zalety dotyczące dzienników diagnostycznych platformy Azure:

  • Ułatwia pracę z danymi podczas tworzenia zapytań do dzienników.
  • Zapewnia lepszą możliwość odnajdywania schematów i ich struktury.
  • Poprawia wydajność w zakresie opóźnień przetwarzania i czasów wykonywania zapytań.
  • Zapewnia możliwość udzielania praw kontroli dostępu na podstawie ról na platformie Azure w określonej tabeli.

Aby uzyskać opis dzienników i tabel specyficznych dla zasobów, zobacz Obsługiwane kategorie dzienników zasobów dla usługi Azure Monitor

Tryb diagnostyczny Azure

W trybie diagnostyki platformy Azure wszystkie dane z dowolnego ustawienia diagnostycznego są zbierane w tabeli AzureDiagnostics . Ta starsza metoda jest obecnie używana przez mniejszość usług platformy Azure. Ponieważ wiele typów zasobów wysyła dane do tej samej tabeli, jego schemat jest nadzbiorem schematów wszystkich zbieranych typów danych. Aby uzyskać szczegółowe informacje na temat struktury tej tabeli i sposobu jej działania z tą potencjalnie dużą liczbą kolumn, zobacz dokumentację AzureDiagnostics.

Tabela AzureDiagnostics zawiera identyfikator resourceId zasobu, który wygenerował dziennik, kategorię dziennika i czas wygenerowania dziennika, a także właściwości specyficzne dla zasobu.

Zrzut ekranu przedstawiający tabelę AzureDiagnostics w obszarze roboczym usługi Log Analytics.

Wybieranie trybu zbierania

Większość zasobów Azure zapisuje dane w obszarze roboczym w trybie diagnostyki Azure lub trybie specyficznym dla zasobów, nie dając Ci możliwości wyboru. Aby uzyskać więcej informacji, zobacz Typowe schematy specyficzne dla usługi dla dzienników zasobów platformy Azure.

Wszystkie usługi platformy Azure w końcu będą używać trybu specyficznego dla zasobu. W ramach tego przejścia niektóre zasoby umożliwiają wybranie trybu w ustawieniu diagnostycznym. Określ tryb specyficzny dla zasobów dla wszystkich nowych ustawień diagnostycznych, ponieważ ten tryb ułatwia zarządzanie danymi. Może to również pomóc uniknąć złożonych migracji później.

Zrzut ekranu przedstawiający selektor trybu ustawień diagnostycznych.

Uwaga / Notatka

Przykład ustawiający tryb zbierania przy użyciu szablonu usługi Azure Resource Manager można znaleźć w temacie Resource Manager template samples for diagnostic settings in Azure Monitor (Przykłady szablonów usługi Resource Manager dla ustawień diagnostycznych w usłudze Azure Monitor).

Istniejące ustawienie diagnostyczne można zmodyfikować w trybie specyficznym dla zasobu. W takim przypadku dane, które zostały już zebrane, pozostają w AzureDiagnostics tabeli, dopóki nie zostaną usunięte zgodnie z ustawieniem przechowywania dla obszaru roboczego. Nowe dane są zbierane w dedykowanej tabeli. Użyj operatora unii, aby wykonywać zapytania dotyczące danych w obu tabelach.

Kontynuuj oglądanie bloga usługi Azure Updates pod kątem anonsów dotyczących usług platformy Azure, które obsługują tryb specyficzny dla zasobów.

Wysyłanie do Azure Event Hubs

Wysyłanie dzienników zasobów do centrum zdarzeń w celu wysłania ich poza platformę Azure. Na przykład dzienniki zasobów mogą być wysyłane do rozwiązania SIEM innej firmy lub innych rozwiązań do analizy dzienników. Dzienniki zasobów z centrów zdarzeń są pobierane w formacie JSON z elementem records, który zawiera rekordy w każdym ładunku. Schemat zależy od typu zasobu, jak opisano w Common and service-specific schema for Azure resource logs (Wspólny i specyficzny dla usługi schemat dzienników zasobów Azure).

Następujące przykładowe dane wyjściowe pochodzą z usługi Azure Event Hubs dla dziennika zasobów:

{
    "records": [
        {
            "time": "2019-07-15T18:00:22.6235064Z",
            "workflowId": "/SUBSCRIPTIONS/AAAA0A0A-BB1B-CC2C-DD3D-EEEEEE4E4E4E/RESOURCEGROUPS/JOHNKEMTEST/PROVIDERS/MICROSOFT.LOGIC/WORKFLOWS/JOHNKEMTESTLA",
            "resourceId": "/SUBSCRIPTIONS/AAAA0A0A-BB1B-CC2C-DD3D-EEEEEE4E4E4E/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": "AAAA0A0A-BB1B-CC2C-DD3D-EEEEEE4E4E4E",
                    "resourceGroupName": "JohnKemTest",
                    "workflowId": "2222cccc-33dd-eeee-ff44-aaaaaa555555",
                    "workflowName": "JohnKemTestLA",
                    "runId": "08587330013509921957",
                    "location": "westus",
                    "actionName": "Send_email"
                },
                "correlation": {
                    "actionTrackingId": "3333dddd-44ee-ffff-aa55-bbbbbbbb6666",
                    "clientTrackingId": "08587330013509921958"
                }
            }
        },
        {
            "time": "2019-07-15T18:01:15.7532989Z",
            "workflowId": "/SUBSCRIPTIONS/AAAA0A0A-BB1B-CC2C-DD3D-EEEEEE4E4E4E/RESOURCEGROUPS/JOHNKEMTEST/PROVIDERS/MICROSOFT.LOGIC/WORKFLOWS/JOHNKEMTESTLA",
            "resourceId": "/SUBSCRIPTIONS/AAAA0A0A-BB1B-CC2C-DD3D-EEEEEE4E4E4E/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": "AAAA0A0A-BB1B-CC2C-DD3D-EEEEEE4E4E4E",
                    "resourceGroupName": "JohnKemTest",
                    "workflowId": "dddd3333-ee44-5555-66ff-777777aaaaaa",
                    "workflowName": "JohnKemTestLA",
                    "runId": "08587330012106702630",
                    "location": "westus",
                    "actionName": "Send_email"
                },
                "correlation": {
                    "actionTrackingId": "ffff5555-aa66-7777-88bb-999999cccccc",
                    "clientTrackingId": "08587330012106702632"
                }
            }
        }
    ]
}

Wysyłanie do usługi Azure Storage

Wyślij dzienniki zasobów do usługi Azure Storage, aby zachować je do archiwizacji. Po utworzeniu ustawienia diagnostycznego kontener magazynowy zostanie utworzony na koncie magazynowym, gdy tylko wystąpi zdarzenie w jednej z aktywowanych kategorii dzienników.

Uwaga / Notatka

Alternatywą do archiwizacji jest wysłanie dziennika zasobów do tabeli w obszarze roboczym usługi Log Analytics z niskim kosztem i długoterminowym przechowywaniem.

Obiekty blob w kontenerze używają następującej konwencji nazewnictwa:

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

Obiekt blob dla sieciowej grupy zabezpieczeń może mieć nazwę podobną do następującej:

insights-logs-networksecuritygrouprulecounter/resourceId=/SUBSCRIPTIONS/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/RESOURCEGROUPS/TESTRESOURCEGROUP/PROVIDERS/MICROSOFT.NETWORK/NETWORKSECURITYGROUP/TESTNSG/y=2016/m=08/d=22/h=18/m=00/PT1H.json

Każdy obiekt blob PT1H.json zawiera obiekt JSON ze zdarzeniami z plików dziennika, które zostały odebrane w ciągu godziny określonej w adresie URL obiektu blob. W ciągu obecnej godziny zdarzenia są dołączane do pliku PT1H.json podczas ich odbierania, niezależnie od tego, kiedy zostały wygenerowane. Wartość minutowa w adresie URL, m=00 jest zawsze 00, ponieważ obiekty blob są tworzone co godzinę.

W pliku PT1H.json każde zdarzenie jest przechowywane w następującym formacie. Używa on wspólnego schematu najwyższego poziomu, ale jest unikatowy dla każdej usługi platformy Azure, zgodnie z opisem w schemacie dzienników zasobów.

Uwaga / Notatka

Logi są zapisywane w obiektach blob według czasu odebrania, niezależnie od czasu ich wygenerowania. Oznacza to, że dany obiekt blob może zawierać dane dziennika, które znajdują się poza godziną określoną w adresie URL obiektu blob. Jeśli źródło danych, takie jak Usługa Application Insights, obsługuje przekazywanie nieaktualnych danych telemetrycznych, obiekt blob danych może zawierać dane z poprzednich 48 godzin. Na początku nowej godziny może się zdarzyć, że istniejące logi są nadal zapisywane do obiektu blob poprzedniej godziny, podczas gdy nowe logi są zapisywane do obiektu blob nowej godziny.

{"time": "2016-07-01T00:00:37.2040000Z","systemId": "a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1","category": "NetworkSecurityGroupRuleCounter","resourceId": "/SUBSCRIPTIONS/AAAA0A0A-BB1B-CC2C-DD3D-EEEEEE4E4E4E/RESOURCEGROUPS/TESTRESOURCEGROUP/PROVIDERS/MICROSOFT.NETWORK/NETWORKSECURITYGROUPS/TESTNSG","operationName": "NetworkSecurityGroupCounters","properties": {"vnetResourceGuid": "{aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e}","subnetPrefix": "10.3.0.0/24","macAddress": "000123456789","ruleName": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/testresourcegroup/providers/Microsoft.Network/networkSecurityGroups/testnsg/securityRules/default-allow-rdp","direction": "In","type": "allow","matchedConnections": 1988}}

Integracje partnerów w usłudze Azure Monitor

Dzienniki zasobów można również wysyłać do rozwiązań partnerskich, które są w pełni zintegrowane z platformą Azure. Aby uzyskać listę tych rozwiązań i szczegółowe informacje na temat ich konfigurowania, zobacz Integracje partnerów usługi Azure Monitor.

Dalsze kroki