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. Stildurchdringung 1...
Die Titelbilder in den Spalten von Zhihu Discover...
Detaillierte Beschreibung der Verwendung des Medi...
Ich verwende hier das 64-Bit-System CentOS 7. Ich...
Schreiben einer Docker-Datei Am Beispiel des von ...
Als ich eine neue Version der Konfigurationsschni...
Mixins bieten eine sehr flexible Möglichkeit, wie...
Vorwort Bei der täglichen Codeentwicklung gibt es...
Inhaltsverzeichnis 1. Hintergrund 2. Voraussetzun...
Öffnen Sie den Centos Yum-Ordner Geben Sie den Be...
Inhaltsverzeichnis 1. Grundlegende Konzepte 2. En...
In diesem Artikelbeispiel wird der spezifische Co...
Ich habe hier eine Warentabelle erstellt. Schauen...
Wenn MySQL DDL-Operationen wie „Alter Table“ ausf...
Inhaltsverzeichnis MutationObserver API Merkmale ...