Hintergrundinformationen Ich habe kürzlich einige Bücher über die Leistung von Windows erneut gelesen. Für einen faulen Menschen wie mich, der früher SCOM-Überwachung verwendet hat, reicht die mit Zabbix gelieferte Windows-Betriebssystemvorlage wirklich nicht aus, da das vorherige SCOM-Überwachungspaket (von Microsoft veröffentlicht, die ganze Arbeit erledigt hat und ich nur nach Bedarf Regeln und Alarme aktivieren musste) nicht ausreicht. Die standardmäßigen Leistungsdaten von Zabbix enthalten nur die durchschnittliche Latenz, und die Durchschnittsdaten sind nicht genau. Wenn Sie die Latenz und IOPS der Festplatte sehen möchten, müssen Sie dies selbst tun. Nachdem ich mir die Syntax des Windows-Leistungsindikators in Zabbix angesehen hatte, zog ich mich etwas zurück. Die CounterCategory und der CounterName aller numerischen Leistungsindikatoren. Die einzigen Statistiken zur integrierten Festplatte sind die Übertragungsgeschwindigkeit und die durchschnittliche Latenz. Windows-Leistungsüberwachung auf Zabbix Wenn es andere zu überwachende Leistungsindikatoren gibt, wie heißen diese und welche Funktion haben sie? Gibt es eine Liste, in der man schnell suchen kann? Löse es Glücklicherweise lässt sich PowerShell einfach schreiben, daher habe ich die folgende Funktion geschrieben, die die Syntax der Leistungsindikatoren von Zabbix integriert. Funktion Get-PerfCounterDesc{ [cmdletbinding()] Parameter( [Schalter]$zeigen ) $Categories = [System.Diagnostics.PerformanceCounterCategory]::GetCategories() $SingleInstanceCategories = $Categories | Where-Object {$_.CategoryType -eq "SingleInstance"} $MultiInstanceCategories = $Categories| Where-Object {$_.CategoryType -eq "MultiInstance"} $SingleInstanceCounters = $SingleInstanceCategories | FürEach-Objekt { (neues Objekt System.Diagnostics.PerformanceCounterCategory($_.CategoryName)).GetCounters() } $MultiInstanceCounters = $MultiInstanceCategories | FürEach-Objekt { $Kategorie = neues Objekt System.Diagnostics.PerformanceCounterCategory($_.CategoryName) wenn($category.InstanceExists('_Total')){ $category.GetCounters('_Total') }elseif($category.InstanceExists('Total')){ $category.GetCounters('Gesamt') }anders{ $instanceNames = $category.GetInstanceNames() wenn($instanceNames.count -gt 0){ $category.GetCounters($instanceNames[0]) } } } $AllCounters = $MultiInstanceCounters + $SingleInstanceCounters $key="HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib\009" $counters=Get-ItemPropertyValue -Pfad $key -Name "Zähler" $Dict=@{} für ($i=0;$i -lt $counters.count;$i=$i+2){ wenn($counters[$i+1] -und -nicht $Dict.ContainsKey($counters[$i+1])){ $Dict.add($Zähler[$i+1],$Zähler[$i]) } } Schreib-Debug $dict.keys.count $result=$AllCounters | Sort-Objekt Kategoriename,Zählername| Objektauswahl Kategoriename, Gegenname, @{n="zabbixPerfCounter";e={'perf_counter["\{0}({{#ReplaceThis}})\{1}"]' -f $dict[$_.CategoryName],$dict[$_.Countername]}}, @{n="KategorieNum";e={$Dict[$_.KategorieName]}}, @{n="ZählerNum";e={$Dict[$_.Zählername]}}, KategorieHilfe, Gegenhilfe wenn($zeigen){ $result|Out-GridView }anders{ $Ergebnis } } Wie benutzt man es? Fügen Sie die obige Funktion direkt zu Ihrem persönlichen PowerShell-Profil hinzu. Fügen Sie dazu den Inhalt in den Starten Sie eine neue PowerShell und geben Sie Get-PerfCounterDesc -show direkt ein. Sie können die Ergebnisse auf verschiedene Arten filtern. Die Spalte zabbixPerfCounter ist der Schlüssel, der für das generierte Zabbix verwendet wird. Bitte ersetzen Sie {#replaceThis} durch den Instanznamen des Zählers. Beispielsweise _total. Dann habe ich die folgenden Zähler in die Zabbix-Vorlage eingefügt, um die Festplatten-IOPS und Latenz anzuzeigen Artikelprototyp Artikel Sie müssen auch Grafana entsprechend ändern Zusammenfassen Oben ist die vom Herausgeber vorgestellte Methode zur Windows-Leistungsüberwachung auf Zabbix. Ich hoffe, sie ist für alle hilfreich. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und der Herausgeber wird Ihnen rechtzeitig antworten. Ich möchte auch allen für ihre Unterstützung der Website 123WORDPRESS.COM danken! Das könnte Sie auch interessieren:
|
<<: Beste Möglichkeit, den Schlüssel im JSON-Objekt zu ersetzen
Inhaltsverzeichnis Vorwort 1. DDL 1.1 Datenbankop...
Inhaltsverzeichnis Vorwort Das Prinzip der asynch...
Windows-Installation mysql-5.7.17-winx64.zip Meth...
Leistung von „Union All“ in MySQL 5.6 Teil 1: MyS...
Inhaltsverzeichnis 1. Verwendung in Komponenten 2...
Hier konzentrieren wir uns nur auf die Installati...
1. Warum müssen wir Tabellen und Partitionen auft...
1. Überprüfen Sie den Linux-Festplattenstatus df ...
Im Entwicklungsprozess eines Vue-Projekts konfigu...
Inhaltsverzeichnis MySQL Inner Join, Left Join, R...
1. Um die Abfrage zu optimieren, sollten Sie voll...
Es gibt eine Frage, die Webdesigner schon lange b...
Während dieser Zeit stieß ich bei der Arbeit an e...
MySQL (5.6 und darunter) analysiert JSON #json-An...
Die folgenden beiden Funktionen werden auf die gl...