Découvrez comment l’approvisionnement s’intègre aux journaux Azure Monitor
L’approvisionnement s’intègre aux journaux Azure Monitor et à Log Analytics. Grâce à l’analyse Azure, vous pouvez effectuer diverses opérations, comme créer des classeurs, également appelés tableaux de bord, stocker des journaux d’approvisionnement pendant plus de 30 jours et créer des requêtes et des alertes personnalisées. Cet article explique comment l’approvisionnement des journaux est intégré aux journaux Azure Monitor. Pour en savoir plus sur le fonctionnement général des journaux d’approvisionnement, consultez Journaux d’approvisionnement.
Activation des journaux d’approvisionnement
Vous devez déjà avoir une connaissance de Log Analytics et de l’analyse Azure. Si ce n’est pas le cas, apprenez-en plus à leur sujet, puis revenez pour découvrir les journaux d’approvisionnement d’application. Pour en savoir plus sur l’analyse Azure, consultez Vue d’ensemble d’Azure Monitor. Pour en savoir plus sur les journaux Azure Monitor et Log Analytics, consultez Vue d’ensemble des requêtes de journal dans Azure Monitor.
Une fois que vous avez configuré l’analyse Azure, vous pouvez activer les journaux pour l’approvisionnement des applications. L’option se trouve sur la page Paramètres de diagnostic.
Remarque
Si vous venez d’approvisionner un espace de travail, il peut falloir un certain temps avant de pouvoir y envoyer des journaux. Si vous recevez une erreur indiquant que l’abonnement n’est pas inscrit pour utiliser microsoft.insights revenez après quelques minutes.
Vue d’ensemble des données
Le flux de données sous-jacent que l’approvisionnement envoie aux visionneuses de journaux est presque identique. Les journaux Azure Monitor suivent quasiment le même flux que l’interface utilisateur du Portail Azure et l’API Azure. Il n’existe que quelques différences dans les champs du journal, comme indiqué dans le tableau suivant. Pour en savoir plus sur ces champs, consultez Répertorier provisioningObjectSummary.
Journaux d’activité Azure Monitor | Interface utilisateur du portail Azure | API Azure |
---|---|---|
errorDescription | reason | resultDescription |
status | resultType | resultType |
activityDateTime | TimeGenerated | TimeGenerated |
Classeurs Azure Monitor
Les classeurs Azure Monitor fournissent un canevas flexible pour l’analyse des données. Ils permettent également de créer des rapports visuels enrichis au sein du Portail Azure. Pour plus d’informations, consultez Vue d’ensemble des classeurs Azure Monitor.
L’approvisionnement d’applications est fourni avec un ensemble de classeurs prédéfinis. Vous pouvez les trouver dans la page Classeurs. Pour afficher les données, assurez-vous que tous les filtres (timeRange, jobID, appName) sont remplis. Vérifiez également que l’application a été approvisionnée, sinon les journaux ne contiennent aucune donnée.
Requêtes personnalisées
Vous pouvez créer des requêtes personnalisées et afficher les données dans des tableaux de bord Azure. Pour savoir comment procéder, consultez Créer et partager des tableaux de bord de données Log Analytics. Veillez également à consulter Vue d’ensemble des requêtes de journal dans Azure Monitor.
Voici quelques exemples pour prendre en main l’approvisionnement d’applications.
Interroger les journaux d’un utilisateur en fonction de son ID dans le système source :
AADProvisioningLogs
| extend SourceIdentity = parse_json(SourceIdentity)
| where tostring(SourceIdentity.Id) == "49a4974bb-5011-415d-b9b8-78caa7024f9a"
Total par ErrorCode :
AADProvisioningLogs
| summarize count() by ErrorCode = ResultSignature
Total d’événements par jour et par action :
AADProvisioningLogs
| where TimeGenerated > ago(7d)
| summarize count() by Action, bin(TimeGenerated, 1d)
Prenez 100 événements et les propriétés de clé du projet :
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
Récupérez des groupes avec des membres ignorés en raison de problèmes de résolution des références.
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
Résumez les actions par application.
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
Identifiez les pics dans des opérations spécifiques.
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
Alertes personnalisées
Azure Monitor vous permet de configurer des alertes personnalisées afin de recevoir des notifications sur les principaux événements liés à l’approvisionnement. Par exemple, vous souhaiterez peut-être recevoir une alerte en cas de défaillance. Ou peut-être en cas de pics de désactivation ou de suppression. Un autre exemple d’alerte que vous pourriez vouloir recevoir est l’absence d’approvisionnement, qui indique un problème.
Pour en savoir plus sur les alertes, consultez Alertes de journal Azure Monitor.
Alerte en cas de pic de défaillances. Remplacez jobID par le jobID de votre application.
Il peut y avoir un problème qui a provoqué l’arrêt de l’exécution du service d’approvisionnement. Utilisez l’alerte suivante pour détecter quand il n’y a pas d’événements d’approvisionnement pendant un intervalle de temps donné.
Alerte en cas de pic de désactivations ou de suppressions.
Contributions de la communauté
Nous adoptons une approche open source et basée sur la communauté pour les requêtes et les tableaux de bord d’approvisionnement des applications. Créez une requête, une alerte ou un classeur que vous estimez utile aux autres, publiez-le/la sur le référentiel GitHub AzureMonitorCommunity. Envoyez-nous un e-mail avec un lien. Nous examinons et publions des requêtes et des tableaux de bord sur le service afin que d’autres utilisateurs en bénéficient. Contactez-nous à l’adresse provisioningfeedback@microsoft.com.