Przekazywanie dzienników diagnostycznych usługi Azure Automation do usługi Azure Monitor
Usługa Azure Automation może wysyłać stan zadania elementu Runbook i strumienie zadań do obszaru roboczego usługi Log Analytics. Ten proces nie obejmuje łączenia obszarów roboczych i jest całkowicie niezależny i umożliwia wykonywanie prostych badań. Dzienniki zadań i strumienie zadań są widoczne w witrynie Azure Portal lub przy użyciu programu PowerShell dla poszczególnych zadań. Dzienniki usługi Azure Monitor dla konta usługi Automation umożliwiają:
- Uzyskaj wgląd w stan zadań usługi Automation.
- Wyzwalanie wiadomości e-mail lub alertu na podstawie stanu zadania elementu Runbook (na przykład niepowodzenie lub wstrzymanie).
- Pisanie zaawansowanych zapytań obejmujących wiele strumieni zadań.
- Korelowanie zadań z wielu kont usługi Automation.
- Użyj dostosowanych widoków i zapytań wyszukiwania, aby wizualizować wyniki elementu Runbook, stan zadania elementu Runbook i inne powiązane kluczowe wskaźniki lub metryki za pośrednictwem pulpitu nawigacyjnego platformy Azure.
- Pobierz dzienniki inspekcji związane z kontami usługi Automation, elementami Runbook i innymi operacjami tworzenia, modyfikowania i usuwania zasobów.
Za pomocą dzienników usługi Azure Monitor można konsolidować dzienniki z różnych zasobów w tym samym obszarze roboczym, w którym można je analizować za pomocą zapytań , aby szybko pobierać, konsolidować i analizować zebrane dane. Zapytania można tworzyć i testować przy użyciu usługi Log Analytics w witrynie Azure Portal, a następnie bezpośrednio analizować dane przy użyciu tych narzędzi lub zapisywać zapytania do użycia z wizualizacjami lub regułami alertów.
Usługa Azure Monitor używa wersji języka zapytań Kusto (KQL) używanego przez usługę Azure Data Explorer, która jest odpowiednia dla prostych zapytań dzienników. Obejmuje również zaawansowane funkcje, takie jak agregacje, sprzężenia i inteligentna analiza. Język zapytań można szybko nauczyć się, korzystając z wielu lekcji.
Ustawienia diagnostyczne usługi Azure Automation
Możesz przekazywać następujące dzienniki platformy i dane metryk przy użyciu obsługi ustawień diagnostycznych usługi Automation:
Typy danych | opis |
---|---|
Dzienniki zadań | Stan zadania elementu Runbook na koncie usługi Automation. |
Strumienie zadań | Stan strumieni zadań w elemecie Runbook zdefiniowanym na koncie usługi Automation. |
DSCNodeStatus | Stan węzła DSC. |
AuditEvent | Wszystkie dzienniki zasobów rejestrujące interakcje klientów z danymi lub ustawieniami usługi Azure Automation. |
Metryki | Łączna liczba zadań, aktualizacja całkowita, przebiegi maszyny wdrożenia, łączna liczba przebiegów wdrożenia aktualizacji. |
Konfigurowanie ustawień diagnostycznych w witrynie Azure Portal
Ustawienia diagnostyczne można skonfigurować w witrynie Azure Portal z menu dla zasobu konta usługi Automation.
W menu Konto usługi Automation w obszarze Monitorowanie wybierz pozycję Ustawienia diagnostyczne.
Kliknij pozycję Dodaj ustawienie diagnostyczne.
Wprowadź nazwę ustawienia w nazwie ustawienia diagnostycznego, jeśli jeszcze go nie ma.
Możesz również wyświetlić wszystkie kategorie dzienników i metryk.
Dzienniki i metryki do kierowania : w przypadku dzienników wybierz grupę kategorii lub zaznacz poszczególne pola wyboru dla każdej kategorii danych, które chcesz wysłać do określonych miejsc docelowych. Wybierz pozycję Wszystkie metryki , jeśli chcesz przechowywać metryki w dziennikach usługi Azure Monitor.
Szczegóły miejsca docelowego: zaznacz pole wyboru dla każdego miejsca docelowego. Zgodnie z wyborem każdego pola opcje są wyświetlane, aby umożliwić dodawanie dodatkowych informacji.
Log Analytics : wprowadź identyfikator subskrypcji i nazwę obszaru roboczego. Jeśli nie masz obszaru roboczego, musisz go utworzyć przed kontynuowaniem.
Event Hubs: określ następujące kryteria:
- Subskrypcja: ta sama subskrypcja co centrum zdarzeń.
- Przestrzeń nazw centrum zdarzeń: utwórz centrum zdarzeń, jeśli jeszcze go nie masz.
- Nazwa centrum zdarzeń (opcjonalnie): jeśli nie określisz nazwy, dla każdej kategorii dziennika zostanie utworzone centrum zdarzeń. Jeśli wysyłasz wiele kategorii, określ nazwę, aby ograniczyć liczbę utworzonych usług Event Hubs. Aby uzyskać szczegółowe informacje, zobacz Limity przydziału i limity usługi Azure Event Hubs.
- Zasady centrum zdarzeń (opcjonalnie): zasady definiują uprawnienia, które ma mechanizm przesyłania strumieniowego. Zobacz Funkcję usługi Event Hubs.
Magazyn: wybierz zasady subskrypcji, konta magazynu i przechowywania.
Integracja z partnerami: musisz najpierw zainstalować integrację partnerów z subskrypcją. Opcje konfiguracji będą się różnić w zależności od partnera. Aby uzyskać więcej informacji, zobacz Integracja z usługą Azure Monitor.
Kliknij przycisk Zapisz.
Po kilku chwilach nowe ustawienie zostanie wyświetlone na liście ustawień tego zasobu, a dzienniki są przesyłane strumieniowo do określonych miejsc docelowych w miarę generowania nowych danych zdarzeń. Może istnieć 15-minutowa różnica czasu między zdarzeniem emitowanych i jego wyglądem w obszarze roboczym usługi Log Analytics.
Wykonywanie zapytań dotyczących dzienników
Aby wysłać zapytanie do wygenerowanych dzienników:
Na koncie usługi Automation w obszarze Monitorowanie wybierz pozycję Dzienniki.
W obszarze Wszystkie zapytania wybierz pozycję Zadania automatyzacji.
Wybierz jedno z zapytań, które chcesz wykonać, a następnie kliknij przycisk Uruchom.
Aby wykonać zapytanie niestandardowe, zamknij okno Zapytania i wklej zapytanie niestandardowe w nowym oknie zapytania, a następnie kliknij przycisk Uruchom.
Dane wyjściowe zapytania są wyświetlane w okienku Wyniki .
Kliknij pozycję Nowa reguła alertu, aby skonfigurować alert usługi Azure Monitor dla tego zapytania.
Rekordy dziennika usługi Azure Monitor
Diagnostyka usługi Azure Automation tworzy następujące typy rekordów w dziennikach usługi Azure Monitor oznaczone jako AzureDiagnostics
. Tabele w poniższych sekcjach to przykłady rekordów generowanych przez usługę Azure Automation i typów danych wyświetlanych w wynikach wyszukiwania dzienników.
Dzienniki zadań
Właściwości | opis |
---|---|
TimeGenerated | Data i godzina dla wykonania zadania elementu Runbook. |
RunbookName_s | Nazwa/nazwy elementu Runbook. |
Caller_s | Obiekt wywołujący, który zainicjował operację. Możliwe wartości to adres e-mail lub system w przypadku zaplanowanych zadań. |
Tenant_g | Identyfikator GUID (globalnie unikatowy identyfikator), który identyfikuje dzierżawę elementu wywołującego. |
JobId_g | Identyfikator GUID identyfikujący zadanie elementu Runbook. |
ResultType | Stan zadania elementu Runbook. Dopuszczalne wartości: -Utworzono — Uruchomione — Zatrzymane — Wstrzymane — Nie powiodło się -Zakończone |
Kategoria | Klasyfikacja typu danych. W przypadku usługi Automation wartością jest JobLogs. |
OperationName | Typ operacji wykonywanej na platformie Azure. W przypadku usługi Automation wartość to Zadanie. |
Zasób | Nazwa konta usługi Automation |
SourceSystem | System używany przez dzienniki usługi Azure Monitor do zbierania danych. Wartość to zawsze platforma Azure do diagnostyki platformy Azure. |
ResultDescription | Stan wyniku zadania elementu Runbook. Dopuszczalne wartości: — Zadanie jest uruchomione — Zadanie nie powiodło się — Zadanie zostało ukończone |
CorrelationId | Identyfikator GUID korelacji zadania elementu Runbook. |
ResourceId | Identyfikator zasobu konta usługi Azure Automation elementu Runbook. |
SubscriptionId | Identyfikator GUID subskrypcji platformy Azure dla konta usługi Automation. |
ResourceGroup | Nazwa grupy zasobów dla konta usługi Automation. |
ResourceProvider | Nazwa dostawcy zasobów. Wartość to MICROSOFT. AUTOMATYZACJA. |
ResourceType | Typ zasobu. Wartość to AUTOMATIONACCOUNTS. |
Strumienie zadania
Właściwości | opis |
---|---|
TimeGenerated | Data i godzina wykonania zadania elementu Runbook. |
RunbookName_s | Nazwa elementu Runbook. |
Caller_s | Obiekt wywołujący, który zainicjował operację. Możliwe wartości to adres e-mail lub system w przypadku zaplanowanych zadań. |
StreamType_s | Typ strumienia zadań. Dopuszczalne wartości: — Postęp — Dane wyjściowe - Ostrzeżenie — Błąd — Debugowanie — Pełne |
Tenant_g | Identyfikator GUID identyfikujący dzierżawę elementu wywołującego. |
JobId_g | Identyfikator GUID identyfikujący zadanie elementu Runbook. |
ResultType | Stan zadania elementu Runbook. Dopuszczalne wartości: -W toku |
Kategoria | Klasyfikacja typu danych. W przypadku usługi Automation wartością jest JobStreams. |
OperationName | Typ operacji wykonywanej na platformie Azure. W przypadku usługi Automation wartość to Zadanie. |
Zasób | Nazwa konta usługi Automation. |
SourceSystem | System używany przez dzienniki usługi Azure Monitor do zbierania danych. Wartość to zawsze platforma Azure do diagnostyki platformy Azure. |
ResultDescription | Opis zawierający strumień wyjściowy z elementu Runbook. |
CorrelationId | Identyfikator GUID korelacji zadania elementu Runbook. |
ResourceId | Identyfikator zasobu konta usługi Azure Automation elementu Runbook. |
SubscriptionId | Identyfikator GUID subskrypcji platformy Azure dla konta usługi Automation. |
ResourceGroup | Nazwa grupy zasobów dla konta usługi Automation. |
ResourceProvider | Dostawca zasobów. Wartość to MICROSOFT. AUTOMATYZACJA. |
ResourceType | Typ zasobu. Wartość to AUTOMATIONACCOUNTS. |
Uwaga
Upewnij się, że poświadczenia nie są wysyłane do strumieni zadań. Usługa usuwa poświadczenia przed wyświetleniem strumieni zadań w dziennikach diagnostycznych.
Inspekcja zdarzeń
Właściwości | opis |
---|---|
TenantID | Identyfikator GUID identyfikujący dzierżawę elementu wywołującego. |
TimeGenerated [UTC] | Data i godzina wykonania zadania elementu Runbook. |
Kategoria | AuditEvent |
ResourceGroup | Nazwa grupy zasobów konta usługi Automation. |
Identyfikator subskrypcji | Identyfikator GUID subskrypcji platformy Azure dla konta usługi Automation. |
ResourceProvider | MICROSOFT. AUTOMATYZACJA |
Zasób | Nazwa konta usługi Automation |
ResourceType | AUTOMATIONACCOUNTS |
OperationName | Możliwe wartości to Update, Create, Delete. |
ResultType | Stan zadania elementu Runbook. Możliwa wartość to: Ukończono. |
CorrelationId | Identyfikator GUID korelacji zadania elementu Runbook. |
ResultDescription | Stan wyniku zadania elementu Runbook. Możliwe wartości to Update, Create, Delete. |
Tenant_g | Identyfikator GUID identyfikujący dzierżawę elementu wywołującego. |
SourceSystem | System używany przez dzienniki usługi Azure Monitor do zbierania danych. Wartość to zawsze platforma Azure do diagnostyki platformy Azure. |
clientInfo_IpAddress_s | {szorowane} |
clientInfo_PrincipalName_s | {szorowane} |
clientInfo_TenantId_g | Identyfikator dzierżawy klienta. |
clientInfo_Issuer_s | |
clientInfo_ObjectId_g | Identyfikator obiektu klienta. |
clientInfo_AppId_g | AppID klienta. |
clientInfo_ClientRequestId_g | RequestID klienta |
targetResources_Resource_s | Konto, zadanie, poświadczenia, połączenia, zmienne, element Runbook. |
Typ | AzureDiagnostics |
_ResourceId | Identyfikator zasobu konta usługi Azure Automation elementu Runbook. |
Wyświetlanie dzienników usługi Automation w dziennikach usługi Azure Monitor
Po rozpoczęciu wysyłania strumieni zadań i dzienników usługi Automation do dzienników usługi Azure Monitor zobaczmy, co można zrobić z tymi dziennikami w dziennikach usługi Azure Monitor.
Aby wyświetlić dzienniki, uruchom następujące zapytanie: kusto AzureDiagnostics | where ResourceProvider == "MICROSOFT.AUTOMATION"
Przykładowe zapytania dotyczące dzienników zadań i strumieni zadań
Znajdź wszystkie zadania, które zostały ukończone z błędem
Oprócz scenariuszy, takich jak alerty dotyczące błędów, można znaleźć, gdy zadanie elementu Runbook ma błąd niepowodujący zakończenia. W takich przypadkach program PowerShell generuje strumień błędów, ale błędy niepowodujące zakończenia nie powodują wstrzymania lub niepowodzenia zadania.
- W obszarze roboczym usługi Log Analytics kliknij pozycję Dzienniki.
- W polu zapytania wpisz:
AzureDiagnostics | where ResourceProvider == "MICROSOFT.AUTOMATION" and Category == "JobStreams" and StreamType_s == "Error" | summarize AggregatedValue = count () by JobId_g.
- Kliknij przycisk Wyszukaj.
Wyświetlanie strumieni zadań dla zadania
Podczas debugowania zadania warto również przyjrzeć się strumieniom zadań. Następujące zapytanie przedstawia wszystkie strumienie dla pojedynczego zadania z identyfikatorem GUID 2ebd22ea-e05e-4eb9-9d76-d73cbd4356e0
:
AzureDiagnostics
| where ResourceProvider == "MICROSOFT.AUTOMATION" and Category == "JobStreams" and JobId_g == "2ebd22ea-e05e-4eb9-9d76-d73cbd4356e0"
| sort by TimeGenerated asc
| project ResultDescription
Wyświetlanie stanu zadania historycznego
Na koniec możesz zwizualizować historię zadań w czasie. To zapytanie umożliwia wyszukiwanie stanu zadań w czasie.
AzureDiagnostics
| where ResourceProvider == "MICROSOFT.AUTOMATION" and Category == "JobLogs" and ResultType != "started"
| summarize AggregatedValue = count() by ResultType, bin(TimeGenerated, 1h)
Znajdź dzienniki raportowania błędów w zadaniach automatyzacji.
AzureDiagnostics
| where ResourceProvider == "MICROSOFT.AUTOMATION"
| where StreamType_s == "Error"
| project TimeGenerated, Category, JobId_g, OperationName, RunbookName_s, ResultDescription, _ResourceId
Znajdowanie ukończonych zadań usługi Azure Automation
AzureDiagnostics
| where ResourceProvider == "MICROSOFT.AUTOMATION" and Category == "JobLogs" and ResultType == "Completed"
| project TimeGenerated, RunbookName_s, ResultType, _ResourceId, JobId_g
Znajdowanie zadań usługi Azure Automation, które zakończyły się niepowodzeniem, wstrzymano lub zatrzymano
AzureDiagnostics
| where ResourceProvider == "MICROSOFT.AUTOMATION" and Category == "JobLogs" and (ResultType == "Failed" or ResultType == "Stopped" or ResultType == "Suspended")
| project TimeGenerated, RunbookName_s, ResultType, _ResourceId, JobId_g
Wyświetl listę wszystkich elementów Runbook i zadań zakończonych pomyślnie z błędami
AzureDiagnostics
| where ResourceProvider == "MICROSOFT.AUTOMATION" and Category == "JobStreams" and StreamType_s == "Error"
| project TimeGenerated, RunbookName_s, StreamType_s, _ResourceId, ResultDescription, JobId_g
Wysyłanie wiadomości e-mail w przypadku niepowodzenia lub zawieszenia zadania elementu Runbook
W poniższych krokach wyjaśniono, jak skonfigurować alerty e-mail w usłudze Azure Monitor w celu powiadamiania, gdy coś pójdzie nie tak z zadaniem elementu Runbook.
Aby utworzyć regułę alertu, utwórz dziennik wyszukiwania rekordów zadań elementu Runbook, które powinny wywołać alert zgodnie z opisem w artykule Wykonywanie zapytań dotyczących dzienników. Kliknij pozycję +Nowa reguła alertu, aby skonfigurować regułę alertu.
Na koncie usługi Automation w obszarze Monitorowanie wybierz pozycję Dzienniki.
Utwórz zapytanie wyszukiwania dzienników dla alertu, wprowadzając kryteria wyszukiwania w polu zapytania.
AzureDiagnostics | where ResourceProvider == "MICROSOFT.AUTOMATION" and Category == "JobLogs" and (ResultType == "Failed" or ResultType == "Suspended")
Możesz również grupować według nazwy elementu Runbook przy użyciu:
AzureDiagnostics | where ResourceProvider == "MICROSOFT.AUTOMATION" and Category == "JobLogs" and (ResultType == "Failed" or ResultType == "Suspended") | summarize AggregatedValue = count() by RunbookName_s
Aby otworzyć ekran Tworzenie reguły alertu, kliknij pozycję +Nowa reguła alertu w górnej części strony. Aby uzyskać więcej informacji na temat opcji konfigurowania alertów, zobacz Rejestrowanie alertów na platformie Azure
Dzienniki inspekcji diagnostycznej usługi Azure Automation
Teraz możesz wysyłać dzienniki inspekcji również do obszaru roboczego usługi Azure Monitor. Dzięki temu przedsiębiorstwa mogą monitorować kluczowe działania kont automatyzacji pod kątem zabezpieczeń i zgodności. Po włączeniu za pomocą ustawień Diagnostyka Azure można zbierać dane telemetryczne dotyczące operacji tworzenia, aktualizowania i usuwania elementów Runbook usługi Automation, zadań i zasobów automatyzacji, takich jak połączenie, poświadczenia, zmienna i certyfikat. Alerty dotyczące warunków dziennika inspekcji można również skonfigurować w ramach wymagań dotyczących monitorowania zabezpieczeń.
Różnica między dziennikami aktywności a dziennikami inspekcji
Dziennik aktywności to dziennikplatformy Azure, który zapewnia wgląd w zdarzenia na poziomie subskrypcji. Dziennik aktywności dla konta usługi Automation zawiera informacje o tym, kiedy zasób automatyzacji jest modyfikowany lub tworzony lub usuwany. Nie przechwytuje jednak nazwy ani identyfikatora zasobu.
Dzienniki inspekcji dla kont usługi Automation przechwytują nazwę i identyfikator zasobu, takie jak zmienna automatyzacji, poświadczenia, połączenie itd., wraz z typem operacji wykonanej dla zasobu, a usługa Azure Automation wyczyści niektóre szczegóły, takie jak dane ip klienta zgodne ze zgodnością z RODO.
Dzienniki aktywności zawierają szczegółowe informacje, takie jak adres IP klienta, ponieważ dziennik aktywności jest dziennikiem platformy, który zawiera szczegółowe informacje diagnostyczne i inspekcji dla zasobów platformy Azure. Są one generowane automatycznie dla działań występujących w usłudze ARM i są wypychane do dostawcy zasobów dziennika aktywności. Ponieważ dzienniki aktywności są częścią monitorowania platformy Azure, zostaną wyświetlone pewne dane klienta w celu zapewnienia wglądu w aktywność klienta.
Przykładowe zapytania dotyczące dzienników inspekcji
Zapytanie dotyczące wyświetlania dzienników inspekcji zasobów usługi Automation
AzureDiagnostics
| where ResourceProvider == "MICROSOFT.AUTOMATION" and Category == "AuditEvent"
Wykonywanie zapytania w celu monitorowania dowolnej operacji aktualizacji zmiennej, tworzenia lub usuwania
AzureDiagnostics
| where ResourceProvider == "MICROSOFT.AUTOMATION" and Category == "AuditEvent" and targetResources_Resource_s == "Variable"
Wykonywanie zapytań dotyczących monitorowania dowolnej operacji elementu Runbook, takiej jak tworzenie, wersja robocza lub aktualizacja
AzureDiagnostics
| where ResourceProvider == "MICROSOFT.AUTOMATION" and Category == "AuditEvent" and targetResources_Resource_s contains "Runbook"
Wykonywanie zapytań dotyczących monitorowania tworzenia certyfikatu, aktualizowania lub usuwania
AzureDiagnostics
| where ResourceProvider == "MICROSOFT.AUTOMATION" and Category == "AuditEvent" and targetResources_Resource_s contains "Certificate"
Wykonywanie zapytania w celu monitorowania tworzenia, aktualizowania lub usuwania poświadczeń
AzureDiagnostics
| where ResourceProvider == "MICROSOFT.AUTOMATION" and Category == "AuditEvent" and targetResources_Resource_s contains "Credential"
Filtrowanie danych wyjściowych stanu zadania przekonwertowanych na obiekt JSON
Ostatnio zmieniliśmy zachowanie sposobu zapisywania danych dziennika usługi Automation w AzureDiagnostics
tabeli w usłudze Log Analytics, gdzie nie dzieli już właściwości JSON na oddzielne pola. Jeśli element Runbook został skonfigurowany do formatowania obiektów w strumieniu wyjściowym w formacie JSON jako oddzielnych kolumn, należy ponownie skonfigurować zapytania, aby przeanalizować to pole do obiektu JSON w celu uzyskania dostępu do tych właściwości. Jest to realizowane przy użyciu analizowania kodu json w celu uzyskania dostępu do określonego elementu JSON w znanej ścieżce.
Na przykład element Runbook formatuje właściwość ResultDescription w strumieniu wyjściowym w formacie JSON z wieloma polami. Aby wyszukać stan zadań, które są w stanie niepowodzenia określonym w polu o nazwie Stan, użyj tego przykładowego zapytania, aby wyszukać wynikDescription ze stanem Niepowodzenie:
AzureDiagnostics
| where Category == 'JobStreams'
| extend jsonResourceDescription = parse_json(ResultDescription)
| where jsonResourceDescription.Status == 'Failed'
Następne kroki
- Aby dowiedzieć się, jak tworzyć zapytania wyszukiwania i przeglądać dzienniki zadań usługi Automation za pomocą dzienników usługi Azure Monitor, zobacz Przeszukiwanie dzienników w dziennikach usługi Azure Monitor.
- Aby zrozumieć tworzenie i pobieranie komunikatów o błędach i danych wyjściowych z elementów Runbook, zobacz Monitorowanie danych wyjściowych elementu Runbook.
- Aby dowiedzieć się więcej na temat wykonywania elementu Runbook, sposobu monitorowania zadań elementów Runbook i innych szczegółów technicznych, zobacz Wykonywanie elementu Runbook w usłudze Azure Automation.
- Aby dowiedzieć się więcej o dziennikach usługi Azure Monitor i źródłach zbierania danych, zobacz Zbieranie danych usługi Azure Storage w dziennikach usługi Azure Monitor — omówienie.
- Aby uzyskać pomoc dotyczącą rozwiązywania problemów z usługą Log Analytics, zobacz Rozwiązywanie problemów z tym, dlaczego usługa Log Analytics nie zbiera już danych.