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 件のコメント:

コメントを投稿

Amazfit GTS2eの画面焼き付き問題(本体交換で解消した例)

2021年3月のセール(?)で Amazfit GTS2e を購入しました。 今まで使っていたSkagen Falster2に比べてレスポンスがとても速く、その上SPo2も測定できるということで喜んで使っていました。 しかし、使用してから5日で画面表示に違和感があり、よくよく見て...