Help us understand the problem. What is going on with this article?

Raspberry piに電源管理/死活監視モジュール「slee-Pi」をつけてMackerelをインストールしたら、色々と捗る仕組みができた件

Mechatraxの電源管理/死活監視モジュールslee-Pi2を入手、これからの開発・調査をするために、先ずはMackerelをインストールしてみた。その後、ごちゃごちゃやっていたら、それなりに今後にも使えそうなものができたので、ここに記録しておく。

詳細な手順等はGitHubで公開中なので、技術的にはもう何も言うことはないのだけど、ここではなぜこのような仕組みになったかを記す。

Raspberry piへの設定作業なので、ansibleのplaybookで実装するのは、この頃の私のデフォルト。一度コード化しておけば、何回も行う作業ならば、作業ミスも防げ、手順等をレビューなどで改善・改良できる。さらには資産にもなるので、もう私の中ではやらない手はないぐらい。

Mackerelを常用していると、その死活監視はその仕組み上リアルタイム性が劣るのを感じていた。特に電源管理・死活監視を司るslee-Piの開発・評価においては致命的になるかと考え、死活監視に関しては独自に実装する必要性を感じたので、boot・shutdown処理において直接slackに投稿する仕組みを実装することに

そのために、systemdのstartstop.serviceとして実装し、boot時に立ち上がったことを、shutdown時にはその旨のメッセージをslackにpostするようにした。当然、slackにはip reachableである前提。

そうこうするうちに、これを使えば、他の事にも使えると考え、実装したのがSTARTUP.shとSHUTDOWN.shをslackを叩くと同様なタイミングで実行する仕組み。

例えば、boot時に

sleep 300&&(sleepi2alarm --set "+5min" && shutdown -h now)

とやれば、5分後に

sleepi2alarm --set "+5min" && shutdown -h now

と投入されることになる。これによって、5分毎に起動・停止を延々と繰り返すRaspberry piができ上がり。

sleepi2alarmについてはsleepi2alarmを参照

さらには、

echo "(sleepi2alarm --set \"tomorrow 9:00:00\"&&shutdown -h)"|at 17:00

とやれば、9-5時にしか稼働しないRaspberry piができ上がります。
同様なシナリオとしては
boot時に

echo "shutdown -h now"|at 17:00

shutdown時に

sleepi2alarm --set "tomorrow 9:00:00"

と実行することでも可能です。
気を付けることとしては、boot時に時刻指定のshutdownコマンドを発行しないこと。例えば、

shutdown "17:00"

と投入すると、shutdownは17時に行われるが、Unprivileged usersがsshでログインできなくなり、色々と面倒なことになる。

これらのSTARTUP.sh/SHUTDOWN.shのコレクションは今後の評価・開発のシナリオに応じて充足していく予定。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした