Intégrer Azure Automation State Configuration avec les journaux Azure Monitor
Remarque
Azure Automation State Configuration sera mise hors service le 30 septembre 2027. Veuillez passer à Azure Machine Configuration avant cette date. Pour en savoir plus, consultez l’annonce du billet de blog. Le service Azure Machine Configuration combine les fonctionnalités d’Extension DSC, d’Azure Automation State Configuration, ainsi que les fonctionnalités les plus couramment demandées selon les commentaires des clients. Azure Machine Configuration inclut également la prise en charge des ordinateurs hybrides via des serveurs avec Arc.
Attention
Azure Automation DSC pour Linux a été mis hors service le 30 septembre 2023. Pour plus d'informations, consultez Annonce.
Azure Automation State Configuration conserve les données d’état des nœuds pendant 30 jours. Vous pouvez envoyer les données d’état des nœuds aux Journaux Azure Monitor si vous préférez conserver ces données plus longtemps. L’état de conformité est visible dans le portail Azure, ou avec PowerShell, pour les nœuds et les ressources DSC individuelles dans les configurations de nœud.
Les journaux Azure Monitor offrent une plus grande visibilité opérationnelle sur vos données Automation State Configuration et peuvent vous aider à traiter les incidents plus rapidement. Avec les journaux Azure Monitor, vous pouvez :
- Obtenir des informations de conformité pour les nœuds gérés et les ressources individuelles.
- Déclencher un e-mail ou une alerte en fonction de l’état de conformité.
- Écrire des requêtes avancées dans vos nœuds gérés.
- Mettre en corrélation l’état de conformité dans les comptes Automation.
- Utiliser des vues et des requêtes de recherche personnalisées pour visualiser les résultats de votre runbook, l’état du travail de runbook et d’autres indicateurs ou mesures clés associées.
Remarque
Cet article a récemment été mis à jour pour utiliser le terme journaux d’activité Azure Monitor au lieu de Log Analytics. Les données de journal sont toujours stockées dans un espace de travail Log Analytics, et elles sont toujours collectées et analysées par le même service Log Analytics. Nous mettons la terminologie à jour pour mieux refléter le rôle des journaux d’activité dans Azure Monitor. Pour plus d'informations, consultez Modifications de la terminologie d'Azure Monitor.
Prérequis
Pour commencer à envoyer vos rapports Automation State Configuration vers les journaux Azure Monitor, vous devez disposer des éléments suivants :
- Le Module du module Az PowerShell. Vérifiez que vous avez la version la plus récente. Si nécessaire, exécutez
Update-Module -Name Az
. - Un compte Azure Automation. Pour plus d’informations, consultez Présentation d’Azure Automation.
- Un espace de travail Log Analytics. Pour plus d’informations, consultez Vue d’ensemble d’Azure Monitor.
- Au moins un nœud Azure Automation State Configuration. Pour plus d’informations, consultez Intégration des machines pour la gestion avec Azure Automation State Configuration.
- Module xDscDiagnostics , version 2.7.0.0 ou ultérieure. Pour les étapes d’installation, consultez Résoudre les problèmes de Configuration d’état souhaité d’Azure Automation.
Configurer l’intégration aux journaux d’Azure Monitor
Pour commencer l’importation de données d’Azure Automation State Configuration vers les journaux Azure Monitor, effectuez les étapes suivantes : Pour savoir comment utiliser le portail, consultez Transférer des données de travaux Azure Automation aux journaux Azure Monitor.
Depuis votre machine, connectez-vous à votre abonnement Azure avec la cmdlet PowerShell Connect-AzAccount et suivez les instructions qui s’affichent à l’écran.
# Sign in to your Azure subscription $sub = Get-AzSubscription -ErrorAction SilentlyContinue if (-not($sub)) { Connect-AzAccount } # If you have multiple subscriptions, set the one to use # Select-AzSubscription -SubscriptionId "<SUBSCRIPTIONID>"
Fournissez une valeur appropriée pour les variables
automationAccount
avec le nom réel de votre compte Automation etworkspaceName
avec le nom réel de votre espace de travail Log Analytics. Exécutez ensuite le script.$automationAccount = "automationAccount" $law = "workspaceName"
Récupérez l’ID de ressource de votre compte Automation en exécutant les commandes PowerShell suivantes.
# Find the ResourceId for the Automation account $AutomationResourceId = (Get-AzResource -ResourceType 'Microsoft.Automation/automationAccounts' | Where-Object {$_.Name -eq $automationAccount}).ResourceId
Obtenez l’ID de ressource de votre espace de travail Log Analytics en exécutant les commandes PowerShell suivantes.
# Find the ResourceId for the Log Analytics workspace $WorkspaceResourceId = (Get-AzResource ` -ResourceType 'Microsoft.OperationalInsights/workspaces' | WHERE {$_.Name -eq $law}).ResourceId
Pour configurer les paramètres de diagnostic sur le compte Automation afin de transférer les données du journal d’état du nœud DSC vers les journaux Azure Monitor, la cmdlet PowerShell suivante crée un paramètre de diagnostic utilisant cette destination.
$setAzDiagnosticSettingSplat = @{ ResourceId = $AutomationResourceId WorkspaceId = $WorkspaceResourceId Enabled = $true Category = 'DscNodeStatus' } Set-AzDiagnosticSetting @setAzDiagnosticSettingSplat
Lorsque vous voulez arrêter le transfert de données Automation State Configuration vers les journaux Azure Monitor, exécutez la cmdlet PowerShell suivante.
$setAzDiagnosticSettingSplat = @{ ResourceId = $AutomationResourceId WorkspaceId = $WorkspaceResourceId Enabled = $false Category = 'DscNodeStatus' } Set-AzDiagnosticSetting @setAzDiagnosticSettingSplat
Afficher les journaux d’activité State Configuration
Vous pouvez rechercher des opérations DSC dans les journaux State Configuration en recherchant dans les journaux Azure Monitor. Après avoir configuré l’intégration avec les journaux Azure Monitor pour vos données Automation State Configuration, accédez à votre compte Automation dans le portail Azure. Ensuite, sous Supervision, sélectionnez Journaux d’activité.
Fermez la boîte de dialogue Requêtes. Le volet Recherche dans les journaux s’ouvre avec une région de requête étendue à votre ressource de compte Automation. Les enregistrements pour les opérations DSC sont stockés dans la table AzureDiagnostics
. Pour rechercher des nœuds qui ne sont pas conformes, entrez la requête suivante.
AzureDiagnostics
| where Category == "DscNodeStatus"
| where OperationName contains "DSCNodeStatusData"
| where ResultType != "Compliant"
Détails du filtrage :
- Filtrez sur
DscNodeStatusData
pour renvoyer les opérations pour chaque nœud State Configuration. - Filtrez sur
DscResourceStatusData
pour renvoyer les opérations pour chaque ressource DSC appelée dans la configuration de nœud appliquée à cette ressource. - Filtrez sur
DscResourceStatusData
pour renvoyer les informations d’erreur pour les ressources DSC ayant échoué.
Pour plus d’informations sur la construction des requêtes de journal pour rechercher des données, consultez Vue d’ensemble des requêtes de journal dans Azure Monitor.
Envoyer un e-mail si une vérification de la conformité State Configuration échoue
Revenez à la requête créée précédemment.
Cliquez sur le bouton + Nouvelle règle d’alerte pour lancer le flux de création d’alerte.
Dans la requête suivante, remplacez
NODENAME
par le véritable nom du nœud géré, puis collez la requête modifiée dans la zone de texte Requête de recherche :AzureDiagnostics | where Category == "DscNodeStatus" | where NodeName_s == "NODENAME" | where OperationName == "DscNodeStatusData" | where ResultType == "Failed"
Si vous configurez des journaux d’activité pour plus d’un compte ou abonnement Automation, vous pouvez regrouper vos alertes par abonnement ou par compte Automation. Dérivez le nom du compte Automation à partir de la propriété
Resource
dans les résultats de la rechercheDscNodeStatusData
.Consultez Créer, afficher et gérer des alertes de métrique à l’aide d’Azure Monitor pour effectuer les étapes restantes.
Rechercher les ressources DSC ayant échoué dans tous les nœuds
Un des avantages de l’utilisation des journaux Azure Monitor est que vous pouvez rechercher les vérifications avortées dans les nœuds. Pour rechercher toutes les instances de défaillances, utilisez la requête suivante :
AzureDiagnostics
| where Category == "DscNodeStatus"
| where OperationName == "DscResourceStatusData"
| where ResultType == "Failed"
Afficher l’état de nœud DSC historique
Pour visualiser l’historique de l’état de votre nœud DSC au fil du temps, vous pouvez utiliser cette requête :
AzureDiagnostics
| where ResourceProvider == "MICROSOFT.AUTOMATION"
| where Category == "DscNodeStatus"
| where ResultType != "started"
| summarize count() by ResultType
Cette requête affiche un graphique de l’état du nœud au fil du temps.
Enregistrements de journaux Azure Monitor
Les diagnostics d’Azure Automation créent deux catégories d’enregistrements dans les journaux Azure Monitor :
- Données d'état du nœud (
DscNodeStatusData
) - Données d'état de la ressource (
DscResourceStatusData
)
DscNodeStatusData
Propriété | Description |
---|---|
TimeGenerated | Date et heure d’exécution de la vérification de conformité. |
NomOpération | DscNodeStatusData . |
ResultType | Valeur indiquant si le nœud est conforme. |
NodeName_s | Le nom du nœud géré. |
NodeComplianceStatus_s | Valeur d’état indiquant si le nœud est conforme. |
DscReportStatus | Valeur d’état indiquant si la vérification de conformité s’est correctement exécutée. |
ConfigurationMode | Mode utilisé pour appliquer la configuration au nœud. Les valeurs possibles sont les suivantes :
|
HostName_s | Le nom du nœud géré. |
IPAddress | L’adresse IPv4 du nœud géré. |
Catégorie | DscNodeStatus . |
Ressource | Le nom du compte Azure Automation. |
Tenant_g | GUID identifiant le locataire pour l’appelant. |
NodeId_g | GUID qui identifie le nœud géré. |
DscReportId_g | GUID qui identifie le rapport. |
LastSeenTime_t | Date et heure auxquelles le rapport a été consulté pour la dernière fois. |
ReportStartTime_t | Date et heure auxquelles le rapport a été commencé. |
ReportEndTime_t | Date et heure auxquelles le rapport a été terminé. |
NumberOfResources_d | Le nombre de ressources DSC appelées dans la configuration appliquée au nœud. |
SourceSystem | Le système source identifiant la façon dont les journaux d'activité Azure Monitor collectent les données. Toujours Azure pour les diagnostics Azure. |
ResourceId | Identificateur de ressource du compte Azure Automation. |
ResultDescription | Description de la ressource pour cette opération. |
SubscriptionId | ID d’abonnement Azure (GUID) pour le compte Automation. |
ResourceGroup | Nom du groupe de ressources du compte Automation. |
ResourceProvider | MICROSOFT.AUTOMATION. |
ResourceType | AUTOMATIONACCOUNTS. |
CorrelationId | Un identifiant de corrélation pour le rapport de conformité. |
DscResourceStatusData
Propriété | Description |
---|---|
TimeGenerated | Date et heure d’exécution de la vérification de conformité. |
NomOpération | DscResourceStatusData . |
ResultType | Indique si la ressource est conforme. |
NodeName_s | Le nom du nœud géré. |
Catégorie | DscNodeStatus. |
Ressource | Le nom du compte Azure Automation. |
Tenant_g | GUID identifiant le locataire pour l’appelant. |
NodeId_g | GUID qui identifie le nœud géré. |
DscReportId_g | GUID qui identifie le rapport. |
DscResourceId_s | Le nom de l’instance de ressource DSC. |
DscResourceName_s | Le nom de la ressource DSC. |
DscResourceStatus_s | Indique si la ressource DSC est conforme. |
DscModuleName_s | Le nom du module PowerShell qui contient la ressource DSC. |
DscModuleVersion_s | La version du module PowerShell qui contient la ressource DSC. |
DscConfigurationName_s | Le nom de la configuration appliquée au nœud. |
ErrorCode_s | Le code d’erreur en cas d’échec de la ressource. |
ErrorMessage_s | Le message d’erreur en cas d’échec de la ressource. |
DscResourceDuration_d | La durée, en secondes, d’exécution de la ressource DSC. |
SourceSystem | Mode de collecte de données employé pour les journaux Azure Monitor. Toujours Azure pour les diagnostics Azure. |
ResourceId | Identificateur du compte Azure Automation. |
ResultDescription | La description de cette opération. |
SubscriptionId | ID d’abonnement Azure (GUID) pour le compte Automation. |
ResourceGroup | Nom du groupe de ressources du compte Automation. |
ResourceProvider | MICROSOFT.AUTOMATION. |
ResourceType | AUTOMATIONACCOUNTS. |
CorrelationId | Un ID de corrélation pour le rapport de conformité. |
Étapes suivantes
- Pour une vue d’ensemble, consultez Vue d’ensemble d’Azure Automation State Configuration.
- Pour commencer, consultez Bien démarrer avec Azure Automation State Configuration.
- Pour découvrir comment compiler des configurations DSC pour pouvoir les affecter à des nœuds cibles, consultez Compiler des configurations DSC dans Azure Automation State Configuration.
- Pour obtenir des informations de référence sur les cmdlets PowerShell, consultez Az.Automation.
- Pour obtenir des informations sur les prix, consultez Tarification d’Azure Automation State Configuration.
- Pour voir un exemple d’utilisation d’Azure Automation State Configuration dans un pipeline de déploiement continu, consultez Configurer un déploiement continu avec Chocolatey.
- Pour savoir comment construire différentes requêtes de recherche et examiner les journaux Automation State Configuration avec les journaux Azure Monitor, consultez Recherches dans les journaux Azure Monitor.
- Pour plus d’informations sur les journaux Azure Monitor et sur les sources de collecte de données, consultez Vue d’ensemble de la collecte de données de stockage Azure dans les journaux Azure Monitor.