うちではSynologyの2ベイNAS、DS223jを使っています。このNASはLinuxサーバのバックアップなどもしている大事なものなので、止まってもらっては困ります。
先日も、気が付くとコンセントが抜かれていて(子供のしわざ)止まっていました。ほかにも瞬停で止まることもあるので、mackerelで監視したい。それにはNASでmackerel-agentを動かす必要があります。
この作業にはsshでNASにログインすることが必須になります。その方法はこちらをご参照ください。
このNASはARMのLinuxで動いているらしいので、それ用のバイナリを入れることになります。
まず、以下のURLから最新版のバイナリのURLを確認します。
Releases · mackerelio/mackerel-agent (github.com)
この中の、「mackerel-agent_linux_arm.tar.gz」をダウンロードします。執筆時の最新版はv0.77.1でした。バージョンは適宜読み替えてください。
curl -LO https://github.com/mackerelio/mackerel-agent/releases/download/v0.77.1/mackerel-agent_linux_arm.tar.gz
とやってダウンロード。ダウンロードしたら展開します。
tar xvzf mackerel-agent_linux_arm.tar.gz
展開してできたディレクトリに移動して、設定ファイルの中のAPIキーを設定します。
cd mackerel-agent_linux_arm
vi mackerel-agent.conf
apikey = "あなたのAPIキーをここに入れます"
ひとまずこれで動作するはず。mackerel-agentを起動します。
sudo ./mackerel-agent --conf ./mackerel-agent.conf
これでNASをmackerelの監視対象に追加できます。
次に、NASの起動時にmackerel-agentを自動実行するための設定ですが、以下のような内容のシェルスクリプトを書きます。
cd /var/services/homes/USERNAME/mackerel-agent_linux_arm
sudo ./mackerel-agent --conf ./mackerel-agent.conf &
次にこのシェルスクリプトを、起動時に実行するタスクとして登録すれば良いです。
本当はエージェントが起動してるかどうか確認して、落ちてたら起動するようなタスクを仕込みたいけど、簡易的にはこれでOKでしょう。