前回prometheus+grafanaを導入してNASのモニタリングも開始してみた、の続きで
雑に起動していたQNAP NAS上のnode_exporterをNAS再起動時に自動起動するようにする小ネタ。
やること
これだけでOK。
環境はQNAP TS-220(QTS 4.3.3.0299)
以下順に
雑いinitスクリプト書く
/etc/init.d
以下のスクリプトを眺めつつ、こちら
QNAP TS-469Lをmackerelを使ってモニタリングする | misty-magic.h
でmackerel-agentをQNAP上で起動されてる事例を参考に、というか割と流用させて頂きつつとりあえずstop、startだけ出来るスクリプトを用意。
他のスクリプトでも使われている/sbin/daemon_mgr
でpid管理などをよしなにやってくれる模様。ちょっと楽。
/etc/config/qpkg.conf
に設定を追加して自動起動する
作成した起動スクリプトに実行権限をつけ、起動、停止確認ができたらqpkg.confに設定を追記する。 こんな感じで
[node_exporter] Name = node_exporter Version = 0.16.0 Author = prometheus Date = 2018-05-15 Shell = /usr/local/node_exporter/etc/init.d/node_exporter.sh Install_Path = /usr/local/node_exporter QPKG_File = /usr/local/node_exporter/DUMMY Enable = TRUE
QPKG_FileはダミーでOK。
Authorとかいろいろ適当だが、meもなにか違うしまあオレオレということで・・。
なお、パス配置は起動スクリプトを素直に/etc/init.d/node_exporter.sh
に置くとNASの再起動で消えて悲しいことになるので、ひとまず/usr/local/node_exporter以下に諸々配置する構成にしている。
qpkg.confに書いた時点でAppCenter上で見えるようになり、サービスの起動、停止が出来るようになる。
この状態でNASを再起動すると、アプリケーション起動処理の中でnode_exporterも自動で起動されるようになる。
ブラウザで9100を確認、ちゃんと起動している。
これで停電があっていつのまにか再起動してたわー的なことがあっても勝手に起動してくれるはず。
2018-08-19追記
再起動では消えないもののQTSのアップデートで/usr/local以下に配置したnode_exporter一式は消えてしまったので、普通にマウントしたディスク領域の共有フォルダ以下に置いた方がよさそう。
/share/MD0_DATA/
以下に置いてひとまず様子見。