Collecter les journaux des événements du client de machine virtuelle
- 7 minutes
Les données de performances permettent d’identifier les anomalies. Linux Syslog fournit des données d’événement supplémentaires qui peuvent vous aider à les examiner. La règle de collecte de données de performances (DCR) du module précédent ne collecte pas Syslog. Vous créez maintenant une DCR distincte qui envoie les événements Syslog sélectionnés au même espace de travail Log Analytics.
Avant de commencer
Vérifiez que monitored-linux-vm a installé Azure Monitor Agent (AMA), une identité managée configurée et un accès aux points de terminaison Azure Monitor requis. Notez la région de l’espace de travail Log Analytics sélectionné dans l’unité précédente.
Cet exercice utilise des points de terminaison publics Azure Monitor. Il ne configure pas Private Link ou un Azure Monitor Private Link Scope (AMPLS).
Remarque
La collection Syslog Linux utilise un démon Syslog pris en charge, tel que rsyslog ou syslog-ng. Le démon transfère les messages à AMA à l’aide de la configuration installée pour la collecte. AMA ne collecte pas automatiquement tous les événements qui existent uniquement dans le journal systemd.
Créer le DCR Syslog
Dans le portail Azure, ouvrez Superviser>Règles de collecte des données et sélectionnez Créer.
Si l’expérience de création par défaut s’ouvre, utilisez son lien de bannière pour basculer vers l’expérience de création classique. Les étapes suivantes utilisent Type de plateforme et Ajouter une source de données à partir de cette expérience.
Sur Basics, entrez collect-events-linux comme nom de la règle.
Sélectionnez votre abonnement et choisissez learn-monitor-vm-rg. Pour Région, sélectionnez la région de l’espace de travail de destination Log Analytics.
Pour le type de plateforme, sélectionnez Linux. Laissez le point de terminaison de collecte de données désélectionné pour cet exercice Syslog sur un point de terminaison public.
Dans Ressources, sélectionnez Ajouter des ressources, sélectionnez monitored-linux-vm, puis sélectionnez Appliquer. Ne sélectionnez pas Activer les points de terminaison de collecte de données.
Sous Collecter et livrer, sélectionnez Ajouter une source de données, puis Syslog Linux.
Configurez les installations utilisateur, daemon et syslog avec Warning au niveau minimal (indiqué comme LOG_WARNING dans certaines vues du portail). Définissez d’autres installations sur NONE pour cet exercice. Si vous utilisez le sélecteur en bloc, sélectionnez les sites prévus et appliquez le niveau minimal, puis confirmez le niveau obtenu sur chaque ligne.
Dans Destination, sélectionnez Azure Monitor Logs et l’espace de travail Log Analytics exact utilisé pour la collecte de performances.
Sélectionnez Ajouter une source de données, puis Vérifier + créer, puis Créer.
Ouvrez la page Ressources de DCR et vérifiez que la machine virtuelle prévue est associée. Laissez passer plusieurs minutes pour que la configuration atteigne l'agent.
Le niveau minimal inclut avertissement et événements plus graves pour les installations sélectionnées. Cela ne signifie pas « Avertissement uniquement » et ne collecte pas les installations non sélectionnées. Pour plus d’informations, consultez Collecter des événements Syslog avec AMA et créer une règle de collecte de données de machine virtuelle.
Important
Une DCE n’est pas requise pour ce chemin Syslog de point de terminaison public. Les déploiements Private Link, y compris les réseaux AMA qui partagent le DNS avec des ressources AMPLS, nécessitent des points de terminaison supplémentaires et une configuration DNS supplémentaire. Suivez les exigences de la DCE et le guide Private Link pour cette topologie au lieu de considérer ce labo comme un modèle de réseau privé. D’autres sources de données peuvent également avoir leurs propres exigences en matière de DCE.
Générer un événement qui correspond à la DCR
Sur la machine virtuelle, sélectionnez Opérations>Exécuter la commande>RunShellScript. Cela s’exécute sur la machine virtuelle Linux, et non dans le terminal de l’ordinateur local.
Entrez les commandes suivantes, puis sélectionnez Exécuter pour vérifier que le démon Syslog et l’agent sont actifs :
systemctl is-active rsyslog systemctl is-active azuremonitoragentLes deux doivent être actifs. Si l’un ou l’autre est inactif, résolvez le problème de service/configuration avant de continuer. Utilisez les conseils de résolution des problèmes d’AMA Syslog plutôt que de supposer que la collecte a réussi.
Une fois la commande précédente terminée et que la DCR a atteint l’agent, remplacez le script par la commande suivante, puis sélectionnez Exécuter :
logger -p user.warning -t learn-monitor-vm "learn-monitor-vm syslog test"
Cela crée un événement d’avertissement dans l'installation user, correspondant au filtre configuré. Run Command utilise l'agent de machine virtuelle Azure et nécessite sa connectivité sortante documentée ; elle ne nécessite pas l'ouverture d'un port SSH entrant.
Afficher l’événement collecté
Ouvrez Journaux à partir de monitored-linux-vm. Vérifiez que l'étendue de la ressource correspond à cette machine virtuelle.
Si le mode simple est sélectionné, basculez vers le mode KQL. Fermez la boîte de dialogue example-query si elle s’ouvre.
Exécutez la requête suivante :
Syslog | where TimeGenerated > ago(30m) | where Facility == "user" | where SeverityLevel == "warning" | where SyslogMessage contains "learn-monitor-vm syslog test" | project TimeGenerated, Computer, Facility, SeverityLevel, SyslogMessage | order by TimeGenerated desc
Le résultat doit contenir l’événement de test. La livraison de données n’est pas instantanée. Autorisez plusieurs minutes ; si l’événement a été généré avant l’arrivée de la configuration, générez un nouvel événement après avoir confirmé l’association et l’état de l’agent.
Pour inspecter les avertissements récents sur les installations collectées, exécutez :
Syslog
| where TimeGenerated > ago(30m)
| where SeverityLevel == "warning"
| top 100 by TimeGenerated desc
Remarque
Ces requêtes partent du principe que la portée est celle de la ressource VM. Si vous ouvrez Journaux à partir d’un espace de travail à la place, limitez la requête à l’ID de ressource complet de la machine virtuelle avec un filtre _ResourceId. Un nom d’ordinateur seul peut ne pas identifier de manière unique une machine virtuelle sur un espace de travail partagé. Consultez Log Analytics modes et portée.
Si la table Syslog n’est pas encore disponible ou si la requête ne retourne aucun enregistrement correspondant, vérifiez la destination et la région de la DCR, l’association de machines virtuelles, les valeurs de facility/severity configurées, le démon Syslog, l’état AMA et la connectivité réseau. Cette requête de heartbeat peut aider à distinguer un agent déconnecté d’un problème spécifique à Syslog :
Heartbeat
| where TimeGenerated > ago(30m)
| where Category == "Azure Monitor Agent"
| top 20 by TimeGenerated desc
Un signal de pulsation confirme la communication de l’agent, pas la collecte Syslog réussie. L’enregistrement correspondant Syslog est le critère de réussite de l’exercice. Pour plus d’informations, consultez Résoudre les problèmes liés à AMA sur Linux et Exemples de requêtes Syslog.
Commentaires
Cette page a-t-elle été utile ?
No
Vous avez besoin d’aide pour cette rubrique ?
Vous souhaitez essayer d’utiliser Ask Learn pour clarifier ou vous guider dans cette rubrique ?