Vous pouvez créer un Data Collector Set sur une machine distante en important un modèle qui est sous la forme d'un .xml
Le Data Collector Set sera ici nommé "Server Manager Performance Monitor"
logman import -n "Server Manager Performance Monitor" -xml c:\Modele.xml -s NomMachine
Lien vers le fichier : cliquez ici
Voici à quoi ressemble un Data Collector Set
Sous 2008 on peut facilement créer un modèle en créant dans l'interface graphique un Data Collector Set avec tout ce qui va bien puis en faisant un clic droit dessus puis en cliquant sur "Enregistrer le modèle"
Pour ajouter de nouveaux compteurs à prendre en compte dans une capture dans un Data Collector Set nommé "Server Manager Performance Monitor"
Les compteurs sont dans un fichiers C:\Compteurs.txt
Logman update -n "Server Manager Performance Monitor" -cf "C:\Compteurs.txt" -s NomMachine
Lien vers le fichier : cliquez ici
On peut en même temps ajouter d'autres paramètres comme la fréquence de l'échantillonnage, la date de début, l'emplacement du fichier de sortie etc ...
Logman update -n "Server Manager Performance Monitor" -cf "C:\Compteurs.txt" -b 1/20/2016 00:00:00 -si 05:00 -f bin -o "%systemdrive%\PerfLogs\Admin\ServerManager" -s NomMachine
Lien vers le fichier : cliquez ici
Exemple de compteurs contenus dans C:\Compteurs.txt
Attention : le nom des compteurs est sensible à la langue de l'OS.
Ici ce sont des compteurs en Français, vous ne pourrez pas les importer dans un OS Anglais
\Processeur(_Total)\% temps processeur
\Mémoire\Kilo-octets disponibles
\Processus(*)\% temps processeur
\Processus(*)\Nombre d’octets de données/s
\Processus(*)\Octets privés
\Processus(*)\Nombre de threads
\Processus(*)\ID de processus
\Disque logique(*)\Écritures disque, octets/s
\Disque logique(*)\Lectures disque, octets/s
\Disque logique(*)\Longueur moyenne de file d’attente du disque
\Disque logique(*)\Longueur moyenne de file d’attente écriture disque
\Disque logique(*)\Longueur moyenne de file d’attente lecture disque
\Disque logique(*)\Mégaoctets libres
\Interface réseau(*)\Longueur de la file d’attente de sortie
\Interface réseau(*)\Octets envoyés/s
\Interface réseau(*)\Octets reçus/s
\Mémoire\Entrées libres en table des pages système
\Mémoire\Octets de réserve non paginée
\Mémoire\Octets du cache
\Mémoire\Pages/s
\Mémoire\Pourcentage d’octets dédiés utilisés
\ICA Session(*)\*
Lien vers le fichier : cliquez ici
Attaché à cet article vous trouverez un modèle en .xml à télécharger et que vous pourrez ensuite importer. La partie sécurité du fichier .xml a été effacée afin de ne pas créer de problème avec un SID non trouvé. De toute façon des droits par défaut seront créé à l'importation.
Ci-dessous un script vbs qui génère un .bat contenant les commandes pour arrêter une capture, injecter de nouveaux compteurs et redémarrer la capture
Le nom des machines à traiter doit être sous forme de liste dans un fichier à part.
Ce fichier à part porte le même nom que le script vbs avec en plus le suffix _ListeMachines.txt
A vous d'adapter le script pour vos besoins :
Option Explicit
Dim objFSO, objTextFileBAT, objTextFileListe
Dim CheminScriptActuel, CheminFichierBAT, CheminFichierListeMachines, ScriptFileName
Dim Position
Dim NomMachine, NomCollection
'Déclaration des constantes
Const ForReading = 1
Const ForWritting = 2
Const ForAppending = 8
NomCollection = "Server Manager Performance Monitor"
NomCollection = Trim(InputBox("Entrez le nom de la collection perfmon","Nom de la collection",NomCollection))
ScriptFileName = wscript.scriptname
Position = InstrRev(ScriptFileName,".")
if (Position > 0) Then ScriptFileName = Left(ScriptFileName, Position - 1)
CheminFichierBAT = ScriptFileName & "_Batch.bat"
CheminFichierListeMachines = ScriptFileName & "_ListeMachines.txt"
CheminScriptActuel = Left(wscript.scriptfullname,Len(wscript.scriptfullname)-Len(wscript.scriptname)-1)
CheminFichierBAT = CheminScriptActuel & "\" & CheminFichierBAT
CheminFichierListeMachines = CheminScriptActuel & "\" & CheminFichierListeMachines
If (Len(CheminFichierBAT) > 0) And (Len(CheminFichierListeMachines) > 0) Then
Set objFSO = CreateObject("Scripting.FileSystemObject")
If objFSO.FileExists(CheminFichierListeMachines) Then 'Si le fichier qui contient la liste des machines existe
Set objTextFileListe = objFSO.OpenTextFile(CheminFichierListeMachines, ForReading, True)
Set objTextFileBAT = objFSO.OpenTextFile(CheminFichierBAT, ForWritting, True)
Do Until objTextFileListe.AtEndOfStream
NomMachine = objTextFileListe.Readline 'Lecture et affichage de la ligne
Wscript.Echo NomMachine
objTextFileBAT.WriteLine("logman stop -n """ & NomCollection & """ -s " & NomMachine)
'objTextFileBAT.WriteLine("logman delete -n """ & NomCollection & """ -s " & NomMachine)
'objTextFileBAT.WriteLine("logman import -n """ & NomCollection & """ -xml C:\Modele.xml -s " & NomMachine)
objTextFileBAT.WriteLine("Logman update -n """ & NomCollection & """ -cf ""C:\Compteurs.txt"" -si 01:00 -s " & NomMachine)
objTextFileBAT.WriteLine("logman start -n """ & NomCollection & """ -s " & NomMachine)
objTextFileBAT.WriteLine("")
Loop
objTextFileBAT.Close 'Fermeture du fichier
objTextFileListe.Close
Set objTextFileBAT = Nothing
Set objTextFileListe = Nothing
Else
Wscript.echo "Le fichier '" & CheminFichierListeMachines & "' n'existe pas"
Set objTextFileBAT = objFSO.OpenTextFile(CheminFichierListeMachines, ForWritting, True)
objTextFileBAT.Close 'Fermeture du fichier
Set objTextFileBAT = Nothing
End If
Set objFSO = Nothing
Else
Wscript.echo "Operation annulee"
End If 'CheminFichierBAT
Lien vers le fichier : cliquez ici
Ci-dessous un script vbs plus ancien et moins souple qui a le même but et qui génère lui aussi un .bat
Ici on a une boucle qui génère un nom de serveur allant de 01 à 19. Les noms de serveurs iront donc de NomServeur01 à NomServeur19
Dim objFSO
Dim objTextFile
Dim CheminFichier
Dim CheminScriptActuel
Dim NomMachinedeBase, NomMachineComplet, CompteurMachine
'Déclaration des constantes
Const ForReading = 1
Const ForWritting = 2
Const ForAppending = 8
NomMachinedeBase = "NomServeur"
CheminScriptActuel = Left(wscript.scriptfullname,Len(wscript.scriptfullname)-Len(wscript.scriptname)-1)
CheminFichier = CheminScriptActuel & "\ZZMonFichier.bat" 'Déclaration du chemin et du nom du fichier
'CheminFichier = Trim(InputBox("Entrez le chemin complet du fichier","Chemin complet du fichier",CheminFichier)) 'Validation du chemin et du nom du fichier
If Len(CheminFichier) > 0 Then
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objTextFile = objFSO.OpenTextFile(CheminFichier, ForWritting, True)
CompteurMachine = 1
Do
If Len(CompteurMachine) = 1 Then
NomMachineComplet = NomMachinedeBase & "0" & CompteurMachine
Else
NomMachineComplet = NomMachinedeBase & CompteurMachine
End If
objTextFile.WriteLine("logman stop -n ""Server Manager Performance Monitor"" -s " & NomMachineComplet)
objTextFile.WriteLine("Logman update -n ""Server Manager Performance Monitor"" -cf ""C:\Compteurs.txt"" -si 01:00 -s " & NomMachineComplet)
objTextFile.WriteLine("logman start -n ""Server Manager Performance Monitor"" -s " & NomMachineComplet)
objTextFile.WriteLine("")
CompteurMachine = CompteurMachine + 1
Loop While CompteurMachine =< 19
objTextFile.Close 'Fermeture du fichier
Set objTextFile = Nothing
Set objFSO = Nothing
Else
Wscript.echo "Operation annulee"
End If 'CheminFichier
Lien vers le fichier : cliquez ici
La commande ci-dessous permet de lister les collecteurs de données existants :
logman query
Lien vers le fichier : cliquez ici
Ici cela retourne un résultat :
Server Manager Performance Monitor
On le retrouve via l'interface graphique
En ligne de commande on peut alors l'interroger ainsi :
logman query -n "Server Manager Performance Monitor"
Lien vers le fichier : cliquez ici
On récupère, par exemple, les compteurs de la collection interrogée
Pages Web
Site Web | Description |
---|---|
Technet.microsoft.com | Doc technet sur la commande logman update trace |
Blogs.technet.com | Two Minute Drill LOGMAN.EXE |
Téléchargement(s)
Nom | Site Web d origine | Description |
---|---|---|
8557Modele.xml | Modèle à importer pour perfmon sous Windows 2008 |
Article(s) suivant(s)
Article(s) précédent(s)
Article(s) en relation(s)