WMI Exporterでは、初期状態で見えるものが決まっていますが、それ以外にも取得できるパラメータが存在します。
上記githubでのReadmeに書かれています。
更に、詳しく何が取得対象としてできるのか、リンクも張られています。
今回は「mssql」を追加で取りたいと思います。
wmi_exporter/collector.mssql.md at master · martinlindhe/wmi_exporter · GitHub
で、この取得値の内訳はどこにあるかなというと…
こちらにありまっせと。
まぁ、私はSQLのエンジニアでもなくSQLのインフラ面もちょっと強くないもので、この値がなんやねん!?って言われても、どの値が正解の値なのかちょっとわからないのがツライ所です。
でもですね、BeforeとAfterがあると、何が変化したのか、どういった影響によってどういう変化が起きたのか・・・ぐらいはわかる訳なので、Before/Afterの為に必死に値を取得していこうかと思います。
wmi_exporter.exeを利用している方は、DOSプロンプトで以下を追加して実行すれば、mssqlの値も取得できると思います。
--collectors.enabled="cpu,cs,logical_disk,net,os,service,system,textfile,mssql"
msi形式でインストールしている場合はサービスで稼働していると思いますので、レジストリの修正が必要になります。wmi_exporterのサービスを先にまず止めて、レジストリを修正し、サービスを再開してください。
レジストリパスは以下の通りです。
「コンピューター\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\wmi_exporter」
その中に「ImagePath」がありますので、以下のようにアレンジします。
"C:\Program Files\wmi_exporter\wmi_exporter.exe" --log.format logger:eventlog?name=wmi_exporter --telemetry.addr :9182 --collectors.enabled="cpu,cs,logical_disk,net,os,service,system,textfile,mssql"
【画像のサンプルにはprocessって入れてますけど、これはmsqsqlの入っていない私のPCでキャプチャしたためですm(_ _)m】
んで、
http://sqlサーバーIP:9182/metrics
とやってみて、mssqlの値が反映されているか確認してください。
そして、Grafanaでゴリゴリと取得していきます。
あまりの数の多さに泣きが入ります。残念ながらダッシュボードのテンプレが置いてある場所にはwmiからmssqlをとったケースでのダッシュボードは置いてなかったので、すべて自力でやるしかないです。
取得した値によってはSeconds(s)にしたりirateを咬ませないといけなかったり、単位がよー判らんものがあったり、サイトではKBっていうてるのに実際はByteだったり。
で、頑張って引っ張り出してみた個数がこちらになります。113個のグラフを用意しました。全部展開するとブラウザが悲鳴をあげます(笑)
まぁ~ほんとうに、なんの値やねん?!っていうのばっかりで(^^;
ちなみに世間様はですね・・・
MSSSQL_ExporterとかPie ChartとかTEREGRAFとか使ってもっとかっちょよく表示するようです。TEREGRAFのやつは良さそうにみえましたが、色々と手を入れないといけなかったので、今回はパス。
わたくしはとにかく、どこの変化があるかを確認するのが最優先だったので、単位もボロボロ、表示もボロボロで・・す(^^;
それでも何が原因かの変化量はキャプチャーできました。少し苦労した甲斐はあったかな。。。
しかしこの後、グラフをちょっちカッコよく修正するかは微妙です・・・。
今回はグラフ表示にGrafanaだけで行きましたが、ぶっちゃけ、プルかプッシュで何かしらエージェントの値が取れてしまえば、グラフの表現なんて使いやすいのが一番いいですね。
とにかく何をするにも取得の値からの単位から表現方法をすべて模索する必要があるので、もうちょっとGrafanaのユーザーコミュニティが育ってくれないと色々きついっすね。Grafanaが悪いのかな?大元のPrometheusかな?
とりま、ぼちぼち私のセカンドオピニオンが良い案を持ってくるはず?