Serveur d'impression

Comment collecter des métriques Windows Server 2012 – Bien choisir son serveur d impression

Le 7 juillet 2019 - 13 minutes de lecture

Cet article fait partie 2 d'une série de 3 articles sur la surveillance de la santé et des performances du système d'exploitation Windows. La partie 1 détaille les compteurs de performance Windows, les événements et les services à surveiller; cet article couvre la collecte de données avec des outils natifs; et la troisième partie explique comment surveiller Windows avec Datadog. Pour un webinaire approfondi et une session de questions-réponses basée sur cette série, consultez ce diaporama et cette vidéo.

Windows propose un certain nombre d'outils natifs pour collecter toutes les métriques et tous les événements mentionnés dans la première partie de cette série. Dans de nombreux cas, Windows propose plusieurs outils pour la tâche. Dans cet article, nous aborderons quelques manières d'accéder aux métriques et aux données de performance Windows, à l'aide des outils fournis avec Windows Server 2012.

Bien que de nombreux outils intégrés à Windows Server 2012 permettent de surveiller la santé et les performances du système, nous allons nous concentrer sur un sous-ensemble limité dans cet article.

Outils non graphiques:

Outils d'interface graphique:

Powershell

Powershell est l’un des moyens les plus dynamiques et les plus puissants d’obtenir des informations sur un système Windows (et, avec Powershell disponible sur d’autres plates-formes, d’autres systèmes également).

Les commandes Powershell sont appelées applets de commande et respectent une convention de dénomination stricte Verb-Noun. Par exemple, Retirer l'objet est fonctionnellement similaire à rm sur les systèmes de type Unix. Un didacticiel Powershell dépasse le cadre de cet article, mais Microsoft propose des didacticiels pour les non-initiés.

Tous les indicateurs et événements répertoriés dans la première partie de cette série peuvent être collectés avec Powershell:

L'un des avantages de la collecte de mesures avec Powershell réside dans le fait que vous pouvez choisir entre des données de performance en temps réel pour la vérification ponctuelle ou l'échantillonnage de valeurs de mesure dans le temps pour les tendances historiques (à l'aide de la -MaxSamples et -SampleInterval arguments en ligne de commande).

Collecter des mesures de performance avec Powershell à l'aide du Get-Counter L'applet de commande suit une syntaxe simple:

Get-Counter -Counter 

Si vous n'êtes pas sûr d'un nom de propriété, vous pouvez récupérer une liste de toutes les propriétés par classe avec les éléments suivants:

(Get-Counter -ListSet  ) .Paths

Par exemple, cette commande affichera toutes les propriétés du Mémoire classe:

(Get-Counter -ListSet Memory) .Paths

Mesures de la CPU

Pourcentage de temps de traitement Get-Counter -Counter " Processor (*) % Processor Time"
ContextSwitchesPersec Get-Counter -Counter " Thread (_Total) Commutateurs de contexte / s"
ProcessorQueueLength Get-Counter -Counter " System Longueur de la file d'attente du processeur"
DPCsQueuedPersec Get-Counter -Counter " Processor (*) DPCs en file d'attente / s"
Pourcentage de temps privilégié Get-Counter -Counter " Processor (*) % Time Privileged"
Pourcentage en pourcentage Get-Counter -Counter " Processor (*) % DPC Time"
Pourcentage d'interruption Get-Counter -Counter " Processor (*) % Interrupt Time"

Métriques de mémoire

AvailableMBytes Get-Counter -Counter " Memory Available MBytes"
CommittedBytes Get-Counter -Counter " Memory Octets engagés"
PoolNonpagedBytes Get-Counter -Counter " Memory Pool Octets non paginés"
PageFaultsPersec Get-Counter -Counter " Memory Page Faults / sec"
PageReadsPersec Get-Counter -Counter " Memory Page lectures / s"
PagesInputPersec Get-Counter -Counter " Memory Pages Input / sec"
Pourcentage d'utilisation Get-Counter -Counter " Fichier de pagination (*) % Usage"

Métriques de disque

Pourcentage d'espace libre Get-Counter -Counter " Disque logique (*) % d'espace libre"
Pourcentage d'heure Get-Counter -Counter " Disque logique (*) % Temps d'inactivité"
AvgDisksecPerRead Get-Counter -Counter " Disque logique (*) Disque moyen sec / lu"
AvgDisksecPerWrite Get-Counter -Counter " LogicalDisk (*) Avg. Disk sec / Write"
AvgDiskQueueLength Get-Counter -Counter " Disque logique (*) Longueur moyenne de la file d'attente du disque"
DiskTransfersPersec Get-Counter -Counter " Disque logique (*) Transferts de disque / s"
CacheBytes Get-Counter -Counter " Memory Cache Bytes"

Métrique du réseau

BytesSentPersec Get-Counter -Counter " Interface réseau (*) Octets envoyés / s"
BytesReceivedPersec Get-Counter -Counter " Interface réseau (*) Octets reçus / s"
SegmentsRetransmisPersec Get-Counter -Counter " TCPv4 Segments retransmis / s"

Événements

Vous pouvez également interroger le journal des événements avec Powershell. La requête suit ce format:

Get-EventLog -LogName  `
-EntryType  `
-Après  | Où-Object $ _. EventID -eq  `
| Liste de format

Cette requête appelle le Get-EventLog cmdlet, avec le nom du journal, le type d’entrée et la date de début comme paramètres. La sortie de cette applet de commande est redirigée vers Où-objet, une applet de commande qui filtre la valeur transmise ($ _) pour les objets dont les EventIDs (.EventID) sont égaux à (-eq) le EventID que nous recherchons. La sortie est enfin canalisée vers Liste de format qui imprime la sortie dans un format lisible par l’homme.

Par exemple, cette requête affichera tous les événements d'échec d'audit de sécurité avec l'ID d'événement 4625 (échec de la connexion) à partir du journal de sécurité qui s'est produit après le 18/10/2016:

Get-EventLog -LogName Security -EntryType FailureAudit -Après 10/18/2016 | Où-Object $ _. EventID -eq 4625 | Liste de format

Catégorie: (12544)
Numéro de catégorie: 12544
ReplacementStrings: S-1-0-0, -, -, 0x0 ...
Source: Microsoft-Windows-Security-Auditing
TimeGenerated: 10/19/2016 3:21:32 PM
TimeWritten: 10/19/2016 3:21:32 PM
Nom d'utilisateur           :

Index: 1305543
EntryType: FailureAudit
InstanceId: 4625
Message: Un compte n'a pas réussi à se connecter.

                     Assujettir:
                         ID de sécurité: S-1-0-0
                         Nom du compte:        -
                         Domaine du compte: -
                         ID de connexion: 0x0

                     Type de connexion: 3

                     Compte pour lequel l'ouverture de session a échoué:
                         ID de sécurité: S-1-0-0
                         Nom du compte: MATT
                         Domaine du compte:

                     Informations d'échec:
                         Raison de l'échec: %% 2313
                         Statut: 0xc000006d
                         Sous statut: 0xc0000064

Prestations de service

Tous les services énumérés dans la première partie de cette série peuvent être collectés via Powershell. La requête suit ce format:

Get-Service | où $ _. DisplayName -eq "Windows Update"

La commande ci-dessus affiche l'état du service Windows Update:

Nom de statut Nom d'affichage
------ ---- -----------
Arrêté wuauserv Windows Update

WMI + Powershell

WMI (Windows Management Instrumentation) est un ensemble d'extensions qui fournit une interface normalisée à travers laquelle les composants instrumentés peuvent être interrogés pour obtenir des informations. WMI a été introduit pour faciliter la gestion des ordinateurs Windows, en fournissant une interface cohérente entre les versions de système d'exploitation, tout en fonctionnant aux côtés d'autres interfaces de gestion populaires telles que SNMP ou DMI (Desktop Management Interface).

L’introduction de Powershell (et le Get-WmiObject cmdlet en particulier) a rendu WMI beaucoup plus facile à utiliser. Auparavant, l'accès aux informations système via WMI nécessitait l'utilisation d'un passe-partout en VBScript ou d'un autre langage de script. Mais avec Powershell, WMI peut être interrogé sur une seule ligne.

Si vous ne faites que commencer à utiliser la surveillance Windows, Powershell est généralement un moyen plus simple d’accéder aux métriques de performance. Mais comme WMI est encore largement utilisé, nous avons inclus ici les commandes WMI équivalentes par souci d’exhaustivité. Vous pouvez commencer à parcourir toutes les classes WMI disponibles en ouvrant une fenêtre Powershell et en exécutant les opérations suivantes:

$ name = "Win32_perfformatteddata"
$ WMIClasses = Get-WmiObject -List | Where-Object $ _. Name -Match $ name

foreach ($ classe dans $ WMIClasses)

$ class.Name

L'exécution des commandes ci-dessus entraînera une sortie substantielle, tronquée et reproduite ci-dessous:

[...]



Win32_PerfFormattedData_PerfDisk_LogicalDisk
Win32_PerfFormattedData_PerfDisk_PhysicalDisk
Win32_PerfFormattedData_PerfNet_ServerWorkQueues
Win32_PerfFormattedData_PerfOS_Cache
Win32_PerfFormattedData_PerfOS_Memory
Win32_PerfFormattedData_PerfOS_Objects
Win32_PerfFormattedData_PerfOS_PagingFile
Win32_PerfFormattedData_PerfOS_Processor
Win32_PerfFormattedData_PerfOS_System

Vous pouvez reconnaître certains noms des commandes Powershell, tels que Win32_PerfFormattedData_PerfDisk_LogicalDisk. Pour répertorier les compteurs de performance pour toute la classe LogicalDisk, vous pouvez exécuter une commande telle que:

Get-WmiObject -Query "Select * from Win32_perfformatteddata_perfdisk_LogicalDisk"

qui produira des compteurs pour tous les disques logiques sur le serveur:

[...]



AvgDiskBytesPerRead: 0
AvgDiskBytesPerTransfer: 0
AvgDiskBytesPerWrite: 0
AvgDiskQueueLength: 0
AvgDiskReadQueueLength: 0
AvgDisksecPerLire: 0
AvgDisksecPerTransfer: 0
AvgDisksecPerWrite: 0
AvgDiskWriteQueueLength: 0
CurrentDiskQueueLength: 0
DiskBytesPersec: 0
DiskReadBytesPersec: 0
DiskReadsPersec: 0
DiskTransfersPersec: 0
DiskWriteBytesPersec: 0
DiskWritesPersec: 0
FreeMegabytes: 100400
Nom: C:
PercentDiskReadTime: 0
Pourcentage de temps disque: 0
PercentDiskWriteTime: 0
Pourcentage d'espace libre: 77
Pourcentage d'heure: 96

Le tableau ci-dessous répertorie les requêtes WMI permettant de collecter toutes les métriques de la première partie de cette série.

CPU Get-WmiObject -Query "Sélectionnez * dans Win32_perfformatteddata_perfos_processor"
Get-WmiObject -Query "Sélectionnez * dans Win32_perfformatteddata_perfproc_thread"
Mémoire Get-WmiObject -Query "Sélectionnez * dans Win32_perfformatteddata_perfos_memory"
Get-WmiObject -Query "Sélectionnez * dans Win32_perfformatteddata_perfos_pagingfile"
Disque Get-WmiObject -Query "Sélectionnez * dans Win32_perfformatteddata_perfdisk_logicaldisk"
Get-WmiObject -Query "Sélectionnez * dans Win32_perfformatteddata_perfos_memory"
Réseau Get-WmiObject -Query "Select * from Win32_perfformatteddata_tcpip_networkinterface"
Get-WmiObject -Query "Sélectionnez * dans Win32_perfformatteddata_tcpip_tcpv4"

Analyseur de performances (suivi des compteurs)

La scrutation des données de performance avec WMI ou Powershell est utile pour la collecte de données à l'aide de scripts ou d'autres moyens automatisés. Mais sans moyens de visualisation de ces données, il peut être difficile de déceler les tendances et les problèmes d'un océan de chiffres.

Moniteur de performance Windows

L'Analyseur de performances Windows fournit une interface intégrée permettant de représenter graphiquement les compteurs de performances, en temps réel ou à partir de journaux de données historiques. Vous pouvez également représenter graphiquement les données des hôtes locaux et distants. Les compteurs de performance sont organisés par classe et ont des noms lisibles par l'homme ainsi que des descriptions métriques détaillées.

Descriptions de perfmon

Moniteur de ressources

Windows Resource Monitor est très similaire au gestionnaire de tâches bien connu, mais la quantité d'informations qu'il diffère diffère. Le moniteur de ressources est un très bon point de départ pour une enquête; il peut faire apparaître presque toutes les mesures répertoriées dans la première partie de cette série. Son principal atout réside dans le fait qu’il fournit une interface graphique en temps réel permettant d’accéder aux métriques du processeur, de la mémoire, du disque et du réseau, ce qui vous permet de voir d’un coup d’œil quel processus particulier accapare le disque, par exemple.

Moniteur de ressources Windows en action

Moniteur de fiabilité

Le Moniteur de fiabilité Windows est une interface graphique qui fait apparaître les événements système et les organise de manière chronologique et par gravité.

Moniteur de fiabilité

Dans cette liste, vous pouvez cliquer avec le bouton droit de la souris sur un événement spécifique et rechercher une solution au problème, afficher une solution au problème ou afficher les détails techniques pour plus d'informations sur l'état du système au moment de l'événement. En sélectionnant «Afficher les détails techniques», vous obtiendrez des informations plus détaillées sur le problème, telles que le nom de l'événement, l'endroit où l'erreur s'est produite, etc.

Voir les détails techniques

En sélectionnant «Rechercher une solution», vous serez invité à envoyer les détails de l'événement à Microsoft pour analyse. Si vous êtes chanceux, votre problème peut avoir une solution connue et «Afficher la solution» ne sera plus estompé; cliquez dessus pour ouvrir la solution (sur le site Web de Microsoft) dans votre navigateur.

Rechercher une solution avec le moniteur de fiabilité Windows

Snap-in de service

Le composant logiciel enfichable Gestion des services (services.msc) est un outil indispensable qui fournit aux administrateurs une interface graphique pour surveiller et gérer les services sur des machines Windows.

Composant logiciel enfichable Services

Avec les lignes triables, vous pouvez voir en un coup d’œil l’état, le type de démarrage et les privilèges d’exécution de tous les services de votre système.

Dépendances du service

Cliquez avec le bouton droit sur n'importe quel service et sélectionnez Propriétés vous donnera plus de détails sur le service sélectionné, y compris une liste de ses dépendances et des services qui en dépendent.

Enfin, vous pouvez également définir des alertes en cas de défaillance du service en sélectionnant Récupération onglet et en changeant les actions d’échec en premier, en second ou en suite en «Exécuter un programme» et en définissant le programme comme script de messagerie ou autre réponse.

Alertes de service

Gestionnaire de serveur Windows

À l'instar du moniteur de fiabilité, Server Manager affiche les informations provenant de sources disparates dans un seul volet.

Gestionnaire de serveur Windows

Avec le Gestionnaire de serveur, vous pouvez accéder à une vue d'ensemble de haut niveau de la consommation de ressources, de l'état du service et des événements, en agrégeant les informations des hôtes locaux et distants.

BPA

Le Gestionnaire de serveur comprend également Windows Best Best Practices Analyzer. BPA (Best Practices Analyzer) de Windows Server est un outil unique à Windows Server 2008 R2 et Windows Server 2012 R2. BPA analyse les rôles activés sur votre hôte et fournit des recommandations basées sur les meilleures pratiques de gestion de serveur Windows. Il peut identifier les problèmes de configuration, de sécurité, de performances, de stratégies, etc.

Gestionnaire des tâches

Sur une machine locale, le vénérable gestionnaire de tâches fournit un accès immédiat à une vue de ce qui se passe sous le capot. Outre une liste de processus en cours d'exécution, le gestionnaire de tâches comprend également des onglets contenant davantage d'informations sur les performances du matériel et les services en cours d'exécution.

Gestionnaire de tâches en action

Mention honorable: Process Explorer

Procexp

Dans la même veine que le gestionnaire de tâches est Explorateur de processus, un outil tiers de la suite polyvalente Sysinternals. Comme il n’est pas inclus dans Windows Server 2012, nous n’entrerons pas ici dans les détails. Cependant, il vaut la peine de le mentionner comme une alternative plus complète au gestionnaire de tâches intégré.

Réglage de priorité Procexp

Certaines de ses caractéristiques remarquables incluent:

  • afficher les DLL et les descripteurs chargés / ouverts par processus
  • modifier dynamiquement la priorité du processus
  • soumettre le hachage du processus exécutable à VirusTotal.com pour analyse
  • visualiseur interactif de dépendance (voir ci-dessous)
Parcourez les dépendances de manière interactive avec Process Explorer
Une vue interactive des dépendances d'un processus en cours d'exécution.

De la collecte à l'action

Dans cet article, nous avons présenté différentes manières de faire apparaître des métriques, des événements et des informations de service Windows Server 2012 R2 à l'aide d'outils simples et légers déjà disponibles sur votre système.

Pour surveiller les systèmes de production, vous souhaiterez probablement une solution dynamique qui ingérera non seulement les métriques de performances de Windows Server, mais également celles de toutes les technologies de votre pile.

Chez Datadog, nous avons développé des intégrations avec plus de
350
technologies, y compris Windows, afin de rendre votre infrastructure et vos applications aussi observables que possible.

Pour plus de détails, consultez notre guide sur la surveillance des métriques de performance de Windows Server 2012 R2 avec Datadog ou commencez immédiatement avec un essai gratuit.

Commentaires

Laisser un commentaire

Votre commentaire sera révisé par les administrateurs si besoin.