前回に引き続き、mrtg.cfgの作成方法について解説します。
cfgmakerを活用する
コンフィギュレーションファイル(mrtg.cfg)を作成する場合にはcfgmakerを使うという説明を前回しました。このときは、WorkDirの指定がないため、mrtg.cfgを手で修正しています。しかし、できれば手での修正は避けたいものです。
実は、cfgmakerには引数を使ってWorkDirなどのグローバルキーワードを指定することができます。またテンプレート機能があり、これを使うと監視対象機器ごとのキーワードの指定なども効率良く行うことができます。
今回はcfgmakerを使って、手修正のいらないmrtg.cfgを作る方法をご紹介します。
cfgmakerを使い、手修正のいらないmrtg.cfgを作る
WorkDirなどのグローバルキーワードは、引数に--globalを与えることで指定できます。なお、cfgmakerを使ったmrtg.cfgの作成は試行錯誤を繰り返しますから、シェルスクリプトにして使うことにします。(vi cfg_mrtg.sh)
このスクリプトでは、--globalの他に、--outputの指定があります。--outputは出力するファイルを明示する場合に使います。--outputの指定がない場合には、標準出力に出力されます。
このスクリプトに実行権限を付けたあと、実行します。
テンプレートを使う
mrtg.cfgにLanguage: eucjp を指定することで、"日グラフ(5分間 平均)"のように日本語が表示されるようになりますが、SystemやMaintainerなどは英語のままです。
これらも日本語にするためには、テンプレートを使うことで解決できます。またテンプレートを使うと、MRTGが出力する項目を細かく指定することができます。
今、cfg_mrtg.tempというファイル名で、テンプレートを作るとします。cfg_mrtg.tempは、以下のようになります。なお、筆者は直接日本語を入力するために、viの代わりにvimを使っています。
次にテンプレートを使うことをスクリプトに明記します。
このスクリプトを実行すると、次のファイル(mrtg.cfg)が作成されます。
このmrtg.cfgを使って出力されるHTMLは次のようになります。"システム名"、"場所"など、日本語が表示されていることがわかります。
次回は
監視対象機器が複数になった場合の効率的なmrtg.cfgの作り方を示します。今回使ったテンプレートをベースに説明する予定です。