2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

自宅PCサーバ ハングアップ時の再起動自動化

Last updated at Posted at 2021-06-13

#はじめに
自宅PCサーバが原因もわからず、ハングアップして困ったことはないでしょうか?
いざ、自宅PCサーバを利用したい時に利用できないのは困りますよね。
そこで、手間をかけずにハングアップした際に再起動する方法を考えました。

#解決方法
PCがハングアップしたことをMackerelで検知させて、RaspberryPiでPCをリセットすることで、自動再起動を実現します。
よく似た解決策として、リモート電源タップなどを利用する方法もあるかもしれませんが、この解決策のポイントはハングアップした際に自動で再起動されることです。
また、この方法はノンプログラミングで実現可能です。
スクリーンショット 2021-06-13 10.34.48.png

#前提条件
この仕組みを利用するためには、以下の機器が必要になります。

  • PCサーバのハードウエアとしてリセットの端子が存在すること
    例)
    リセット端子画像

  • Mackerelエージェント対応のOSであること
    https://mackerel.io/ja/docs/entry/howto/install-agent

  • RaspberryPi
    リレーを動かすために必要です。
    OSとnode-redをあらかじめセットアップしておいてください。

  • リレー
    リセット端子をショートさせるために必要です。
    必ず高レベルトリガーのものを準備してください。
    ※値段が安かったので、低レベルトリガーのものを購入してみたのですがどうしても電源オン時に必ずリレーが動作してしまい、強制リセットになるため、注意して下さい。

#制限事項
今回の解決方法は起動中のサーバの再起動のみです。
電源のON/OFFはできません。

#設定手順

  • Mackerelエージェントのインストール
    Mackerelのサイトを参考にインストールしてください。
    https://mackerel.io/ja/docs/entry/howto/install-agent

  • Mackerel設定
    PCサーバとMackerelの接続が途絶えた場合に通知をメールに送るようにしてください。
    メール送信先は誤動作を防ぐために専用のアカウントを取得した方がいいと思います。

  • Node-redの設定
    node-redでメールをチェックさせて、PCサーバと通信できない旨のメールが届いたら、以下のスクリプトを実行し、GPIO端子3番をHIGHにして、5秒後にLOWにするようにしました。
    工夫した点としては、関係のないメールが届く場合もあるため、対象のメールであるかを「switch」でチェックして誤動作を防ぐようにしました。
    node-redの設定イメージ

  • RaspberryPiの配線
    メールを受信した時のみリセット端子が閉じられることを確認してください。
    配線のイメージ

#結果
元々、3、4ヶ月に一度の頻度でPCサーバがハングアップしていた状態なので、まだ、効果の程はわかりません。
 

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?