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を追加します。
パラメータは以下の通りです。名称などは適宜変更下さい。
[Input String]の括弧で括られた ipaddress と community は、スクリプトに渡す引数を表します。
上記設定を行い「create」を押下すると、新たに [Input Fields] と [Output Fields] が表示されるようになります。
[Input Fields]はスクリプト実行時に渡す引数を定義し、[Output Fields]はスクリプトを実行した返り値を定義します。
ここでは、スクリプト実行時に渡す2つ引数を[Input Fields]として設定し、返り値の機器内部の温度(内部1、外部2、計3)を
[Output Fields]に設定します。
各フィールドの[Add]リンクを押下し、それぞれ以下の様に設定して下さい。
5. Data Templates の作成
新しいData Templatesを作成します。ここでは上記で作成したData Input MethodsをData Sourceに利用します。
パラメータは以下の通りです。名称などは適宜変更下さい。
[Data Templates] [Data Source]
[Data Input Method]に先ほど作成した「Ip Sensor 9216 – Snmp Host」を選択します。
[Data Source Item]
[Data Source Item]には、収集値用にそれぞれ3つ(内部1、外部2)作成します。
6. Graph Templates の作成
新しいGraph Templatesを作成します。ここでは上記で作成したData Input Methodsを[Graph Template Items]のData Sourceに利用します。
パラメータは以下の通りです。名称などは適宜変更下さい。
上記の状態で一旦「create」を押下すると、新たに[Graph Template Items]、[Graph Item Inputs]が表示されるようになります。
[Graph Template Items]を以下の通り設定して下さい。
[Graph Item Inputs]は自動で生成されたものを利用しますので、ここでは特に設定しません。
7. Host Templates の作成
[Host Templates]は、新規作成時[Name]フィールドしかありません。[Name]フィールドに適宜[Host Templates]を表す名称を入力し「Create」を押下します。
押下後、新たに[Associated Graph Templates]が表示されるので、上記で選択したGraph Templatesを選択し「Add」で追加して下さい。
8. Deviceの作成
今回監視対象となるIp Sensor 9216をDeviceとして登録します。
パラメータは以下の通りです。名称などは適宜変更下さい。
上記の状態で「create」を押下すると、上部に「Create Graphs for this Host」というリンクが表示されるので、こちらを押下して
リンク先に画面遷移します。
9. グラフ作成
「Create Graphs for this Host」の画面遷移先で「Ip Sensor 9216 – Snmp Host」のチェックボックスにチェックを入れ、「Create」を押下します。
グラフ作成までの手順は以上になります。
正常に設定が行われていると、10分程度経過後にグラフの作成を確認する事が出来ます。
Cactiによる温度監視方法は以上です。