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 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 monitorowania tożsamości>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 otrzymywać alert dotyczący skoków liczby niepowodzeń. A może skoki liczby wyłączeń lub usunięcia. Innym przykładem, w którym można otrzymywać alerty, jest brak jakiejkolwiek aprowizacji, co oznacza, że coś jest nie tak.
Aby dowiedzieć się więcej na temat alertów, zobacz Alerty dzienników usługi Azure Monitor.
Alert, gdy wystąpi wzrost liczby błędów. Zastąp identyfikator zadania identyfikatorem jobID dla aplikacji.
Może wystąpić problem, który spowodował, że usługa aprowizacji przestała działać. Użyj następującego alertu, aby wykryć, kiedy nie ma zdarzeń aprowizacji w danym przedziale czasu.
Alert po gwałtownym wzroście liczby wyłączeń lub usunięcia.
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.