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 na temat ogólnego sposobu działania dzienników 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.
- Omówienie usługi Azure Monitor
- Konfigurowanie obszaru roboczego usługi Log Analytics
- Integrowanie dzienników aktywności z dziennikami usługi Azure Monitor
Aby zintegrować dzienniki aprowizacji z dziennikami usługi Azure Monitor:
Zaloguj się do centrum administracyjnego firmy Microsoft Entra co najmniej jako administrator zabezpieczeń.
Utwórz obszar roboczy usługi Log Analytics.
Przejdź do pozycji Ustawienia>diagnostyczne monitorowania tożsamości i kondycji.>
Wybierz dzienniki, które chcesz przesłać strumieniowo, wybierz opcję Wyślij do obszaru roboczego usługi Log Analytics i wypełnij pola.
Przejdź do usługi Log Analytics>i kondycji>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 |
---|---|---|
errorDescription | reason | resultDescription |
status | resultType | resultType |
activityDateTime | TimeGenerated | TimeGenerated |
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 (Skoroszyty firmy Microsoft).
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.
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:
- Z poziomu Log Analytics wybierz pozycję + Nowa reguła alertu.
- Na karcie wybierz link Wyświetl wynik i edytuj zapytanie w Dziennikach.
- 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.