Udostępnij przez


Omówienie sposobu integrowania aprowizacji z dziennikami usługi Azure Monitor

Aprowizowanie integruje się z dziennikami usługi Azure Monitor i usługą Log Analytics. Dzięki monitorowaniu platformy Azure możesz wykonywać takie czynności, jak tworzenie skoroszytów, nazywane również pulpitami nawigacyjnymi, przechowywanie dzienników aprowizacji przez 30 dni i tworzenie niestandardowych zapytań i alertów. W tym artykule omówiono sposób integrowania dzienników aprowizacji z dziennikami usługi Azure Monitor. Aby dowiedzieć się więcej o dziennikach aprowizacji, zobacz dzienniki aprowizacji.

Włączanie integracji dzienników aprowizacji

Jeśli nie znasz jeszcze usług Azure Monitor i Log Analytics, zapoznaj się z następującymi zasobami, a następnie wróć, aby dowiedzieć się więcej na temat integrowania dzienników aprowizacji aplikacji z dziennikami usługi Azure Monitor.

Aby zintegrować dzienniki aprowizacji z dziennikami usługi Azure Monitor:

  1. Zaloguj się do centrum administracyjnego firmy Microsoft Entra co najmniej jako administrator zabezpieczeń.

  2. Utwórz obszar roboczy usługi Log Analytics.

  3. Przejdź do Entra ID>monitorowania i kondycji>ustawienia diagnostyczne.

    Zrzut ekranu przedstawiający uzyskiwanie dostępu do ustawień diagnostycznych.

  4. Wybierz dzienniki, które chcesz przesłać strumieniowo, wybierz opcję Wyślij do obszaru roboczego usługi Log Analytics i wypełnij pola.

    Zrzut ekranu przedstawiający włączanie dzienników aprowizacji aplikacji.

  5. Przejdź do witryny Entra ID>Monitoring & health>Log Analytics i rozpocznij wykonywanie zapytań dotyczących danych.

Uwaga

Zanim dzienniki pojawią się w usłudze Log Analytics po pierwszym włączeniu integracji, może upłynąć trochę czasu. Jeśli wystąpi błąd z informacją, że subskrypcja nie jest zarejestrowana do korzystania z microsoft.insights , sprawdź ponownie po kilku minutach.

Informacje o danych

Podstawowy strumień danych, który aprowizacja wysyła osoby przeglądające dzienniki, jest prawie identyczny. Dzienniki usługi Azure Monitor pobierają niemal ten sam strumień co centrum administracyjne firmy Microsoft Entra i interfejs API programu Microsoft Graph. Istnieje kilka różnic w polach dziennika, jak opisano w poniższej tabeli. Usługa Log Analytics może wyświetlać więcej zdarzeń niż dzienniki w centrum administracyjnym firmy Microsoft Entra. Aby dowiedzieć się więcej o tych polach, zobacz List provisioningObjectSummary.

Dzienniki usługi Azure Monitor Interfejs użytkownika witryny Azure Portal Azure API
opis błędu powód opisWyniku
stan typ wyniku typ wyniku
activityDateTime (data/godzina) Godzina utworzenia Godzina utworzenia

Skoroszyty firmy Microsoft Entra

Skoroszyty tożsamości firmy Microsoft Entra udostępniają elastyczną kanwę do analizy danych. Zapewniają one również tworzenie rozbudowanych raportów wizualnych w witrynie Azure Portal. Aby dowiedzieć się więcej, zobacz Microsoft Entra workbooks.

Analiza aprowizacji i szczegółowe informacje dotyczące aprowizacji to dwa wstępnie utworzone skoroszyty. Aby wyświetlić dane, upewnij się, że wszystkie filtry (timeRange, jobID, appName) są wypełnione. Upewnij się również, że aplikacja została aprowizowana. W przeciwnym razie nie ma żadnych danych w dziennikach.

Skoroszyty wdrażania aplikacji

Panel zarządzania aplikacjami

Zapytania niestandardowe

Możesz tworzyć zapytania niestandardowe i wyświetlać dane w skoroszytach. Aby dowiedzieć się, jak to zrobić, zobacz Rozpoczynanie pracy z zapytaniami dzienników w usłudze Azure Monitor i Zapytania dziennika w usłudze Azure Monitor.

Poniżej przedstawiono kilka przykładów, które umożliwiają rozpoczęcie pracy z zapytaniami dziennika aprowizacji aplikacji.

Wykonaj zapytanie dotyczące dzienników dla użytkownika na podstawie ich identyfikatora w systemie źródłowym:

AADProvisioningLogs
| extend SourceIdentity = parse_json(SourceIdentity)
| where tostring(SourceIdentity.Id) == "49a4974bb-5011-415d-b9b8-78caa7024f9a"

Podsumowywanie liczby na kod błędu:

AADProvisioningLogs
| summarize count() by ErrorCode = ResultSignature

Podsumowywanie liczby zdarzeń dziennie według akcji:

AADProvisioningLogs
| where TimeGenerated > ago(7d)
| summarize count() by Action, bin(TimeGenerated, 1d)

Weź 100 zdarzeń i właściwości klucza projektu:

AADProvisioningLogs
| extend SourceIdentity = parse_json(SourceIdentity)
| extend TargetIdentity = parse_json(TargetIdentity)
| extend ServicePrincipal = parse_json(ServicePrincipal)
| where tostring(SourceIdentity.identityType) == "Group"
| project tostring(ServicePrincipal.Id), tostring(ServicePrincipal.Name), ModifiedProperties, JobId, Id, CycleId, ChangeId, Action, SourceIdentity.identityType, SourceIdentity.details, TargetIdentity.identityType, TargetIdentity.details, ProvisioningSteps
| take 100

Pobieranie grup z pominiętymi członkami z powodu problemów z rozwiązywaniem odwołań.

AADProvisioningLogs
| where TimeGenerated >= ago(10d)
| where JobId == "Azure2Azure.73f0883f-d67d-4af1-ac8a-45367f8982e0.5ef3be57-f45f-451g-88c4-68a7fda680bb" // Customize by adding a specific app JobId
| extend SourceIdentity = parse_json(SourceIdentity)
| extend ProvisioningSteps = parse_json(ProvisioningSteps)
| where tostring(SourceIdentity.identityType) == "Group"
| where ProvisioningSteps matches regex "UnableToResolveReferenceAttributeValue"
| parse tostring(ProvisioningSteps.[2].description) with "We were unable to assign " userObjectId " as the members of " groupDisplayName "." *
| project groupDisplayName, userObjectId,  JobId
| take 100

Podsumowanie akcji według aplikacji.

AADProvisioningLogs
| where TimeGenerated > ago(30d)
| where JobId == "Azure2Azure.73f0883f-d67d-4af1-ac8a-45367f8982e0.5ef3be57-f45f-451g-88c4-68a7fda680bb" // Customize by adding a specific app JobId
| extend ProvisioningSteps = parse_json(ProvisioningSteps)
| extend eventName = tostring(ProvisioningSteps.[-1].name)
| summarize count() by eventName, JobId
| order by JobId asc
| take 5

Identyfikowanie skoków liczby określonych operacji.

AADProvisioningLogs
| where TimeGenerated > ago(30d)
| where JobId == "scim.73f0883f-d67d-4af1-ac8a-45367f8982e0.5ef3be57-f45f-451g-88c4-68a7fda680bb" // Customize by adding a specific app JobId
| extend ProvisioningSteps = parse_json(ProvisioningSteps)
| extend eventName = tostring(ProvisioningSteps.[-1].name)
| summarize count() by eventName, bin(TimeGenerated, 1d)
| render timechart

Alerty niestandardowe

Usługa Azure Monitor umożliwia konfigurowanie alertów niestandardowych, dzięki czemu można otrzymywać powiadomienia o kluczowych zdarzeniach związanych z aprowizowaniem. Możesz na przykład chcieć otrzymywać alert o gwałtownych skokach liczby niepowodzeń, wyłączeń lub usunięć. Możesz również chcieć otrzymywać alerty, jeśli występują braki w dostarczaniu, co oznacza, że coś jest nie w porządku.

Aby dowiedzieć się więcej na temat alertów, zobacz Alerty dzienników usługi Azure Monitor. Istnieje wiele opcji i konfiguracji, dlatego zapoznaj się z pełną dokumentacją. Ogólnie rzecz biorąc, oto jak możesz utworzyć alert:

  1. W usłudze Log Analytics wybierz pozycję + Nowa reguła alertu.
  2. Na karcie Warunek wybierz link Wyświetl wynik i edytuj zapytanie w dziennikach .
  3. Wprowadź zapytanie, dla którego chcesz otrzymywać alert, i wypełnij pola niezbędne do utworzenia alertu.

Aby utworzyć alert w przypadku nagłego wzrostu liczby niepowodzeń:

AADProvisioningLogs
| where JobId == "string" // Customize by adding a specific app JobId
| where ResultType == "Failure"

Może wystąpić problem, który spowodował, że usługa aprowizacji przestała działać. Użyj następującego zapytania, aby wykryć, czy w danym przedziale czasu nie ma żadnych zdarzeń aprowizacji.

AADProvisioningLogs
| take 1

Aby utworzyć alert w przypadku nagłego wzrostu liczby wyłączeń lub usunięć:

AADProvisioningLogs
| where Action in ("Disable", "Delete")

Współtworzenie społeczności

Korzystamy z podejścia open source i opartego na społeczności do aprowizacji zapytań i pulpitów nawigacyjnych aplikacji. Utwórz zapytanie, alert lub skoroszyt, który uważasz za przydatne dla innych użytkowników, a następnie opublikuj je w repozytorium GitHub AzureMonitorCommunity. Zastrzelij nam wiadomość e-mail z linkiem. Przeglądamy i publikujemy zapytania i pulpity nawigacyjne w usłudze, aby inne osoby również korzystały. Skontaktuj się z nami pod adresem provisioningfeedback@microsoft.com.

Następne kroki