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
1. Reverse-Proxy-Beispiel 1 1. Erzielen Sie den E...
In diesem Artikelbeispiel wird der spezifische Co...
query_cache_limit query_cache_limit gibt die Puff...
Häufig fehlt das Verständnis für mehrspaltige Ind...
1. Erstellen Sie eine neue virtuelle Maschine in ...
Inhaltsverzeichnis Vue3-Kapselungsnachrichten-Ein...
Google China hat ein Übersetzungstool veröffentlic...
1. Einleitung pt-query-digest ist ein Tool zum An...
Inhaltsverzeichnis 1. Bilder 1. Was ist ein Spieg...
Inhaltsverzeichnis Prozesskommunikation Bidirekti...
Die vollständige Syntax der Select-Anweisung laut...
Inhaltsverzeichnis Datei() Grammatik Parameter Be...
Vue+iview-Menü und Tab-Verknüpfung Ich entwickle ...
Dies ist ein Effekt, der ausschließlich mit CSS e...
Nexus bietet RestApi, aber einige APIs müssen noc...