InfluxDB(時系列データベース)を利用して、Windowsサーバーの状態情報を定期的に保存し、グラフ化をしてみたいと思います。
準備
(1)まず、作業用フォルダーを作成します。
※ここでは、「C:\MyScripts」とします
(2)InfluxDBへの書き込みに必要なクライアントをダウンロードします。
https://github.com/yukiusagi2052/PowerShell-InfluxDB に行き、「Invoke-InfluxWrite.ps1」をダウンロードし、作業用フォルダー(C:\MyScripts)へ保存します。
(3)設定
「Invoke-InfluxWrite.ps1」をメモ帳で開き、以下の部分を自身の環境に合わせて変更します
# InfluxDB ネットワーク・パラメータ [String]$DefaltInfluxServer = 'localhost' [String]$DefaltInfluxPort = '8086' [String]$DefaltInfluxDbName = 'metrics' [String]$DefaltInfluxUsername = 'admin' [String]$DefaltInfluxPassword = 'pass'
グラフ化したいデータを保存するPowershellスクリプトを用意
(1)以下の内容をメモ帳で作成し、「sample.ps1」という名前で、「C:\MyScripts」して保存します
. Invoke-InfluxWrite.ps1 Get-WmiObject Win32_Logicaldisk | Where-Object DeviceID -eq "C:" | Select-Object FreeSpace | Invoke-InfluxWrite -SeriesName host.server1.diskfree.c
(2)スクリプトの動作テスト
Powershellを起動し、以下のコマンドを入力します
set-location C:\MyScripts & .\sample.ps1
定期実行
「タスク スケジューラー」を使用して定期実行させます
(追記)FPingと、TCPsessionsで測定した結果をグラフ化してみました