Powershellから、InfluxDBを使ってみる

シェアする

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で測定した結果をグラフ化してみました