久々にGrafanaを触ってみた。以前、最近いた会社の製品のGrafanaダッシュボードを作って見せたが、これがなんとも不評というか興味が誰もない。どうやら製品のグラフが表示されて、何か変なデータが出たら嫌なのかと思ったら、そもそも製品の動きとは関係ないのでそもそも興味がなかった?簡単に作れるから別にだったのか。セキュリティを謳うなのであれば、可視性はトレンドなんだが、困ったものである。自社製品でグラフを出す製品もあるのだが、何をメトリック?にするのかも皆目検討が付かなかった様子。そう、志村けんの迷言で、「子作りは好きだけど、子育ては嫌いなのよね」という人がほとんどだったのかもしれない。簡単に作れるのか?という問いには、やってみればわかるが、SNMPが絡むとほんとめんどくさい。そういう意味で、JP1とかよくできてるなぁと改めて思う。
手始めのEdgeRoterのGrafanaダッシュボードを作ってみた。

過去に一度作ったんだが、今回は、Docker版。過去が過去すぎて、自分のブログをChat GPTに読み込ませて作った。それにしても周辺アプリが更新されていて一筋縄ではいかず。
そのまえに、WindowsとかLinuxのホストの情報を簡単に取れないのか?と調べてみたらあっけなく取れることが判明。
prometheus.ymlにこんなののを入れておけばよいらしい。
scrape_configs:
# Linux node_exporter
- job_name: "linux"
static_configs:
- targets:
# Add Linux hosts (node_exporter:9100)
- 192.168.11.92:9100
- 192.168.10.4:9100
- 192.168.1.24:9100
- 192.168.1.13:9100
labels:
os: "linux"
# Windows windows_exporter
- job_name: "windows"
static_configs:
- targets:
# Add Windows hosts (windows_exporter:9182)
- 192.168.11.65:9182
labels:
os: "windows"
WindowsやLinuxは、exporterアプリをいれておけばいい。
Ubuntuなら、
apt -y install prometheus-node-exporter-collectors
WIndowsなら以下からパッケージを入れるだけ。
https://github.com/prometheus-community/windows_exporter
ともに何も設定不要。
あとは、GrafanaのダッシュボードをImportする。
Linuxのダッシュボードは
Windowsのダッシュボードは
time() - windows_system_boot_time_timestamp{instance=~"$instance"}
が見栄えがいい。

ちなみに、Dockerでもnode_exporterが動くので、NASでDockerが動く、QNAPやSynologyでも情報が取れるはず。ただ、NAS特有のLinuxカーネルのおかげで全部はとれない。さらにNASベンダー特有の情報が取れない。