スッキリスリムな体づくり、無理なくダイエットに成功したsakachan!です。
MRTGとは”Multi Router Traffic Grapher”の略でSNMP Agentから取得したMIBを利用してトラフィックや、CPU、メモリ、ディスクの使用率などをグラフ化できるツールです。
MRTGはプライベートでも使用しているのですが、今回は普通に実行するのではなく、複数のnodeを一つのconfigで管理できるよう、便利な機能として、外部ファイルをIncludeする方法を試してみようと思います。
最初はうまく動かなかったので、まずは失敗例を書きます。
mrtgコマンドで読み込む”test.cfg”のinclude部分は以下の通りです。
---省略---
WorkDir: /home/sites/hogehoge.com/web
Include: /home/.users/333/admin/mrtg/test.inc
Include: /home/.users/333/admin/mrtg/test2.inc
---省略---
includeさせるファイルの内容は以下の通りです。
全て記載すると長いので最初の部分だけ。
test.inc
---省略---
IconDir: /mrtg_icon
Language: eucjp
Directory[cpu]: cpu
WorkDir: /home/sites/hogehoge.com/web/test/
Title[cpu]: CPU Load Average
---省略---
test2.inc
---省略---
IconDir: /mrtg_icon
Language: eucjp
Directory[cpu2]: cpu
WorkDir: /home/sites/hogehoge.com/web/test2/
Title[cpu2]: CPU Load Average
---省略---
mrtgの実行結果、あっさり成功したようにみえました。
特にエラーは出ませんでした。
しかし、出来上がったグラフを見てみると、test2.incのグラフは更新されているが、test.incのグラフが更新されてない。
エラーメッセージも出力されなかったので、いろいろ調べましたが、
どうやら、WorkDirの指定は一つしかできないみたい。
今回はtest.cfgとtest.incとtest2.incにそれぞれ異なるWorkDirを指定したのがいけなかったみたいです。
なので”WorkDir”を統一して作業ディレクトリはWorkDir配下のPathをDirectoryに記述します。
ここから成功例を書きます。
WorkDirをtest.cfgから削除して
---省略---
Include: /home/.users/333/admin/mrtg/test.inc
Include: /home/.users/333/admin/mrtg/test2.inc
---省略---
test.incとtest2.incのDirectoryも出力先に合わせて以下のように修正。
test.inc
---省略---
IconDir: /mrtg_icon
Language: eucjp
Directory[cpu]: test/cpu
WorkDir: /home/sites/hogehoge.com/web/
Title[cpu]: CPU Load Average
---省略---
test2.inc
---省略---
IconDir: /mrtg_icon
Language: eucjp
Directory[cpu2]: test2/cpu
WorkDir: /home/sites/hogehoge.com/web/
Title[cpu2]: CPU Load Average
---省略---
この状態でmrtgを実行した結果、二つのグラフの更新に成功しました。
ただし、この状態で新規でグラフを作成したい場合は、各ファイルでWorkDirを共通に指定しているため正常に出力されません。
indexmakerで以下のようにprefixを使用する必要があります。
indexmaker test.inc --prefix ../ --output=/home/sites/hogehoge.com/web/index.html
WorkDirを起点とした相対pathでDirの指定をします。
これで、グラフが正常に表示されれば成功です。