各センサーチップは、sysfs の /sys/devices ツリー内に専用のディレクトリを持ちます。 すべてのセンサーチップを見つけるには、/sys/class/hwmon/hwmon* からデバイスのシンボリックリンクをたどる方が簡単です。ここで、* は実数 (0,1,2,...) です。
センサーの読み取り値は、仮想デバイスの場合は /sys/class/hwmon/hwmon*/ ディレクトリ、非仮想デバイスの場合は /sys/class/hwmon/hwmon*/device ディレクトリに格納されます。hwmon* または hwmon*/device ディレクトリ内にある name というファイルには、チップ名が格納されています。このチップ名は、センサーチップが使用するカーネルドライバー名に対応しています。
ファイルごとにセンサーの読み取り値は1つだけです。上記のディレクトリ内にあるセンサー読み取り値を含むファイルの一般的な命名規則は、以下のとおりです。 <type><number>_<item>
ホストで利用可能なセンサーに関する情報は、sensor-detect および sensors ツール(lm-sensors パッケージ:http://lm-sensors.org/)を使用して取得できます。Sensors-detect は、利用可能なセンサーに必要なモジュールを特定するのに役立ちます。モジュールがロードされると、sensors プログラムを使用してすべてのセンサーチップの測定値を表示できます。このプログラムで使用されるセンサー測定値のラベル付けは、一般的な命名規則 (<type><number>_<item>) とは異なる場合があります。
このラベル付けにより、ユーザーは使用されているハードウェアの種類を判別できます。<type><number>_label ファイルも設定ファイル内に label もない場合、ハードウェアの種類は名前属性 (hwmon*/device/name) によって判別できます。 zabbix_agent が受け入れるセンサーの実際の名前は、sensors プログラムを -u パラメータ付きで実行することで取得できます (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] or sensor[0000:00:18.3,temp1]
sensor[smsc47b397-isa-0880,in,avg] or 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つだけです。
他のラベル(Vcoreや+12Vなど)を使用しようとしても機能しません。
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*として照会する必要があります。[^1]
Zabbixは電圧(in)だけでなく電流(curr)温度(temp)ファン速度(fan)の読み取り値も取得できます。
[^ 1]:仕様によると、これらはチップピンの電圧であり、スケーリングが必要な場合があります。