Cactiシステム管理

Cactiによる温度監視(Ip Sensor 9216)

Cactiによる温度監視方法について以下にまとめました。


サーバラックに設置した Ip Sensor 9216S から温度を表すMIBを収集し、Cactiでグラフを生成するまでの方法について説明します。
Ip Sensor 9216 の仕様については、別途メーカのホームページ、または製品のマニュアルを参照下さい。

1. 前提条件

前提として、Ip Sensor 9216が既に動作し、単体で温度測定が行われているものとします。
Ip Sensor 9216のIPは「192.168.205.50」としています。テープレート等の名称は適宜変更して下さい。

 


2. OIDについて

Ip Sensor 9216では、機器内部の温度を表すチャンネルが1つと外部の温度を表すチャンネルが2つの
計3チャンネルが存在します。それぞれのOIDは以下の通りです。

チャンネル

OID

内部(T1)

.1.3.6.1.4.1.92.16.3.1.0

外部(T2)

.1.3.6.1.4.1.92.16.3.2.0

外部(T3)

.1.3.6.1.4.1.92.16.3.3.0

 


3. データ収集スクリプトの作成と配置

ここでは、データの収集はスクリプトが行うものとします。
以下のスクリプトは、第一引数に対象となるIp Sensor 9216のIP、第二引数にIp Sensor 9216のコミュニティ名を必要とします。

[root@cacti-test ~]# vi get_temperate_ip9216.pl
#!/usr/bin/perl

# hostname or ip
$host =~ s/tcp:/$1/gis;

# snmp community
$community = $ARGV[1];

# Temperature 1
$temp1 = `snmpget -v1 -c $community $host .1.3.6.1.4.1.92.16.3.1.0 | awk '\{print \$4\}'`;
chomp $temp1;

# Temperature 2
$temp2 = `snmpget -v1 -c $community $host .1.3.6.1.4.1.92.16.3.2.0 | awk '\{print \$4\}'`;
chomp $temp2;

# Temperature 3
$temp3 = `snmpget -v1 -c $community $host .1.3.6.1.4.1.92.16.3.3.0 | awk '\{print \$4\}'`;
chomp $temp3;

$tempall = "temp1:$temp1 temp2:$temp2 temp3:$temp3";
chomp $tempall;

print $tempall;
上記で作成したスクリプトを単体で起動し、取得した値が表示される事を確認して下さい。
尚、スクリプトから取得した値を表示する際に、Cactiでは改行を削除した状態で出力させる必要があります。
[root@cacti-test ~]# perl get_temperate_ip9216.pl 192.168.205.50 public
temp1:35 temp2:31 temp3:27[root@cacti-test ~]#
作成したスクリプトを/var/www/cacti/scriptsへ配置します。
[root@cacti-test ~]# mv get_temperate_ip9216.pl /var/www/cacti/scripts/

 


4. Data Input Methodsの新規追加

上記で作成したスクリプトを利用する為に、Cactiの画面からData Input Methodsを追加します。
パラメータは以下の通りです。名称などは適宜変更下さい。
DataInputMethods_1

[Input String]の括弧で括られた ipaddress と community は、スクリプトに渡す引数を表します。
上記設定を行い「create」を押下すると、新たに [Input Fields] と [Output Fields] が表示されるようになります。
[Input Fields]はスクリプト実行時に渡す引数を定義し、[Output Fields]はスクリプトを実行した返り値を定義します。
ここでは、スクリプト実行時に渡す2つ引数を[Input Fields]として設定し、返り値の機器内部の温度(内部1、外部2、計3)を
[Output Fields]に設定します。

各フィールドの[Add]リンクを押下し、それぞれ以下の様に設定して下さい。


[Input Fields]
DataInputMethods_2
DataInputMethods_3


[Output Fields]
DataInputMethods_4
DataInputMethods_5
DataInputMethods_6

 


5. Data Templates の作成

新しいData Templatesを作成します。ここでは上記で作成したData Input MethodsをData Sourceに利用します。
パラメータは以下の通りです。名称などは適宜変更下さい。

[Data Templates] [Data Source]
DataTemplates_1
[Data Input Method]に先ほど作成した「Ip Sensor 9216 - Snmp Host」を選択します。

[Data Source Item]
[Data Source Item]には、収集値用にそれぞれ3つ(内部1、外部2)作成します。
DataTemplates_2
DataTemplates_3
DataTemplates_4

 


6. Graph Templates の作成

新しいGraph Templatesを作成します。ここでは上記で作成したData Input Methodsを[Graph Template Items]のData Sourceに利用します。
パラメータは以下の通りです。名称などは適宜変更下さい。
GraphTemplates_1

上記の状態で一旦「create」を押下すると、新たに[Graph Template Items]、[Graph Item Inputs]が表示されるようになります。
[Graph Template Items]を以下の通り設定して下さい。
[Graph Item Inputs]は自動で生成されたものを利用しますので、ここでは特に設定しません。
GraphTemplatesItems_1
GraphTemplatesItems_2
GraphTemplatesItems_3
GraphTemplatesItems_4
GraphTemplatesItems_5
GraphTemplatesItems_6
GraphTemplatesItems_7
GraphTemplatesItems_8
GraphTemplatesItems_9
GraphTemplatesItems_10
GraphTemplatesItems_11
GraphTemplatesItems_12

 


7. Host Templates の作成

[Host Templates]は、新規作成時[Name]フィールドしかありません。[Name]フィールドに適宜[Host Templates]を表す名称を入力し「Create」を押下します。
押下後、新たに[Associated Graph Templates]が表示されるので、上記で選択したGraph Templatesを選択し「Add」で追加して下さい。
HostTemplates

 


8. Deviceの作成

今回監視対象となるIp Sensor 9216をDeviceとして登録します。
パラメータは以下の通りです。名称などは適宜変更下さい。
Device上記の状態で「create」を押下すると、上部に「Create Graphs for this Host」というリンクが表示されるので、こちらを押下して
リンク先に画面遷移します。

 


9. グラフ作成

Create Graphs for this Host」の画面遷移先でIp Sensor 9216 - Snmp Hostのチェックボックスにチェックを入れ、「Create」を押下します。
グラフ作成までの手順は以上になります。
正常に設定が行われていると、10分程度経過後にグラフの作成を確認する事が出来ます。
graph

Cactiによる温度監視方法は以上です。