Googleスプレッドシートを利用したサーバーの生存確認を導入しました

先日、家のネットワーク機器が不調になりました。
ルーターなどの再起動で不調自体はすぐに解決できたのですが、不調の影響か家庭内サーバーとして運用していた Raspberry Pi 3Bが IP Unrechableになってしまっていました。
サーバー機は黒子のような存在でいつもアクセスしている訳ではなかったので、IP Unrechableになっていることに気が付くまで3日ほどかかってしまいました。

3日も IP Unrechableだったこと自体は大きなダメージではありませんが、やはりサーバー機としては24時間365日ずっと稼動していて欲しいものです。

ということで、「サーバーの生存確認」を導入することに決定!

と言っても、外部に公開しているサーバーではないので、次のような感じでサーバーから外部にデータを送るような形で生存確認を行えるようにしました。

  1. Cronで定期的に「生存アピール」のスクリプトを実行する
  2. 「生存アピール」のスクリプトでは、Pythonの pydriveと gspred というライブラリを利用して Googleスプレッドシートに「生存アピール」の日時を書き込む
  3. Google Apps Scriptを使って、定期的に「生存アピール」の日時を確認し、一定期間「生存アピール」が無ければ「サーバーダウン」というメールを送信する

とりあえず、生存アピールは10分に1回、生存チェックは1時間に1回 という感じにして、これからもサーバーの安定運用を目指したいと思います。

参考:
"PyDrive による Google Drive の利用 - Python 入門"
https://python.keicode.com/advanced/pydrive.php

"Python, PyDriveでGoogle Driveのダウンロード、アップロード、削除など | note.nkmk.me"
https://note.nkmk.me/python-pydrive-download-upload-delete/

"Welcome to PyDrive’s documentation! - PyDrive documentation"
https://pythonhosted.org/PyDrive/

"GitHub - burnash/gspread: Google Sheets Python API"
https://github.com/burnash/gspread

ブログ気持玉

クリックして気持ちを伝えよう!

ログインしてクリックすれば、自分のブログへのリンクが付きます。

→ログインへ

なるほど(納得、参考になった、ヘー)
驚いた
面白い
ナイス
ガッツ(がんばれ!)
かわいい

気持玉数 : 0

この記事へのコメント