無線LANルータ(ASUS RT-AC68U)をmackerel-agentで監視
この記事はMackerel Advent Calendar 2016 14日目の記事です。
今回は、私が自宅で使用している無線LANルータ(ASUS RT-AC68U)をmackerel-agentを利用しMackerelに監視させてみます。
ASUSTek 11a/b/g/n/ac対応 1300+600Mbps無線ルーター Aiprotection powered by Trendmicro RT-AC68U
- 出版社/メーカー: Asustek
- 発売日: 2013/11/16
- メディア: Personal Computers
- この商品を含むブログを見る
Asuswrt-Merlinにファームウェアを書き換え
標準のファームウェアではmackerel-agentを導入できない為、Asuswrt-Merinにファームウェアを書き換えます。
通常のファームウェアと同様に対象機器のファームウェアをダウンロードして更新するだけなので簡単です。
JFFSを有効化
この状態でmackerel-agentが使用可能になるのですが、再起動の度にmackerel-agentごと消えてしまうので、ユーザが書き換え可能なJFFS領域を確保します。
・ルータの設定画面 -> 管理よりJFFS partitionを有効化
また、以降の作業はルータへsshでログインし作業を行うのでsshを有効化しておきましょう。
mackerel-agentの導入
RT-AC68Uはarmなので、arm用のmackere-agentをダウンロードします。
また、mackerel-agentを動かすためにAPI keyが必要になりますので、事前に作成しておきます。
mackerel-agentを起動
ルータ再起動時に自動起動すること及び実行時にx509のルート証明書エラーが出ないよう以下のシェルスクリプトを作成し、mackerel-agentが正常に動くようにします。
※証明書「ca-certificates.crt」はルータ内に見つけられなかった為、ubuntuサーバ等よりコピーしています。
/jffs/scripts/ 以下に作成し、再起動時に自動でスクリプトが動くようにします。
# 以下コマンドでバックグラウンドでmackerel-agentを起動
/jffs/scripts/mackerel-agent.sh &
mackereでグラフ確認
正しく動いていると、mackerelにグラフが作成され監視されていることが確認できます!
また、confファイルに以下を設定するとCPU、2.4GHz、5GHzWLANの温度も取得できるようになります。
Mackerelで見ると↓のような感じで出力されます。
ASUSのAsuswrt-merlinが導入可能なルーターであれば監視できると思いますので、気になる方は是非導入してみてください!