すごく久しぶりにブログを更新します。
今日は自宅のVMで動いている監視用ダッシュボードを色々公開します!
皆さんも自宅で色々監視してニマニマしましょう
温湿度メーター
これはやっている人が多そうな温湿度の監視ダッシュボード。
センサーはSwitchbotの温湿度計。ハブミニと組み合わせることでクラウドにデータを保存可能。
Bluetoothで直接データを取り出すこともできるらしいけど自分の場合はSwitchbotAPIを利用してる。
電池で動く+マグネットでくっつく仕様。METER00はサーバー前にMETER01は屋外に設置。
最近は40度くらいで暑い。。
Internet Speedtest
これはInternet Speedtest ダッシュボード。
我が家は2回線存在していて、マンション備え付けのGIGAPRIZEと個人契約しているenひかり。
enひかり側はVMで動いているFWの配下からトラフィックを出しているため遅くなってる。
意外なのがGIGAPRIZEで下りが800Mbpsくらいでそこそこ安定している。
ダッシュボードはタイポしててgigapriseになってしまっているがメトリクスのtagなので面倒でそのままに。。
Speedtest CLIを10分毎に実施して値を取得しているけど10分に一回ならいいよね…?
(負荷が集中しそうなX0分は避けてる)
CO2メーター
これは換気を促すためのCO2メーター。
リモートワークで引きこもり24時間エアコンをつけて窓を締めているとよくないと思い導入。
でも意外と700ppmすら超えることもない。気密性が悪いのだろうか。。
逆にこれを見て換気いらないのではと思ったりしている。。
CO2濃度を取得する方法についてはセンサーモジュール”MH-Z19C”をラズパイに接続して取得している。自動キャリブレーションはオフにすることが重要
電力メーター
これが一番自慢したいダッシュボード。
我が家には太陽光発電が搭載されている!この太陽光発電は在宅ワークの自分にはかなりメリット。
発電した電気を利用することで買電を抑えつつ、余った電気は売電することでかなりお得に。
実際の効果はダッシュボードを見ればわかるようになっている。
例えば7月の例を見ると、発電量は373kWh。そのうち108kwhは売電、264kWhは消費した。
これを売電は16円、買電は31円換算とした費用効果は1万円近くなる。実質家賃が▲1万円!
賃貸で太陽光発電とか最高~。これらの値はどこから取ってきてるかというと、
太陽光発電設備の計測ユニットが各部屋に設置されており、そこでWebサーバが動いていた。
なのでそこにスクレイピングして値を取得している。
Server Detail
Serverのリソース監視用ダッシュボード。
VMとPMどちらもnode_exporterを動かしており、そこから値を取得している。
まぁ正直あまり見ない。
Raspiで変なログが大量に出てDiskが埋もれそうになったことがあるくらいしかない。
Network Detail
Network機器のリソース監視用ダッシュボード。
Router/SW/FWをSNMPベースで取得している。snmp_exporter
機器はInterfaceで察しが付きそうですがトラフィックやInterface情報がわかります。
Internet監視
InternetにPingして到達性をチェックする用。
基本8.8.8.8に定期的に打ってて6~8msくらい、ついでにいろんなAWSにもPingでRTTを計測してる
izuminの備忘録(AWS)
これはこのブログが動いているAWSのインスタンスを監視するダッシュボード
Server Detailのような情報とは別にHTTPの監視なんかもしてる。
コストなんかはAWS上のダッシュボードで確認できるためここではやってない。
アラートについて
アラートについてはGrafanaのAlertingを利用している。
Contact pointはDiscordとWebhookに設定し、Discordは下のように通知が来る様になってる。
Webhookは自宅のVMで動いているAPIサーバがあるのでそこを叩く用に設定。
そのAPIサーバにwebhookを叩くとGoogleHomeで音声を流すようになってて、
COEIROINKで生成した つくよみちゃん ボイスで “アラート発生~”とか”電力使い過ぎ~”みたいなことを喋ってくれるようになってる。素晴らしい。
バックアップについて
ダッシュボードやアラートは定期的にバックアップが必要。
それらはGrafanaのAPIでJsonを取得するようにしている。
その辺は下記を見ればいい感じにできるはず。
また、自宅のVMであらゆるサーバからbackupしたいファイルだけ集めるスクリプトが動いている。
差分があればcommitしてGithubにpushするようにしている。(rancid的な感じ)
スクリプトで取得したJSONはここに組み込むようにしているのでダッシュボードを変更すると自動でPushされる。便利~
その他
他にもいくつかダッシュボードはあるけどここでは見せれないものなので割愛。
FW自体のGUIから細かいトラフィック情報が確認できたりもする。
ElastiでFlowを取得してたけど今は動かしてない。
以上、色々見えると楽しくて意味もないのに眺めちゃうこともあったり。。
皆さんも良き監視ライフを!