2022年4月25日

mackerelでASUSルータ RT-AX3000,RT-AC68Uを監視する

最近ちょくちょくルータが勝手に再起動してグローバルIPアドレスが変わり、IP制限したsshログインや、サイト閲覧等の不具合があるので、mackerelを利用してグローバルIPアドレスが変わったら通知するように設定してみました

ASUSルータは中身がarmv7(32bit)でLinuxが動いているためmackerelをインストールすることができます

# uname -a
Linux RT-AX3000-xxxx 4.1.52 #2 SMP PREEMPT Tue Apr 19 12:35:05 CST 2022 armv7l

事前に用意しておくと良いもの
mackerelで利用する apikey
ルータに登録するsshの公開鍵(public key)と秘密鍵(secret key)

管理画面より公開鍵を登録する
RT-AX3000 http://192.168.50.1/ 3core Mem:512MB
RT-AC68U http://192.168.1.1/ 2core Mem:256MB

sshログインする簡単なやり方

管理⇒システム⇒サービス
・SSHを有効にする LAN only
・SSHポート 22
・パスワードログインを許可 はい
・認証キー 空欄のまま

一番下にある「適用」をクリック

sshログインのセキュリティが高いやり方
ed25519の公開鍵を用意

管理⇒システム⇒サービス
・SSHを有効にする LAN only
・SSHポート 22
・パスワードログインを許可 いいえ
・認証キー 公開鍵をコピペして貼り付け

一番下にある「適用」をクリック

次にsshでルータにログインします

RT-AX3000 なら 192.168.50.1 port:22
RT-AC68U なら 192.168.1.1 port:22

接続ユーザは admin
パスワードは ルータに設定した password 、もしくは公開鍵のpasswordを入力

adminでログインすると /tmp/home/root に移動しています
# pwd
/tmp/home/root

ログインして df -h すると

# df -h
Filesystem Size Used Available Use% Mounted on
/dev/root 51.0M 51.0M 0 100% /
devtmpfs 250.0M 0 250.0M 0% /dev
tmpfs 250.1M 652.0K 249.5M 0% /var
tmpfs 250.1M 2.7M 247.4M 1% /tmp/mnt
ubi1:data 4.5M 84.0K 4.1M 2% /data
tmpfs 250.1M 2.7M 247.4M 1% /tmp/mnt
tmpfs 250.1M 2.7M 247.4M 1% /tmp
/dev/mtdblock9 47.0M 6.1M 40.9M 13% /jffs
/dev/sda1 3.8G 1.1M 3.8G 0% /tmp/mnt/sda1

# ls -l /
drwxrwxr-x 2 admin root 2047 Apr 19 13:43 bin
drwxrwxr-x 2 admin root 3 Apr 19 13:43 bootfs
drwxr-xr-x 2 admin root 3 Apr 19 13:42 cifs1
drwxr-xr-x 2 admin root 3 Apr 19 13:42 cifs2
drwxr-xr-x 2 admin root 600 Apr 23 12:04 data
lrwxrwxrwx 1 admin root 16 Apr 19 13:42 debug -> sys/kernel/debug
drwxr-xr-x 6 admin root 3700 Apr 23 15:40 dev
lrwxrwxrwx 1 admin root 7 Apr 19 13:42 etc -> tmp/etc
lrwxrwxrwx 1 admin root 8 Apr 19 13:42 home -> tmp/home
drwxr-xr-x 13 admin root 0 Apr 24 22:29 jffs
drwxrwxr-x 5 admin root 1621 Apr 19 13:43 lib
drwxr-xr-x 2 admin root 3 Apr 19 13:42 mmc
lrwxrwxrwx 1 admin root 7 Apr 19 13:38 mnt -> tmp/mnt
drwxr-xr-x 3 admin root 147 Apr 19 13:42 opt
dr-xr-xr-x 159 admin root 0 Jan 1 1970 proc
drwxr-xr-x 9 admin root 880 Apr 19 13:40 rom
lrwxrwxrwx 1 admin root 13 Apr 19 13:42 root -> tmp/home/root
drwxr-xr-x 2 admin root 3132 Apr 19 13:40 sbin
dr-xr-xr-x 12 admin root 0 Jan 1 1970 sys
drwxr-xr-x 2 admin root 3 Apr 19 13:42 sysroot
drwxrwxrwx 18 admin root 1720 Apr 24 22:30 tmp
drwxr-xr-x 12 admin root 195 Apr 19 13:42 usr
drwxrwxrwt 19 admin root 440 Apr 24 22:27 var
drwxrwxr-x 16 admin root 7935 Apr 19 13:42 www

etc は /tmp/etc
mnt は /tmp/mnt
home は /tmp/home
root は /tmp/home/root

/tmp 以下にあるファイルは、ファームウェアアップデートすると消えます
なので mackerel idを保存する場所を変更しないと、バージョンアップの度にNew hostとして登録されめんどくさいことに「/var/lib/mackerel-agent/id」

USBメモリを刺していると、/dev/sda1 で認識 データは /tmp/mnt/sda1 に
これは安定した保存場所に。またusb mountするときに実行するスクリプトを登録できます

mackerelのプログラムは消えない場所 /jffs/ 展開します

ディレクトリ /jffs/ に移動
cd /jffs/

mackerelプログラムをダウンロード
# wget https://github.com/mackerelio/mackerel-agent/releases/download/v0.37.1/mackerel-agent_linux_arm.tar.gz

ファイルを展開
# tar zxf mackerel-agent_linux_arm.tar.gz

ダウンロードしたファイル削除
# rm -r mackerel-agent_linux_arm.tar.gz

ディレクトリ名を変更
# mv mackerel-agent_linux_arm mackerel

起動スクリプトを作成 aを押しINSERTモードになったら
# vi mackerel.sh
下記をコピペ
#!/bin/sh
AGENT_DIR="/jffs/mackerel"
${AGENT_DIR}/mackerel-agent -conf "${AGENT_DIR}/mackerel-agent.conf"

コピペ後は :wq で保存して抜けます(write quit)

ファイルに実行権限をつけます
# chmod 755 mackerel.sh

次にmackerle/mackerel-agent.confを編集

# vi mackerel/mackerel-agent.conf
root = "/jffs/mackerel"
apikey = ''

root と apikey を設定したら :wq で抜けます

自宅のグローバルIPアドレス変更を監視する
この記事のスクリプトを流用します

自宅のグローバルIPアドレスの変更をMackerelで通知する
https://qiita.com/[email protected]/items/303cd3e3d030f4e89c59

# vi checkglobalip.sh
コピペして保存

ファイルに実行権限をつけます
# chmod 755 checkglobalip.sh

# vi mackerel/mackerel-agent.conf
コピペして保存

mackerelをバックグラウンドで起動
# /jffs/mackerel.sh &

再起動時のおまじない、USBメモリを刺していれば実行(刺さってない場合はsshログインして手動で起動)
# nvram set script_usbmount="/jffs/mackerel.sh &"
# nvram commit

以上で終わり。通知はmackerelでお好みの通知先に
フレッツ光のメンテナンスで通信できなくなった時に、通知が来るのも良き

mkr のarm版は 0.41以降あるようです
# wget https://github.com/mackerelio/mkr/releases/download/v0.41.0/mkr_linux_arm.tar.gz

RT-AX3000は WI-FI 6EかWI-FI 7出るまでは使う予定

これから買うならマイナーバージョンがあがったv2版

参考サイト
無線LANルータ(ASUS RT-AC68U)をmackerel-agentで監視
http://move0tofu.hatenablog.jp/entry/2016/mackerel_advent

ルータをRT-AC68Uに更新してDDNS更新させるようにした
http://kinomuku129.blogspot.com/2017/12/rt-ac68uddns.html

新世代のサーバー監視ツール「Mackerel」
https://www.idcf.jp/cloud/mackerel/

管理画面demo
https://demoui.asus.com/JP/

Asus-Merlin wiki
https://github.com/RMerl/asuswrt-merlin.ng/wiki

他には nasne を監視できたり

Mackerelでnasneを監視する 〜mackerel-plugin-nasne〜
https://papix.hatenablog.com/entry/2017/12/02/132132

nasneの録画件数をシェルスクリプトとmackerelで監視する
https://qiita.com/norio_jp/items/059118d82f231013a78d

nasneの残量やGoogle Analyticsの情報をMackerelに監視させよう
https://www.yasuhisay.info/entry/2016/12/06/000000

スポンサーリンク


関連する記事:1件


  • follow us in feedly