Monitorowanie usługi Azure Service Bus

Gdy masz aplikacje o krytycznym znaczeniu i procesy biznesowe, które opierają się na zasobach platformy Azure, chcesz monitorować te zasoby pod kątem ich dostępności, wydajności i działania. W tym artykule opisano dane monitorowania generowane przez usługę Azure Service Bus oraz sposób analizowania i zgłaszania alertów dotyczących tych danych za pomocą usługi Azure Monitor.

Co to jest usługa Azure Monitor?

Usługa Azure Service Bus tworzy dane monitorowania przy użyciu usługi Azure Monitor, która jest usługą monitorowania pełnego stosu na platformie Azure. Usługa Azure Monitor udostępnia kompletny zestaw funkcji do monitorowania zasobów platformy Azure. Może również monitorować zasoby w innych chmurach i środowiskach lokalnych.

Zacznij od artykułu Monitorowanie zasobów platformy Azure za pomocą usługi Azure Monitor, w którym opisano następujące pojęcia:

  • Co to jest usługa Azure Monitor?
  • Koszty związane z monitorowaniem
  • Monitorowanie danych zebranych na platformie Azure
  • Konfigurowanie zbierania danych
  • Standardowe narzędzia na platformie Azure do analizowania i zgłaszania alertów dotyczących danych monitorowania

Poniższe sekcje opierają się na tym artykule, opisując konkretne dane zebrane dla usługi Azure Service Bus. Te sekcje zawierają również przykłady konfigurowania zbierania danych i analizowania tych danych za pomocą narzędzi platformy Azure.

Napiwek

Aby zrozumieć koszty związane z usługą Azure Monitor, zobacz Koszty i użycie usługi Azure Monitor. Aby zrozumieć czas wyświetlania danych w usłudze Azure Monitor, zobacz Czas pozyskiwania danych dzienników.

Monitorowanie danych z usługi Azure Service Bus

Usługa Azure Service Bus zbiera te same rodzaje danych monitorowania co inne zasoby platformy Azure opisane w temacie Monitorowanie danych z zasobów platformy Azure.

Aby uzyskać szczegółowe informacje o dziennikach i metrykach utworzonych przez usługę Azure Service Bus, zobacz Dokumentację danych monitorowania usługi Azure Service Bus.

Zbieranie i routing

Metryki platformy i dziennik aktywności są zbierane i przechowywane automatycznie, ale mogą być kierowane do innych lokalizacji przy użyciu ustawienia diagnostycznego.

Dzienniki zasobów nie są zbierane ani przechowywane, dopóki nie utworzysz ustawienia diagnostycznego i nie przekierujesz ich do co najmniej jednej lokalizacji.

Aby poznać szczegółowy proces tworzenia ustawienia diagnostycznego przy użyciu witryny Azure Portal, interfejsu wiersza polecenia lub programu PowerShell, zobacz temat Tworzenie ustawienia diagnostycznego w celu zbierania dzienników i metryk platformy na platformie Azure. Podczas tworzenia ustawienia diagnostycznego należy określić kategorie dzienników, które mają być zbierane. Kategorie usługi Azure Service Bus są wymienione w dokumentacji danych monitorowania usługi Azure Service Bus.

Uwaga

Usługa Azure Monitor nie uwzględnia wymiarów w wyeksportowanych danych metryk, które są wysyłane do miejsca docelowego, takiego jak Azure Storage, Azure Event Hubs, Log Analytics itp.

Azure Storage

Informacje rejestrowania diagnostycznego są przechowywane w kontenerach o nazwie insights-logs-operationlogs i insights-metrics-pt1m.

Przykładowy adres URL dziennika operacji: https://<Azure Storage account>.blob.core.windows.net/insights-logs-operationallogs/resourceId=/SUBSCRIPTIONS/<Azure subscription ID>/RESOURCEGROUPS/<Resource group name>/PROVIDERS/MICROSOFT.SERVICEBUS/NAMESPACES/<Namespace name>/y=<YEAR>/m=<MONTH-NUMBER>/d=<DAY-NUMBER>/h=<HOUR>/m=<MINUTE>/PT1H.json. Adres URL dziennika metryk jest podobny.

Azure Event Hubs

Informacje dotyczące rejestrowania diagnostycznego są przechowywane w centrach zdarzeń o nazwie insights-logs-operationlogs i insights-metrics-pt1m. Możesz również wybrać własne centrum zdarzeń.

Log Analytics

Informacje dotyczące rejestrowania diagnostycznego są przechowywane w tabelach o nazwach AzureDiagnostics i AzureMetrics.

Przykładowe dane wyjściowe dziennika operacyjnego (sformatowane)

{
	"Environment": "PROD",
	"Region": "East US",
	"ScaleUnit": "PROD-BL2-002",
	"ActivityId": "a097a88a-33e5-4c9c-9c64-20f506ec1375",
	"EventName": "Retrieve Namespace",
	"resourceId": "/SUBSCRIPTIONS/<Azure subscription ID>/RESOURCEGROUPS/SPSBUS0213RG/PROVIDERS/MICROSOFT.SERVICEBUS/NAMESPACES/SPSBUS0213NS",
	"SubscriptionId": "<Azure subscription ID>",
	"EventTimeString": "5/18/2021 3:25:55 AM +00:00",
	"EventProperties": "{\"SubscriptionId\":\"<Azure subscription ID>\",\"Namespace\":\"spsbus0213ns\",\"Via\":\"https://spsbus0213ns.servicebus.windows.net/$Resources/topics?api-version=2017-04&$skip=0&$top=100\",\"TrackingId\":\"a097a88a-33e5-4c9c-9c64-20f506ec1375_M8CH3_M8CH3_G8\"}",
	"Status": "Succeeded",
	"Caller": "rpfrontdoor",
	"category": "OperationalLogs"
}

Przykładowe dane wyjściowe dziennika metryk (sformatowane)

{
	"count": 1,
	"total": 4,
	"minimum": 4,
	"maximum": 4,
	"average": 4,
	"resourceId": "/SUBSCRIPTIONS/<Azure subscription ID>/RESOURCEGROUPS/SPSBUS0213RG/PROVIDERS/MICROSOFT.SERVICEBUS/NAMESPACES/SPSBUS0213NS",
	"time": "2021-05-18T03:27:00.0000000Z",
	"metricName": "IncomingMessages",
	"timeGrain": "PT1M"
}

Ważne

Włączenie tych ustawień wymaga dodatkowych usług platformy Azure (konta magazynu, centrum zdarzeń lub usługi Log Analytics), co może zwiększyć koszt. Aby obliczyć szacunkowy koszt, odwiedź Kalkulator cen platformy Azure.

Uwaga

Po włączeniu metryk w ustawieniu diagnostycznym informacje o wymiarze nie są obecnie uwzględniane jako część informacji wysyłanych do konta magazynu, centrum zdarzeń lub analizy dzienników.

Metryki i dzienniki, które można zebrać, zostały omówione w poniższych sekcjach.

Analizowanie metryk

Metryki usługi Azure Service Bus można analizować wraz z metrykami z innych usług platformy Azure, wybierając pozycję Metryki w sekcji Azure Monitor na stronie głównej przestrzeni nazw usługi Service Bus. Aby uzyskać szczegółowe informacje na temat korzystania z tego narzędzia, zobacz Analizowanie metryk za pomocą Eksploratora metryk usługi Azure Monitor. Aby uzyskać listę zebranych metryk platformy, zobacz Monitorowanie metryk referencyjnych danych usługi Azure Service Bus.

Eksplorator metryk z wybraną przestrzenią nazw usługi Service Bus

Aby uzyskać informacje, zobacz listę wszystkich metryk zasobów obsługiwanych w usłudze Azure Monitor.

Napiwek

Dane metryk usługi Azure Monitor są dostępne przez 90 dni. Jednak podczas tworzenia wykresów można wizualizować tylko 30 dni. Jeśli na przykład chcesz zwizualizować okres 90 dni, musisz podzielić go na trzy wykresy z 30 dni w okresie 90 dni.

Filtrowanie i dzielenie

W przypadku metryk obsługujących wymiary można stosować filtry przy użyciu wartości wymiaru. Na przykład dodaj filtr z EntityName ustawionym na nazwę kolejki lub tematu. Możesz również podzielić metrykę według wymiaru, aby zwizualizować, jak różne segmenty metryki są porównywane ze sobą. Aby uzyskać więcej informacji na temat filtrowania i dzielenia, zobacz Zaawansowane funkcje usługi Azure Monitor.

Analizowanie dzienników

Korzystanie z usługi Azure Monitor Log Analytics wymaga utworzenia konfiguracji diagnostycznej i włączenia opcji Wyślij informacje do usługi Log Analytics. Aby uzyskać więcej informacji, zobacz sekcję Zbieranie i routing . Dane w dziennikach usługi Azure Monitor są przechowywane w tabelach, a każda tabela ma własny zestaw unikatowych właściwości. Usługa Azure Service Bus umożliwia wysyłanie dzienników do jednej z dwóch tabel docelowych — azure Diagnostic lub Resource specific tables w usłudze Log Analytics. Aby uzyskać szczegółowe informacje na temat dzienników i metryk, zobacz Dokumentacja danych monitorowania usługi Azure Service Bus.

Ważne

Po wybraniu pozycji Dzienniki z menu usługi Azure Service Bus usługa Log Analytics zostanie otwarta z zakresem zapytania ustawionym na bieżący obszar roboczy. Oznacza to, że zapytania dziennika będą zawierać tylko dane z tego zasobu. Jeśli chcesz uruchomić zapytanie zawierające dane z innych baz danych lub danych z innych usług platformy Azure, wybierz pozycję Dzienniki z menu usługi Azure Monitor . Aby uzyskać szczegółowe informacje, zobacz Zakres zapytań dzienników i zakres czasu w usłudze Azure Monitor Log Analytics .

Dodatkowe zapytania Kusto

Poniżej przedstawiono przykładowe zapytania, których można użyć do monitorowania zasobów usługi Azure Service Bus:

  • Uzyskaj operacje zarządzania w ciągu ostatnich 7 dni.

    AzureDiagnostics
    | where TimeGenerated > ago(7d)
    | where ResourceProvider =="MICROSOFT.SERVICEBUS"
    | where Category == "OperationalLogs"
    | summarize count() by EventName_s, _ResourceId
    
  • Pobierz dzienniki inspekcji środowiska uruchomieniowego wygenerowane w ciągu ostatniej godziny.

    AzureDiagnostics
    | where TimeGenerated > ago(1h)
    | where ResourceProvider =="MICROSOFT.SERVICEBUS"
    | where Category == "RuntimeAuditLogs"    
    
  • Pobieranie prób dostępu do magazynu kluczy, które spowodowało błąd "nie znaleziono klucza".

    AzureDiagnostics
    | where ResourceProvider == "MICROSOFT.SERVICEBUS" 
    | where Category == "Error" and OperationName == "wrapkey"
    | project Message, _ResourceId
    
  • Pobieranie błędów z ostatnich 7 dni

    AzureDiagnostics
    | where TimeGenerated > ago(7d)
    | where ResourceProvider =="MICROSOFT.SERVICEBUS"
    | where Category == "Error" 
    | summarize count() by EventName_s, _ResourceId
    
  • Pobieranie operacji wykonywanych za pomocą magazynu kluczy w celu wyłączenia lub przywrócenia klucza.

    AzureDiagnostics
    | where ResourceProvider == "MICROSOFT.SERVICEBUS"
    | where (Category == "info" and (OperationName == "disable" or OperationName == "restore"))
    | project Message, _ResourceId
    
  • Pobierz wszystkie jednostki, które zostały automatycznie ułożone

    AzureDiagnostics
    | where ResourceProvider == "MICROSOFT.SERVICEBUS"
    | where Category == "OperationalLogs"
    | where EventName_s startswith "AutoDelete"
    | summarize count() by EventName_s, _ResourceId