CPU温度 lm-sensorsThinkPad 本体の温度を計測
HDD温度・不具合 smartmontools外付けHDDの S.M.A.R.T. 情報を取得
EDCB / AdGuardNetdata (HTTP/Process check)サービスが動いているか死活監視
ネットワーク/死活 fping / Netdataネットの重さやパケットロスを監視
通知 msmtp + Gmailなどスマホへメール送信
■Netdata をインストールし監視をする
Netdata を、ホストにインストールするかDockerにするか?
| 項目 | ホスト | Docker |
|---|---|---|
| /dev/sda /dev/sdb へのアクセス | 自動 ✅ | --deviceで個別マップ必要 ⚠️ |
| USB接続デバイス | そのまま見える ✅ | ホットプラグに弱い ⚠️ |
| CPU/メモリ/ネットワーク監視 | フルアクセス ✅ | 制限あり ⚠️ |
| SYS_RAWIO 権限 | 不要 ✅ | 明示的に付与必要 ⚠️ |
折角 Docker を構築したが、ホストにインストールする事とした、設定のバックアップは必要。
wget -O /tmp/netdata-kickstart.sh https://get.netdata.cloud/kickstart.sh && sh /tmp/netdata-kickstart.sh
Windows パソコンからhttp://(ThinkPadのIP):19999 にアクセスする。
Google アカウントでログインするが、無料版でも十分
無料版(Free Tier)でできることリアルタイム監視: 1秒単位のグラフ表示(これがNetdataの真骨頂)
メール通知: CPU温度上昇やHDD不具合時のアラート送信。
ダッシュボード: 全てのグラフを1画面で確認。
ノード数: 5台程度までのサーバーなら無料でクラウド連携も可能。
HDD/SSDの寿命監視: 無料版で制限なく行える。
AdGuard / EDCB の死活監視: 無料版で十分可能。
ネットの重さ監視: 無料版でリアルタイムに測定。
■EDCB や AdGuard Home の死活監視
Netdata の web_check 機能を使い、これら特定のサービスが落ちたときに通知を飛ばす設定
sudo /etc/netdata/edit-config go.d/httpcheck.conf
jobs:
- name: adguard_home
url: http://localhost:3000 # AdGuardの管理画面URL
- name: edcb
url: http://localhost:5510 # EDCB(EpgTimerNW)のポート■msmtp のインストールと Gmail 連携
サーバーに不具合のあった時にメールを外に送り出すための「msmtp」ソフトをインストール。
sudo apt update sudo apt install msmtp msmtp-mta ca-certificates -y
設定ファイルの作成、メールアドレス2か所とパスワードを入力
defaults auth on tls on tls_trust_file /etc/ssl/certs/ca-certificates.crt logfile ~/.msmtp.log account gmail host smtp.gmail.com port 587 from @gmail.com user @gmail.com password 16桁のパスワード空白除く account default : gmail
「netdata」ユーザーが使えるように権限を整える。
# 所有者を Netdata ロボットに変更する sudo chown netdata:netdata /etc/msmtprc # 所有者(netdata)以外は、読み書きどころか「見ることも禁止」にする sudo chmod 600 /etc/msmtprc
etdataに通知先を教える
sudo /etc/netdata/edit-config health_alarm_notify.conf
最終反映とテストメール。
sudo systemctl restart netdata # Netdataユーザーになりきってテスト sudo su -s /bin/bash netdata /usr/libexec/netdata/plugins.d/alarm-notify.sh test exit