Dzienniki zasobów platformy Azure

Dzienniki zasobów platformy Azure to dzienniki platformy , które zapewniają wgląd w operacje wykonane w ramach zasobu platformy Azure. Zawartość dzienników zasobów różni się w zależności od typu usługi i zasobu platformy Azure. Dzienniki zasobów nie są domyślnie zbierane. W tym artykule opisano ustawienie diagnostyczne wymagane dla każdego zasobu platformy Azure do wysyłania dzienników zasobów do różnych miejsc docelowych.

Wysyłanie do obszaru roboczego usługi Log Analytics

Wysyłanie dzienników zasobów do obszaru roboczego usługi Log Analytics w celu włączenia funkcji dzienników usługi Azure Monitor, w których można wykonywać następujące czynności:

  • Korelowanie danych dziennika zasobów z innymi danymi monitorowania zbieranymi przez usługę Azure Monitor.
  • Skonsoliduj wpisy dziennika z wielu zasobów, subskrypcji i dzierżaw platformy Azure w jedną lokalizację na potrzeby analizy razem.
  • Wykonywanie złożonych analiz i uzyskiwanie szczegółowych informacji na temat danych dzienników przy użyciu zapytań dzienników.
  • Używaj alertów dzienników ze złożoną logiką alertów.

Utwórz ustawienie diagnostyczne w celu 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 kolekcji używanej przez zasób:

  • Diagnostyka platformy Azure: wszystkie dane są zapisywane w tabeli AzureDiagnostics .
  • Specyficzne dla zasobu: dane są zapisywane w poszczególnych tabelach dla każdej kategorii zasobu.

Specyficzne dla zasobu

W tym trybie poszczególne tabele w wybranym obszarze roboczym są tworzone dla każdej kategorii wybranej w ustawieniu diagnostycznym. Zalecamy tę metodę, ponieważ:

  • Ułatwia pracę z danymi w zapytaniach dziennika.
  • Zapewnia lepszą możliwość odnajdywania schematów i ich struktury.
  • Zwiększa wydajność między opóźnieniami pozyskiwania i czasem wykonywania zapytań.
  • Zapewnia możliwość udzielania praw kontroli dostępu na podstawie ról na platformie Azure w określonej tabeli.

Wszystkie usługi platformy Azure zostaną ostatecznie zmigrowane do trybu specyficznego dla zasobów.

W poprzednim przykładzie są tworzone trzy tabele:

  • Tabeli Service1AuditLogs

    Dostawca zasobów Kategoria A B C
    Service1 AuditLogs x1 y1 Z1
    Service1 AuditLogs x5 y5 z5
    ...
  • Tabeli Service1ErrorLogs

    Dostawca zasobów Kategoria D E F
    Service1 Dzienniki błędów Q1 w1 e1
    Service1 Dzienniki błędów q2 w2 e2
    ...
  • Tabeli Service2AuditLogs

    Dostawca zasobów Kategoria G H I
    Service2 AuditLogs j1 k1 l1
    Service2 AuditLogs j3 k3 l3
    ...

Tryb diagnostyki platformy Azure

W tym trybie wszystkie dane z dowolnego ustawienia diagnostycznego są zbierane w tabeli AzureDiagnostics . Ta starsza metoda jest obecnie używana przez większość 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 AzureDiagnostics reference (Dokumentacja narzędzia AzureDiagnostics).

Rozważmy przykład, w którym ustawienia diagnostyczne są zbierane w tym samym obszarze roboczym dla następujących typów danych:

  • Dzienniki inspekcji usługi 1 mają schemat składający się z kolumn A, B i C
  • Dzienniki błędów usługi 1 mają schemat składający się z kolumn D, E i F
  • Dzienniki inspekcji usługi 2 mają schemat składający się z kolumn G, H i I

Tabela AzureDiagnostics wygląda następująco:

ResourceProvider Kategoria A B C D E F G H I
Microsoft. Service1 AuditLogs x1 y1 Z1
Microsoft. Service1 Dzienniki błędów Q1 w1 e1
Microsoft. Service2 AuditLogs j1 k1 l1
Microsoft. Service1 Dzienniki błędów q2 w2 e2
Microsoft. Service2 AuditLogs j3 k3 l3
Microsoft. Service1 AuditLogs x5 y5 z5
...

Wybieranie trybu kolekcji

Większość zasobów platformy Azure zapisuje dane w obszarze roboczym w trybie diagnostycznym platformy Azure lub specyficznym dla zasobów bez podawania wyboru. Aby uzyskać więcej informacji, zobacz Typowe i specyficzne dla usługi schematy dzienników zasobów platformy Azure.

Wszystkie usługi platformy Azure ostatecznie używają 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

Aby uzyskać przykład ustawiający tryb zbierania przy użyciu szablonu usługi Azure Resource Manager, zobacz Resource Manager przykłady szablonów 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 obszaru roboczego. Nowe dane są zbierane w dedykowanej tabeli. Użyj operatora unii do wykonywania zapytań dotyczących danych w obu tabelach.

Kontynuuj oglądanie bloga usługi Azure Aktualizacje o ogłoszeniach dotyczących usług platformy Azure, które obsługują tryb specyficzny dla zasobów.

Wyślij 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ą używane w formacie JSON z elementem zawierającym records rekordy w każdym ładunku. Schemat zależy od typu zasobu, zgodnie z opisem w temacie Common and service-specific schema for Azure resource logs (Schemat specyficzny dla usługi dla dzienników zasobów platformy Azure).

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

{
    "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"
                }
            }
        }
    ]
}

Wysyłanie do usługi Azure Storage

Wysyłanie dzienników zasobów do usługi Azure Storage w celu zachowania ich do archiwizacji. Po utworzeniu ustawienia diagnostycznego kontener magazynu zostanie utworzony na koncie magazynu zaraz po wystąpieniu zdarzenia w jednej z kategorii dzienników z włączoną obsługą.

Uwaga

Alternatywną strategią archiwizacji jest wysłanie dziennika zasobów do obszaru roboczego usługi Log Analytics z zasadami archiwum.

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/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żdy obiekt blob PT1H.json zawiera obiekt JSON z 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ść minuty w adresie URL m=00 jest zawsze 00 tworzona jako obiekty blob na 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 temacie Schemat dzienników zasobów.

Uwaga

Dzienniki są zapisywane w obiektach blob na podstawie czasu odebrania dziennika, niezależnie od czasu 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 Application Insights, obsługuje przekazywanie nieaktualnych danych telemetrycznych obiektu blob może zawierać dane z poprzednich 48 godzin.
Na początku nowej godziny istnieje możliwość, że istniejące dzienniki są nadal zapisywane w obiekcie blob poprzedniej godziny, podczas gdy nowe dzienniki są zapisywane w obiekcie blob nowej godziny.

{"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}}

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 sposobu ich konfigurowania, zobacz Integracje partnerów usługi Azure Monitor.

Następne kroki