Nous avons une longue opération performante qui fonctionne pendant 6 heures. Quand il fut enfermé, quelque chose est arrivé pendant 5 minutes où sa performance a chuté de façon spectaculaire et a causé quelques délaies, au milieu de la nuit. Je soupçonne qu'un autre processus a lancé et martelé la CPU ou similaire.
La suggestion sur ce site de la recherche est d'utiliser ProcessMonitor pour surveiller la CPU. Cependant, il ne semble que capturer du trafic pendant son exécution, et c'est une application de bureau. Mon instance de serveur Windows vous démarre après avoir été inactive pendant 10 minutes, contrôlée par la stratégie de groupe et je ne peux pas le changer, je ne peux donc pas utiliser les applications de bureau pour la surveillance.
J'ai besoin de surveiller l'utilisation du processeur sur une période de 24 heures. Je ne suis pas seulement intéressé par l'utilisation du nom et de la CPU (%) afin que je puisse savoir quoi, si quelque chose, frappe et ruine les choses.
Parce que vous êtes coupé, j'ai vraiment besoin de quelque chose qui peut fonctionner comme service Windows.
Y a-t-il un moyen de le faire (à l'aide de processus de processeur ou d'outil similaire - Sûrement Windows Server a quelque chose intégré?) En tant que service, je n'ai donc pas besoin d'être connecté à un bureau distant ou que je vais devoir trouver une sorte de Souris de la souris et laissez mon ordinateur toute la nuit?
Éditer:
Le moniteur de performance semble prometteur. Il est difficile de savoir comment le configurer pour me donner ce que je veux.
J'ai fait une CPU de collecteur de données personnalisé et ID de processus:
Ce que je veux faire, c'est capable de voir l'utilisation de la CPU de chaque processus à un moment donné, comme vous pouvez le faire dans le gestionnaire de tâches, sauf avec un graphique et une capacité à afficher un instantané à tout moment pendant la période de surveillance.
Je peux donc voir un graphique de 24 heures, voir le point où il y a une pointe, cliquez dessus et voyez quel processus le causent.
Je ne suis même pas convaincu que ma configuration ci-dessus si je le fais que le travail me dira le nom du processus, il est indiqué que cela est un identifiant de processus, si cela s'avère être un GUID ou similaire, il n'y a probablement aucune aide non plus, surtout si le processus commence et s'arrête. et ne fonctionne toujours pas quand je vais enquêter.
Utilisation de la suggestion de Daniel K du moniteur de performance, j'ai découvert comment faire cela.
Windows Server dispose d'un outil intégré pour afficher les données de performance en temps réel ou pour collecter des données dans les journaux pour examen ultérieur. Je pense que cela fera exactement ce que vous recherchez.
Voir Cet article Pour un didacticiel de base sur l'utilisation de Performance Monitor pour la journalisation sur Windows Server 2012 R2.
Voir Cet excellent article sur tous les outils disponibles pour examiner les performances sur Windows (des outils interactifs).
Si les compteurs de performance de Windows ne fonctionnent pas pour vous (en effet, ils ont des limitations ennuyeuses), vous pouvez utiliser une collection de métriques dédiées et une solution de visualisation. Cela pourrait être un peu trop exclu, mais peut-être néanmoins un ajout précieux à votre boîte à outils.
Je peux recommander Prométhée comme solution de métrique à utiliser dans un tel cas.
Vient ensuite la partie difficile. Prometheus est une base de données - vous pouvez utiliser l'interface graphique Web pour interroger les données brutes, mais l'interface graphique n'est pas très conviviale et la langue de requête PromQL peut être inutile si vous n'êtes pas utilisé pour travailler avec des données de la série TIME. Je recommande la requête irate(wmi_process_cpu_time_total[5m])
pour commencer avec. Cela vous donnera un graphique de l'utilisation de la CPU en secondes de l'heure du processeur par seconde de temps réel, par processus.
irate
_ vous donnera les données entre les deux derniers points de données. Si vous souhaitez que les moyennes lisses utilisent rate
qui utilisera le 5m
Comme la période de calcul de la moyenne (irate
_ va simplement l'utiliser comme limite maximale).
Prométhée est un système de métriques puissant qui prends de faire pour comprendre. Cependant, cela peut bien vous servir à long terme dans la fabrication de systèmes automatisés observables.
Ps. Prométhée est généralement déployé avec Grafana comme interface graphique de visualisation (remplaçant les barebones Prometheus intégrée GUI). Cependant, pour un dépannage rapide, vous n'aurez pas besoin de cela.
PPS. processus exportateur et node_exporter sont l'équivalent Linux à l'exportateur WMI.