背景情報 最近、Windows パフォーマンスに関する本を読み直しています。以前は SCOM 監視を使用していた私のような怠け者にとって、Zabbix に付属する Windows OS テンプレートは本当に不十分です。以前の SCOM 監視パッケージ (Microsoft が公開したもので、すべての作業が実行され、必要に応じてルールとアラームを有効にするだけで済みました) が役に立たなかったからです。 デフォルトの Zabbix パフォーマンス データには Avg Latency しかなく、平均データは正確ではありません。ディスクのレイテンシと IOPS を確認したい場合は、自分で行う必要があります。Zabbix の Windows パフォーマンス カウンターの構文を確認した後、少し後退しました。すべての数値パフォーマンス カウンターの CounterCategory と CounterName。 内蔵ディスクに関連する唯一の統計は、転送速度と平均遅延です。 Zabbix での Windows パフォーマンス監視 監視する他のパフォーマンス カウンターがある場合、それらの名前と機能は何ですか?すぐに検索できるリストはありますか? 解決する 幸いなことに、PowerShell は簡単に記述できるので、Zabbix のパフォーマンス カウンターの構文を統合する次の関数を作成しました。 関数 Get-PerfCounterDesc{ [コマンドレットバインディング()] パラメータ( [スイッチ]$表示 ) $Categories = [System.Diagnostics.PerformanceCounterCategory]::GetCategories() $SingleInstanceCategories = $Categories | Where-Object {$_.CategoryType -eq "SingleInstance"} $MultiInstanceCategories = $Categories| Where-Object {$_.CategoryType -eq "MultiInstance"} $SingleInstanceCounters = $SingleInstanceCategories | ForEach-Object { (新しいオブジェクト System.Diagnostics.PerformanceCounterCategory($_.CategoryName)).GetCounters() } $MultiInstanceCounters = $MultiInstanceCategories | ForEach-Object { $category = 新しいオブジェクト System.Diagnostics.PerformanceCounterCategory($_.CategoryName) $category.InstanceExists('_Total') の場合 $category.GetCounters('_Total') }elseif($category.InstanceExists('合計')){ $category.GetCounters('合計') }それ以外{ $instanceNames = $category.GetInstanceNames() if($instanceNames.count -gt 0){ $category.GetCounters($instanceNames[0]) } } } $AllCounters = $MultiInstanceCounters + $SingleInstanceCounters $key="HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib\009" $counters=Get-ItemPropertyValue -Path $key -Name "counter" $辞書=@{} ($i=0;$i -lt $counters.count;$i=$i+2){ if($counters[$i+1] -かつ -not $Dict.ContainsKey($counters[$i+1])){ $Dict.add($counters[$i+1],$counters[$i]) } } 書き込みデバッグ $dict.keys.count $result=$AllCounters | Sort-Object カテゴリ名、カウンター名| Select-Object カテゴリ名、 カウンターネーム、 @{n="zabbixPerfCounter";e={'perf_counter["\{0}({{#ReplaceThis}})\{1}"]' -f $dict[$_.CategoryName],$dict[$_.Countername]}}, @{n="categoryNum";e={$Dict[$_.CategoryName]}}, @{n="カウンター番号";e={$Dict[$_.カウンター名]}}, カテゴリヘルプ、 カウンターヘルプ 表示する場合 $result|アウトグリッドビュー }それ以外{ $結果 } } どうやって使うの?上記の関数を個人の PowerShell プロファイルに直接追加します。つまり、PowerShell コンソールの 新しい PowerShell を起動し、Get-PerfCounterDesc -show を直接入力します。さまざまな方法で結果をフィルターできます。 zabbixPerfCounter 列は、生成された zabbix で使用されるキーです。{#replaceThis} をカウンターのインスタンス名に置き換えてください。たとえば、_total。 次に、ディスクIOPSとレイテンシを表示するために、Zabbixテンプレートに次のカウンターを追加しました。 アイテムのプロトタイプ アイテム Grafanaもそれに応じて変更する必要があります 要約する 上記は、編集者が紹介したZabbixでのWindowsパフォーマンス監視の方法です。皆様のお役に立てれば幸いです。ご質問がございましたら、メッセージを残していただければ、編集者がすぐに返信いたします。また、123WORDPRESS.COM ウェブサイトをサポートしてくださっている皆様にも感謝申し上げます。 以下もご興味があるかもしれません:
|
>>: MySQL クエリにおける LIMIT の大きなオフセットによって引き起こされるパフォーマンス低下の分析
NERDTree は Vim 用のファイル システム ブラウザーです。このプラグインを使用すると、ユ...
目次MySQL 共通関数1. 数値関数文字列関数3. 時間機能4. システム機能5. 集計関数MyS...
bgcolor="テキストの色" background="背景画像&q...
1. JSの非同期実行の原則JavaScript はシングルスレッドですが、ブラウザはマルチスレッド...
不明な点があるときはいつでも、Blog Park にアクセスして、いつでも答えやインスピレーションを...
1. Dockerのインストールと設定 #CentOS をインストールし、Docker パッケージを...
目次1. シナリオの説明: 2. 事例のデモンストレーション: 2.1. MySQLの障害発生前にデ...
目次1. はじめに2. ルール検証の入力モード2.1 サンプルコード2.2、フォーム項目2.3. 小...
MySQL へのリモート接続が失敗する場合は、次の理由が考えられます。 1. 若い男性/女性の方は、...
目次序文クエリの使用シナリオ例時間間隔クエリクエリ日付と今日の時間の比較データ一般的なサイクルタイム...
docker パッケージング Python 環境の手順は次のとおりです。 1 pip listの下に...
1. 複合主キーいわゆる複合主キーとは、テーブルの主キーが複数のフィールドで構成され、ビジネス上の意...
この記事では主に、Vue を使用してタブ ナビゲーション バーを実装し、flex レイアウトを使用し...
この記事では、主に、円形のダイナミックな光る特殊効果アニメーションを実現するための純粋な CSS3 ...
vscode エディタを使用して vue テンプレートを作成すると、新しい vue ファイルを作成す...