Cactiで外部Scriptを使ってグラフを作る

①PHPやPerlやシェルスクリプトを使って値を出力するスクリプトを作成する。

・出力に改行は含まない。
・複数の値を出力する場合は値に名前を付けて値ごとにスペースで区切る。
(name1:value1 name2:value2)

②DataInputMethodsを定義してスクリプトを利用できるようにする。

メニューからDataInputMethods→Add
nameDataInputMethodの名前。わかりやすければ何でもおk
Input Type Script/Commandにする
Input String スクリプトへのパスを書く。
PHPならphp、Perlならperl、シェルスクリプトならshで書き始める。
Cactiのインストールパスは<path_cacti>で補完できる。
スクリプトへの引数は引数名を不等号で囲ってやる。

例:(sh <path_cacti>/scripts/getIOofRT58i.sh <rt58iaddr>)



Createを押してから、与える引数と出力される値を設定する。
InputFieldsとOutputFieldsの右側のAddから追加する。





OutputFieldsのNameはスクリプトが出力する値の名前と合わせる。
値が一つしか無く、名前が無い場合は適当でおk。



InputFieldsのNameはスクリプトへのパスを設定した際に付けた引数の中から選択する。
FriendlyNameはnameに対する補足。わかりやすければ何でもおk。

③作成したDataInputMethodsを使ってDataTemplateを作成する。



DataTemplateのNameはDataTemplate自体の名前。
DataSourceのNameは実際にDataSourceを作成したときに使われる名前。|host_description|等のタグ?を使ってわかりやすい名前になるように設定するか、Use Per-Data Source Value (Ignore this Value)にチェックを入れて、名前はDataSource作成時に指定できるようにする。
DataInputMethodは先ほど作成した物を指定。
DataSourceItemにスクリプトが返す値を作成するが、この段階では複数個のDataSourceItemを作成できないのでとりあえずNameを適当に設定してCreate。

スクリプトが返す値の個数分だけDataSourceItemの右側のAddから追加する。
DataSourceName 適当
DataSourceType スクリプトが返す値の種別を設定する。

GAUGE
温度やユーザ数など絶対値を必要とする際に利用

COUNTER
トラフィック数のように連続的に増加する値で利用
値は毎秒あたりの値に変換される。
値は最大値を超える場合以外、減らないことが前提条件

DERIVE
COUNTER と同じだが、値が減る可能性のある値で利用
値は毎秒あたりの値に変換される。
COUNTER と異なり、最大値のチェックは行われない。

ABSOLUTE
COUNTER と同じ、連続的に増加する値を扱うが
データ取得のたびに、カウンターは0にリセットされる
値は毎秒あたりの値に変換される。

http://www.servermemo.com/log/eid16.html

スクリプトが引数を取る場合はCustomDataを入力する。
Use Per-Data Source Value (Ignore this Value)にチェックを入れればDataSource作成時に値を指定できる。

④作成したDataTemplateを使ってGraphTemplateを作成する。



Nameにはテンプレート自体の名前。
Titleはテンプレートからグラフを作成したときに付けられる名前。|host_description|等を付けて分かりやすく。
Vertical Labelはグラフの左側に表示される縦向きラベル。
各項目を指定してCreateを押す。



Createを押すと、GraphTemplateItemsとGraphItemInputsが出てくる。
グラフの表示項目を設定するためにGraphTemplateItemsの右側のAddから追加する。



DataSourceは表示するグラフの項目に使うDataSourceを指定する。
Colorはグラフの色。
Opacity//Alpha Channelはグラフの透明度。
GraphItemTypeはグラフの項目の表示タイプ。
・LINE1-3 線グラフ。1-3で線の太さが違う。
・AREA 線グラフを塗りつぶしたもの。
・GPRINT グラフの下に値を表示する。
TextFormatには項目名を入れる。これはグラフの下に表示される。
InsertHardReturnはチェックを入れるとグラフの下の表示領域に改行が入る。
適宜改行を入れないとグラフの各項目がずらずらと横並びで並んでしまう。

⑤作成したDataTemplateを使ってDataSourceを作成する。

メニューからDataSources→Add
DataTemplateとHostを選んでCreate
CustomData等、入力する必要がある項目があれば表示されるので入力してSave

⑥作成したDataSourceを使ってGraphTemplateからグラフを作成する。

メニューからGraph Management→Add
GraphTemplateとHostを選んでCreate
GraphItemFieldsにDataSourceを指定してSave

コメントを残す