RT-AC85Uでnode_exporterを動かしたい

やってみたいと思ったこと

自宅のルータをApple timecapsuleからASUSのRT-AC85に変えてみました。
ついでに余らせていたraspberry piを動かすようにして、RT-AC85を監視するようにしたいと考えました。
しかしながらRT-AC85に限らずASUSのルータはSNMPに対応していません(やり方はあるかもしれませんが)。
raspberry piでZabbixを動かすのも億劫なので、今回は
  • Prometheusでノード監視をする
  • node_exporterで出力させる
  • grafanaで表示させる
としたいと思います。

準備するもの・こと

多くの説明は省きますが、少なくとも以下が必要です。
  • Prometheusによる監視環境(自分の場合、raspbery pi上に作成)
  • mipsleバイナリのnode_exporter (  github )
    (事前にストレージ上に展開してください。下にあるスクリプトの場合
    「/tmp/mnt/sda2/data/node_exporter」に展開しています)
  • RT-AC85につけるUSB メモリ or USB HDD

作成したスクリプト

以下のスクリプトを/jffsフォルダ配下に保存しています(実行権限を付与しましょう)
start.sh
#!/bin/sh

PROGNAME=node_exporter
PROG=/tmp/mnt/sda2/data/node_exporter/$PROGNAME
# フォルダは接続した外付HDDによって異なるようです。
# 自分の環境だとsda1とsda2の2通りありました。

USER=root
LOCKFILE=/var/run/$PROGNAME.pid

sleep 5
$PROG --web.listen-address=:9200 \
--no-collector.nfs \
--no-collector.nfsd \
--no-collector.infiniband \
--no-collector.qdisc \
--no-collector.runit \
--no-collector.supervisord \
--no-collector.systemd \
--no-collector.bcache \
--no-collector.xfs \
--no-collector.zfs
# defaultの起動ポートは9100ですが、lpdと重複して確保できなかったので適当に

echo "$PROGNAME start"

scriptを読み込ませる

 # nvram set script_usbmount=/jffs/start.sh
 # nvram commit
このあと再起動させるなり外付けHDDを接続すれば、node_exporterが起動されるはずです。ただし、(今回の場合)ポートは9200となっているためPrometheus側で設定が必要です。

参考にしたサイト

0 件のコメント:

コメントを投稿

アナログな時計

アナログ時計が手元になくなってしまい(電池切れとか故障とか)、何かないかと探していたらAbout Vintageというブランドの時計を見つけました。 (試験とか受けるときに、スマートウォッチじゃ持ち込みNGじゃないですか。。) 探していたのが6月中旬で、たまたま限定モデル?の 1...