TP-Link TL-SG105PEのPoE Auto Recovery機能とPoE HATでRaspberry Piを簡易監視する
ども、takiponeです。
遠隔に配置する機器の監視は、運用における悩みの種の一つではないでしょうか。クラウドであれば監視サービスの利用が一般的ですが、さまざまな場所にばら撒くような機器の監視は一筋縄では行きません。機器へのアクセス回線が不安定だと機器の故障と回線不調の判別が難しく、再起動などのリカバリ命令自体が届かないケースも考えられるため、ある程度現地での自律的な死活判定とリカバリの実施が望ましいところです。そこで本ブログでは、現地で比較的手軽にできる監視&リカバリ構成としてPoEをキーにしたAuto Recovery構成をご紹介します。
PoE Auto Recoveryの概要
TP-Link TL-SG105PE(以下TL-SG105PE)は5ポート中4ポートでPoE PSE(給電)をサポートするスマートスイッチで、そのPoEポートにPoE Auto Recovery機能が設定できます。PoE Auto Recoveryの仕組みは非常にシンプルです。TL-SG105PEが監視対象にPingを定期的に送出し、Pingの応答が滞ったらPoEの電源断→入して再起動します。
- 00:08 : PoEの電源断
- 00:23 : PoEの電源入
設定はWeb管理画面の[PoE]-[PoE Auto Recovery]で行います。画面はこんな感じ。
![](https://takipone.com/content/images/2021/01/tplink-poe-autorecovery.png)
まずGlobal Configで[Enable]を選択し[Apply]ボタンを先にクリックして有効化します。その後Auto Recoveryを設定するポートの[Select]チェックボックスをクリックし、以下の設定項目のテキストボックスを埋めて下の[Apply]ボタンをクリックすれば有効になります。
- Ping IP Address
- Startup Delay
- Interval
- Failure Threshold
- Break Time
- Status
Ping IP Address
は、任意のIPアドレスを設定することが可能です。送信元は[System] - [IP Setting]のIPアドレスからPingが送出されるので、監視対象のファイヤーウォールでICMPを制限している場合は許可しましょう。他の項目はいずれも初期値で無難な値なので、特別な理由が無い限りはそのまま利用するのが良いと思います(適当にいじっていたら即座にFailure
と判定され無限ループ状態した失敗談がありますw)。すごく地味な設定ですが、Break Time
(電源断から電源入にするときの待ち時間)が最小3秒あるので、USBドングルなどRasPiに接続する周辺機器も確実にリセットできそうでいいなと思っています。
↑のスクリーンショットはその後何度かICMPを遮断して擬似的にFailure
を起こしているところです。5回までFailure
を検出すると...
![](https://takipone.com/content/images/2021/01/tplink-poe-autorecovery2.png)
電源断→入が発動し、Failures
は0にリセット、Reboots
が1になりました。
Raspberry Piの構成
Raspberry Pi 3B+および4BにはPoE向けのコネクタがあるので、PoE HATを装着することでPoE PD(受電)が可能です。手元の機材で試した限りでは、4B(メモリ8GB)では給電開始が上手くいかず、給電開始から1秒ほどで電源断、そのあと給電というループを繰り返す挙動がありました。USB-Cの給電で起動させておいてUSB-Cケーブルを抜いてPoEに切り替えることでPoEの動作自体はできたため、突入時の電力に支障がありそうです。3B+は良好に動作しました。
Pingに応えないとFairure判定というシンプルさから、OS自体が無反応なケースのほかに「Raspberry Piで検出できるなんらかの問題を検出したら、Pingに応えないようにiptables
でフィルタをかける」いった応用も出来そうです。あ、DHCPだとIPアドレスが変わってしまう(&スイッチはそれに気づかずPingを空振りしてFailureとしてみなす)ので、あらかじめStaticなIPアドレス構成に変更しておきましょう。
また、Auto Recoveryによって電源供給が停止されるときRaspberry Pi側でそれを予期することはできないため、OverlayFS構成など電源断に備えたシステム構成が求められます。この辺りは最近公開された以下の記事が詳しいです。せっかくAuto Recoveryで復旧しようとしたのにRaspberry Piのトラブルで起動に失敗してしまうという事態は避けたいところですよね。
![](https://res.cloudinary.com/dlhzyuewr/image/upload/s--MbcwPiAy--/g_south_west%2Ch_90%2Cl_fetch:aHR0cHM6Ly9saDMuZ29vZ2xldXNlcmNvbnRlbnQuY29tL2EtL0FPaDE0R2doQmk2TXVMbXA5MF9vVHFrT1RDTmdFRUdIazlNS0wzNzNpTjNjcFE9czgwLWM=%2Cr_max%2Cw_90%2Cx_87%2Cy_72/co_rgb:222%2Cg_south_west%2Cl_text:notosansjp-medium.otf_37_bold:su%2Cx_203%2Cy_98/c_fit%2Cco_rgb:222%2Cg_north_west%2Cl_text:notosansjp-medium.otf_70_bold:Raspberry%20Pi%E3%81%AF%E6%9C%AC%E5%BD%93%E3%81%AB%E5%A3%8A%E3%82%8C%E3%82%84%E3%81%99%E3%81%84%E3%81%AE%E3%81%8B%2Cw_1010%2Cx_90%2Cy_100/v1609308637/og/new_txlqub.png)
![](https://qiita-user-contents.imgix.net/https%3A%2F%2Fcdn.qiita.com%2Fassets%2Fpublic%2Farticle-ogp-background-1150d8b18a7c15795b701a55ae908f94.png?ixlib=rb-1.2.2&w=1200&mark=https%3A%2F%2Fqiita-user-contents.imgix.net%2F~text%3Fixlib%3Drb-1.2.2%26w%3D840%26h%3D380%26txt%3DRaspberry%2520Pi%2520OS%25E3%2581%25AErootfs%2520ROM%2520%25E5%258C%2596%2520%25E2%2580%2595%2520RAM%25E3%2583%2587%25E3%2582%25A3%25E3%2582%25B9%25E3%2582%25AF%25E5%258C%2596%25E3%2581%2597%25E3%2581%25A4%25E3%2581%25A4%25E3%2580%2581%25E5%25A5%25BD%25E3%2581%258D%25E3%2581%25AA%25E3%2583%2591%25E3%2583%2583%25E3%2582%25B1%25E3%2583%25BC%25E3%2582%25B8%25E3%2582%2592%25E5%25BE%258C%25E3%2581%258B%25E3%2582%2589%25E8%25BF%25BD%25E5%258A%25A0%25E3%2581%2599%25E3%2582%258B%25E6%2596%25B9%25E6%25B3%2595%26txt-color%3D%2523333%26txt-font%3DHiragino%2520Sans%2520W6%26txt-size%3D54%26txt-clip%3Dellipsis%26txt-align%3Dcenter%252Cmiddle%26s%3D089434f97930de984311733ddfb22278&mark-align=center%2Cmiddle&blend=https%3A%2F%2Fqiita-user-contents.imgix.net%2F~text%3Fixlib%3Drb-1.2.2%26w%3D840%26h%3D500%26txt%3D%2540ma2shita%26txt-color%3D%2523333%26txt-font%3DHiragino%2520Sans%2520W6%26txt-size%3D45%26txt-align%3Dright%252Cbottom%26s%3D4836f085ffc6bcf321298c598aa10d1e&blend-align=center%2Cmiddle&blend-mode=normal&s=026552693d314db63c3d9cdcdf788f91)
まとめ
TP-Link TL-SG105PEのPoE Auto Recovery機能とPoE HATでRaspberry Piを簡易監視する構成をご紹介しました。現場に置く機器の監視方法の一つとして参考になれば幸いです。