過去の記事は下記となります。
Raspberry Piでパトランプを作成①
Raspberry Piでパトランプを作成②
Raspberry Piでパトランプを作成③
求める仕様
- アラートを音と光で伝えてくれる
- snmptrapを受信
- 安定稼働 <- 今回はこちら
- 自前のコンパネにて設定変更が可能
安定稼働のためにWatchDogTimer(番犬タイマ)を導入
WDTとは
システムのハングアップや異常状態を検知して
強制的にリブートを掛けてくれる仕組みです。
マイコン等では一般的に利用されていると思います。
Raspberry Piでは情報量があまり多くなかったので
あまり利用されていない印象を受けましたが
今回は監視用途にも活用したいため番犬君を仕込むことにしました。
Watchdogをkernel moduleに読み込む
有効なモジュールを確認
1 2 3 4 |
root@patlam-pi:~# cat /proc/modules | grep 2708 snd_soc_bcm2708_i2s 5486 0 - Live 0xbf0c5000 regmap_mmio 2818 1 snd_soc_bcm2708_i2s, Live 0xbf0c1000 snd_soc_core 128166 1 snd_soc_bcm2708_i2s, Live 0xbf090000 |
bcm2708_wdogモジュールを読み込み&確認
1 2 3 4 5 6 |
root@patlam-pi:~# modprobe bcm2708_wdog root@patlam-pi:~# cat /proc/modules | grep 2708 bcm2708_wdog 3613 0 - Live 0xbf116000 snd_soc_bcm2708_i2s 5486 0 - Live 0xbf0c5000 regmap_mmio 2818 1 snd_soc_bcm2708_i2s, Live 0xbf0c1000 snd_soc_core 128166 1 snd_soc_bcm2708_i2s, Live 0xbf090000 |
次回起動時にも有効とする
1 |
root@patlam-pi:~# echo "bcm2708_wdog" >> /etc/modules |
loadAverageの急上昇時にも強制再起動設定
software watchdog daemonをインストール
1 |
root@patlam-pi:~# apt-get install watchdog |
/etc/watchdog.conf 設定
1 2 |
watchdog-device = /dev/watchdog max-load-1 = 24 |
上記をコメントアウト
テスト
1 2 3 4 5 6 |
root@patlam-pi:~# [fkぼむ サーバ屋のため自主規制] root@patlam-pi:~# w 00:18:59 up 3 min, 2 users, load average: 118.69, 25.32, 8.26 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT pi pts/0 192.168.1.26 00:17 19.00s 2.12s 0.47s sshd: pi [priv] pi pts/1 192.168.1.26 00:18 18.00s 2.15s 0.16s w |
直ぐに再起動が走るようになりました。
起動時に有効とする
1 |
root@patlam-pi:~# chkconfig watchdog on |
ソース
作成したプログラム及び、Raspberry Piの配線図、Raspbianへ実施した設定は下記を参照下さい。
https://github.com/tktk19/Patlam-pi
ムービー
8/25更新・掲載致します。