2019年04月19日18:25 by:八橋

Drobo 5N に mackerel-agent をインストールしてディスクの様子を監視する

Drobo 5N のディスクの様子を Mackerel で監視できるようにしていきます。
この記事はそのまま Drobo 5N2 に適用できるはずです。

※ 導入は自己責任でお願いします ※


Mackerel とは

Mackerel とは、株式会社はてなが開発したエンジニアをワクワクさせる直感的サーバー監視サービス。


Drobo 5N とは

Drobo, Inc. が製造しプリンストン販売する高機能ストレージのうちの1機種でNAS。
ASCII.jp:超マニアック! NASの中身をハックしよう−Drobo 5Nのソフトとハードを知ろうによれば CPU が ARM ベースの Linux マシンのようです。


SSH できるようにする

Drobo Dashboard から Drobo Apps を有効にして Dropbear をインストールするだけです。
セキュリティ設定はいい感じにやっておきましょう。


mackerel-agent のインストール

Drobo 5N には yumapt-getcurl も入っていません。
Windows マシンで mackerel-agent_linux_arm.tar.gz を GitHub からダウンロードして、 7-Zip などで .tar.gz を解凍したものを Drobo 5N の DroboApps 共有フォルダに配置する方法が手っ取り早くていいと思います。
このとき Windows からテキストエディタで mackerel-agent.conf に apikey を書き込んでしまうのも楽でいいです。(念のため改行コードには気をつけましょう)
とりあえず実行するだけなら共有フォルダで実行してしまえば良いと思います。
sudo /mnt/DroboFS/Shares/DroboApps/mackerel-agent/mackerel-agent --conf=/mnt/DroboFS/Shares/DroboApps/mackerel-agent/mackerel-agent.conf
で起動できるか試してみましょう。


nohup で起動する

SSH が切れたら mackerel-agent も停止してしまうのでは監視にならないのでサービス化してみます。
なんと Drobo 5N には標準で nohup コマンドが入っています。
sudo nohup /mnt/DroboFS/Shares/DroboApps/mackerel-agent/mackerel-agent --conf=/mnt/DroboFS/Shares/DroboApps/mackerel-agent/mackerel-agent.conf &
すれば完了です。
ただし再起動の際には手動で SSH してコマンドを叩かないと mackerel-agent は起動してくれません。


サービスの起動を Drobo 5N に委ねる

※ 導入は自己責任でお願いします ※
DroboApps 共有フォルダ直下にある .servicerc ファイルをテキストエディタで開き、 mackerel-agent_enable="YES" と記述した行を追記します。
DroboApps 共有フォルダ内の mackerel-agent フォルダの中にに service.sh を作り、
#!/bin/sh
#
# mackerel-agent

. /etc/service.subr

name="mackerel-agent"
description="mackerel-agent"
user=root

cp -rfp /mnt/DroboFS/Shares/DroboApps/mackerel-agent /etc/mackerel-agent
/etc/mackerel-agent/mackerel-agent --conf=/etc/mackerel-agent/mackerel-agent.conf
と記述しておきます。
これで再起動した後に mackerel-agent が自動で起動してくれるはずです。
わざわざ /etccp せずに DroboApps 共有フォルダ内で実行していてもいいと思います。


様子

Drobo5N-loadavg.png
Drobo5N-cpu.png
Drobo5N-memory.png
Drobo5N-disk.png
Drobo5N-interface.png
Drobo5N-filesystem.png


終わりに

Drobo 5N には CPU ・メモリ・ネットワークの負荷状況を確認する手段がありませんが、 Mackerel を使うことで CPU ・メモリ・ネットワークの負荷状況をある程度遡って参照することができるのではないでしょうか。


謝辞

Synology DiskStation DS215j に mackerel-agent をインストールしてディスクの様子を監視する
こちらの記事へのリスペクトから書かせていただきました。