各センサーチップは、sysfs /sys/devicesツリー内に自身のディレクトリを取得します。すべてのセンサーチップを見つけるには、 /sys/class/hwmon/hwmon(*は実数(0、1、2、…))からデバイスのシンボリックリンクを辿る方が楽です。
センサー読み取り値の場所は、仮想デバイスの場合/sys/class/hwmon/hwmon*/ディレクトリ内、非仮想デバイスの場合/sys/class/hwmon/hwmon*/deviceディレクトリ内です。hwmon*またはhwmon*/device ディレクトリ内のファイルの呼び名はチップの名前を含んでいます。チップの名前は、センサーチップが使用するカーネルドライバの名前と一致します。
センサーの読み取り値は、ファイルごとに1つのみです。前述のディレクトリ内にセンサー読み取り値を含むファイルに共通のファイル名の命名スキームは<type><number>_<item>となっています。
ホスト上で使用できるセンサーに関する情報は、sensor-detect 、sensors両ツール(lm-センサーパッケージ:http://lm-sensors.org/)を使用すれば取得できます。Sensors-detectは、使用できるセンサーに必要なモジュールを見極めるのに役立ちます。モジュールが搭載されれば、sensorsプログラムを使用することで、すべてのセンサーチップの読み取り値を表示できます。sensorsプログラムで使用される、センサー読み取り値のラベリングは、一般の命名スキーム(<type><number>_<item>)と異なっても構いません。
ユーザーは、このラベリングを基に、どのような種類のハードウェアが使用されているかを見極めることができます。<type><number>_labelファイルが存在せず、設定ファイル内にラベルも存在しない場合、name属性(hwmon*/device/name)からハードウェアのタイプを見極めることができます。zabbix_agentが受け付けるセンサーの実際の名前は、-uパラメータを指定してsensorsプログラム(sensors -u)を実行することで取得できます。
sensorプログラムで使用できるセンサーは、バスのタイプ(ISAアダプタ、PCIアダプタ、SPIアダプタ、仮想デバイス、ACPIインターフェース、HIDアダプタ)によって分かれます。
(センサー読み取り値は、/proc/sys/dev/sensorsディレクトリから取得されます)
キーの例:sensor[w83781d-i2c-0-2d,temp1]
Zabbix 1.8.4以前では、sensor[temp1] の形式が使用されました。
(センサー読み取り値は、/sys/class/hwmonディレクトリから取得されます)
キーの例:
sensor[k8temp-pci-00c3,temp, max] または sensor[0000:00:18.3,temp1]
sensor[smsc47b397-isa-0880,in, avg] または sensor[smsc47b397.2176,in1]
センサーのラベルは、sensorsコマンドで表示されますが、必ずしも直接使用できるとは限りません。なぜなら、センサーチップのベンダーごとにラベルの命名方法が異なるためです。例えば、sensors出力は、次の行を含みます:
$ sensors in0: +2.24 V (min = +0.00 V, max = +3.32 V) Vcore: +1.15 V (min = +0.00 V, max = +2.99 V) +3.3V: +3.30 V (min = +2.97 V, max = +3.63 V) +12V: +13.00 V (min = +0.00 V, max = +15.94 V) M/B Temp: +30.0°C (low = -127.0°C, high = +127.0°C)
これらの中、ただ1つのラベルだけが直接使用できます:
$ zabbix_get -s 127.0.0.1 -k sensor[lm85-i2c-0-2e,in0] 2.240000
それ以外のラベル(Vcoreや+12Vなど)を使おうとしても機能しません。
$ zabbix_get -s 127.0.0.1 -k sensor[lm85-i2c-0-2e,Vcore] ZBX_NOTSUPPORTED
Zabbixがセンサー読み取り値を検索する際に使用できる実際のセンサー名を見つけ出すには、sensors -uを実行します。出力において、以下が確認できます:
$ sensors -u ... Vcore: in1_input: 1.15 in1_min: 0.00 in1_max: 2.99 in1_alarm: 0.00 ... +12V: in4_input: 13.00 in4_min: 0.00 in4_max: 15.94 in4_alarm: 0.00 ...
ここで、Vcoreはin1、+12Vは in4として問い合わせる必要があります。
$ zabbix_get -s 127.0.0.1 -k sensor[lm85-i2c-0-2e,in1] 1.301000
電圧(in)に留まらず、電流(curr)、温度(temp)、ファンの速度(fan)の各読み取り値をZabbixで検索できます。
本ページは2014/08/05時点の原文を基にしておりますので、内容は必ずしも最新のものとは限りません。
最新の情報は、英語版のZabbix2.2マニュアルを参照してください。