Collecter des sources de données de performance Windows et Linux avec l’agent Log Analytics

Les compteurs de performances dans Windows et Linux fournissent des informations sur les performances des composants matériels, systèmes d’exploitation et applications. Azure Monitor peut collecter des compteurs de performances des agents Log Analytics à intervalles fréquents pour une analyse en quasi temps réel. Azure Monitor peut également agréger des données de performances pour une analyse et des rapports à plus long terme.

Important

L’agent Log Analytics hérité sera déconseillé d’ici août 2024. Passé cette date, Microsoft ne fournira plus de support pour l’agent Log Analytics. Migrez vers l’agent Azure Monitor avant août 2024 pour continuer à ingérer des données.

Screenshot that shows performance counters.

Configurer les compteurs de performances

Configurez des compteurs de performances à partir du menu Gestion des agents hérités pour l’espace de travail Log Analytics.

Lorsque vous configurez initialement des compteurs de performances Windows ou Linux pour un nouvel espace de travail, vous avez la possibilité de créer rapidement plusieurs compteurs communs. Ils s’affichent avec une case à cocher en regard. Vérifiez que les compteurs que vous voulez créer sont cochés, puis sélectionnez Ajouter les compteurs de performances sélectionnés.

Pour les compteurs de performances Windows, vous pouvez choisir une instance spécifique de chaque compteur de performances. Pour les compteurs de performances Linux, l’instance de chaque compteur choisi s’applique à tous les compteurs enfants du compteur parent. Le tableau suivant montre les instances courantes disponibles pour les compteurs de performances Windows et Linux.

Nom de l’instance Description
_Total Total de toutes les instances
* Toutes les instances
(/|/var) Correspond aux instances nommées / ou /var

Compteurs de performances Windows

Screenshot that shows configuring Windows performance counters.

Suivez cette procédure pour ajouter un nouveau compteur de performances Windows à collecter. Les compteurs de performances Windows V2 ne sont pas pris en charge.

  1. Sélectionnez Ajouter un compteur de performances.

  2. Entrez le nom du compteur dans la zone de texte, au format objet(instance)\compteur. Lorsque vous commencez à taper, la liste des compteurs correspondants s’affiche. Vous pouvez soit choisir un compteur dans cette liste, soit entrer le nom de votre choix. Vous pouvez également retourner toutes les instances d’un compteur particulier en spécifiant objet\compteur.

    Lors de la collecte des compteurs de performances SQL Server à partir d’instances nommées, tous les compteurs des instances nommées commencent par MSSQL$ qui est suivi du nom de l’instance. Par exemple, pour collecter le compteur Taux d’accès au cache de journal pour toutes les bases de données à partir de l’objet de performance de base de données pour l’instance SQL nommée INST2, spécifiez MSSQL$INST2:Databases(*)\Log Cache Hit Ratio.

  3. Lorsque vous ajoutez un compteur, il utilise la valeur par défaut de 10 secondes comme Intervalle d’échantillonnage. Changez cette valeur par défaut sur une valeur supérieure jusqu’à 1 800 secondes (30 minutes) si vous souhaitez réduire l’espace de stockage requis pour les données de performances collectées.

  4. Après avoir ajouté les compteurs souhaités, sélectionnez Appliquer en haut de l’écran pour enregistrer la configuration.

Compteurs de performances Linux

Screenshot that shows configuring Linux performance counters.

Suivez cette procédure pour ajouter un nouveau compteur de performances Linux à collecter.

  1. Sélectionnez Ajouter un compteur de performances.
  2. Entrez le nom du compteur dans la zone de texte, au format objet(instance)\compteur. Lorsque vous commencez à taper, la liste des compteurs correspondants s’affiche. Vous pouvez soit choisir un compteur dans cette liste, soit entrer le nom de votre choix.
  3. Tous les compteurs d’un objet utilisent le même Intervalle d’échantillonnage. La valeur par défaut est 10 secondes. Changez cette valeur par défaut sur une valeur supérieure jusqu’à 1 800 secondes (30 minutes) si vous souhaitez réduire l’espace de stockage requis pour les données de performances collectées.
  4. Après avoir ajouté les compteurs souhaités, sélectionnez Appliquer en haut de l’écran pour enregistrer la configuration.

Configuration des compteurs de performances Linux dans le fichier de configuration

Au lieu de configurer les compteurs de performances Linux à l’aide du portail Azure, vous pouvez modifier les fichiers de configuration sur l’agent Linux. Les mesures de performances à collecter sont contrôlées par la configuration dans /etc/opt/microsoft/omsagent/<workspace id>/conf/omsagent.conf.

Chaque objet, ou catégorie, de mesures de performances à collecter doit être défini dans le fichier de configuration comme un seul élément <source> . La syntaxe suit le modèle suivant :

<source>
    type oms_omi  
    object_name "Processor"
    instance_regex ".*"
    counter_name_regex ".*"
    interval 30s
</source>

Les paramètres de cet élément sont décrits dans le tableau suivant.

Paramètres Description
object_name Nom de l’objet pour la collecte.
instance_regex Une expression régulière qui définit les instances à collecter. La valeur .* spécifie toutes les instances. Pour collecter les métriques de processeur uniquement pour l’instance _Total, vous pouvez spécifier _Total. Pour ne collecter les mesures de processeur que des instances crond ou sshd, vous pouvez spécifier (crond\|sshd).
counter_name_regex Expression régulière qui définit les compteurs (pour l’objet) à collecter. Pour collecter tous les compteurs de l’objet, spécifiez .*. Pour ne collecter que les compteurs d’espace d’échange de l’objet mémoire, vous pouvez indiquer .+Swap.+
interval Fréquence de collecte des compteurs de l’objet.

Le tableau suivant répertorie les objets et compteurs que vous pouvez indiquer dans le fichier de configuration. D’autres compteurs sont disponibles pour certaines applications. Pour plus d'informations, consultez Collecte des compteurs de performances pour les applications Linux dans Azure Monitor.

Nom d’objet Nom du compteur
Logical Disk % Free Inodes
Logical Disk % Free Space
Logical Disk % Used Inodes
Logical Disk % Used Space
Logical Disk Nb d’octets de lecture de disque/s
Logical Disk Nb d’opérations de lectures de disque/s
Logical Disk Disk Transfers/sec
Logical Disk Nb d’octets d’écriture de disque/s
Logical Disk Nb d’opération d’écriture de disque/s
Logical Disk Free Megabytes
Logical Disk Logical Disk Bytes/sec
Mémoire % Available Memory
Mémoire % Available Swap Space
Mémoire % Used Memory
Mémoire % Used Swap Space
Mémoire Available MBytes Memory
Mémoire Available MBytes Swap
Mémoire Page Reads/sec
Mémoire Page Writes/sec
Mémoire Pages/sec
Mémoire Used MBytes Swap Space
Mémoire Used Memory MBytes
Réseau Total Bytes Transmitted
Réseau Total Bytes Received
Réseau Total Bytes
Réseau Total Packets Transmitted
Réseau Total Packets Received
Réseau Total Rx Errors
Réseau Total Tx Errors
Réseau Total Collisions
Physical Disk Avg. Disk sec/Read
Physical Disk Avg. Disk sec/Transfer
Physical Disk Avg. Disk sec/Write
Physical Disk Physical Disk Bytes/sec
Process Pct Privileged Time
Process Pct User Time
Process Used Memory kBytes
Process Virtual Shared Memory
Processeur % DPC Time
Processeur % Idle Time
Processeur % Interrupt Time
Processeur % IO Wait Time
Processeur % Nice Time
Processeur % Privileged Time
Processeur % temps processeur
Processeur % User Time
Système Free Physical Memory
Système Free Space in Paging Files
Système Free Virtual Memory
Système Processus
Système Size Stored In Paging Files
Système Uptime
Système Utilisateurs

La configuration par défaut des mesures de performances est la suivante :

<source>
    type oms_omi
	object_name "Physical Disk"
	instance_regex ".*"
	counter_name_regex ".*"
	interval 5m
</source>

<source>
	type oms_omi
	object_name "Logical Disk"
	instance_regex ".*"
	counter_name_regex ".*"
	interval 5m
</source>

<source>
    type oms_omi
	object_name "Processor"
	instance_regex ".*"
	counter_name_regex ".*"
	interval 30s
</source>

<source>
	type oms_omi
	object_name "Memory"
	instance_regex ".*"
	counter_name_regex ".*"
	interval 30s
</source>

Collecte de données

Azure Monitor collecte tous les compteurs de performances spécifiés selon l’intervalle d’échantillonnage spécifié sur tous les agents où le compteur est installé. Les données ne sont pas agrégées. Les données brutes sont disponibles dans toutes les vues de requête de journal pendant la durée spécifiée par votre espace de travail Log Analytics.

Propriétés des enregistrements de performances

Les enregistrements de performances sont de type Perf et leurs propriétés sont répertoriés dans le tableau suivant.

Propriété Description
Computer Ordinateur sur lequel l’événement a été collecté.
CounterName Nom du compteur de performances.
CounterPath Chemin d’accès complet du compteur au format \\<Ordinateur>\objet(instance)\compteur.
CounterValue Valeur numérique du compteur.
InstanceName Nom de l’instance de l’événement. Vide si aucune instance.
ObjectName Nom de l’objet de performance.
SourceSystem Type d’agent sur lequel les données ont été collectées :

Ops Manager – Agent Windows, connexion directe ou SCOM
Linux – Tous les agents Linux
AzureStorage – Diagnostics Azure
TimeGenerated Date et heure d’échantillonnage des données.

Tailles estimées

La collecte d’un compteur toutes les 10 secondes correspond environ à 1 Mo par jour et par instance. La formule suivante vous permet d’estimer l’espace de stockage requis pour un compteur particulier :

1 Mo × (nombre de compteurs) × (nombre d’agents) × (nombre d’instances)

Requêtes de journal avec des enregistrements de performances

Le tableau suivant fournit plusieurs exemples de requêtes qui extraient des enregistrements de performances.

Requête Description
Perf Toutes les données de performances
Perf | where Computer == "MyComputer" Toutes les données de performances d’un ordinateur particulier
Perf | where CounterName == "Current Disk Queue Length" Toutes les données de performances d’un compteur particulier
Perf | where ObjectName == "Processor" and CounterName == "% Processor Time" and InstanceName == "_Total" | summarize AVGCPU = avg(CounterValue) by Computer Utilisation moyenne du processeur entre tous les ordinateurs
Perf | where CounterName == "% Processor Time" | summarize AggregatedValue = max(CounterValue) by Computer Utilisation maximale du processeur entre tous les ordinateurs
Perf | where ObjectName == "LogicalDisk" and CounterName == "Current Disk Queue Length" and Computer == "MyComputerName" | summarize AggregatedValue = avg(CounterValue) by InstanceName Longueur actuelle moyenne de file d’attente du disque pour toutes les instances d’un ordinateur donné
Perf | where CounterName == "Disk Transfers/sec" | summarize AggregatedValue = percentile(CounterValue, 95) by Computer 95e centile de transferts disque/s entre tous les ordinateurs
Perf | where CounterName == "% Processor Time" and InstanceName == "_Total" | summarize AggregatedValue = avg(CounterValue) by bin(TimeGenerated, 1h), Computer Moyenne horaire d’utilisation du processeur sur tous les ordinateurs
Perf | where Computer == "MyComputer" and CounterName startswith_cs "%" and InstanceName == "_Total" | summarize AggregatedValue = percentile(CounterValue, 70) by bin(TimeGenerated, 1h), CounterName 70e centile horaire de chaque compteur de pourcentage pour un ordinateur particulier
Perf | where CounterName == "% Processor Time" and InstanceName == "_Total" and Computer == "MyComputer" | summarize ["min(CounterValue)"] = min(CounterValue), ["avg(CounterValue)"] = avg(CounterValue), ["percentile75(CounterValue)"] = percentile(CounterValue, 75), ["max(CounterValue)"] = max(CounterValue) by bin(TimeGenerated, 1h), Computer Moyenne horaire, minimum, maximum et 75e centile d’utilisation du processeur pour un ordinateur spécifique
Perf | where ObjectName == "MSSQL$INST2:Databases" and InstanceName == "master" Toutes les données de performances de l’objet de performance de base de données pour la base de données MASTER à partir de l’instance de SQL Server nommée INST2

Étapes suivantes