[comment]: # translation:outdated

[comment]: # ({05069cfc-05069cfc})
# 8 センサー

各センサーチップは、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>, where

-**タイプ**-センサーチップの場合、「in」（電圧）、「temp」（温度）、「fan」（ファン）などです。
-**項目**-「入力」（測定値）、「最大」（高しきい値）、「最小」（低しきい値）など、
-**数値**-複数回存在する可能性のある要素に常に使用されます（0から始まる電圧を除いて、通常は1から始まります）。 ファイルが特定の要素を参照していない場合、ファイルには番号のない単純な名前が付けられます。
-   **type** - センサーチップの場合"in"（電圧）,"temp"（温度）,"fan"（ファン）など
-   **item** - "input" (測定値), "max" (高いしきい値), "min" (低いしきい値),など
-   **number** - 複数存在する可能性のある要素に常に使用されます。（0から始まる電圧を除いて、通常は1から始まります） ファイルが特定の要素を参照していない場合、ファイルには番号のない単純な名前が付けられます。

ホストで利用可能なセンサーに関する情報は、**Sensor-detect**および**sensors**ツール（lm-sensorsパッケージ：<http://lm-sensors.org/>）を使用して取得できます。** Sensors-detect **は、使用可能なセンサーに必要なモジュールを判別するのに役立ちます。 モジュールがロードされると、**センサー**プログラムを使用してすべてのセンサーチップの読み取り値を表示できます。 このプログラムで使用されるセンサー読み取り値のラベル付けは、一般的な命名スキーム(<type><number>\_<item> )とは異なる場合があります。

-   <type><number>\_labelというファイルがある場合、このファイル内のラベルが<type><number><item>nameの代わりに使用されます。
-   <type><number>\_labelファイルがない場合、プログラムは/etc/sensors.conf内（/etc/sensors3.conf等、別の名前へ置換も可能）を検索します。

このラベル付けにより、ユーザーは使用されているハードウェアの種類を判別できます。 構成ファイル内に<type><number>\_labelファイルもlabelもない場合、ハードウェアのタイプはname属性(hwmon\*/device/name)によって判別します。 zabbix\_agentが受け入れるセンサーの実際の名前は、-uパラメーターを指定して**sensors**プログラムを実行(**sensors -u**)することで取得できます。

**sensors**プログラムでは、使用可能なセンサーはバスタイプ（ISAアダプター、PCIアダプター、SPIアダプター、仮想デバイス、ACPIインターフェース、HIDアダプター）によって分けられています。

[comment]: # ({/05069cfc-05069cfc})

[comment]: # ({61bf6279-61bf6279})
##### Linux 2.4の場合：

（センサーの読み取り値は/proc/sys/dev/sensorsディレクトリから取得されます）

-   **device** - デバイス名（<mode>が使用されている場合は正規表現です）
-   **sensor** - センサー名（<mode>が使用されている場合は正規表現です）
-   **mode** - 使用可能な値：avg,max,min（このパラメーターが省略されている場合、デバイスとセンサーは逐語的に扱われます）

キーの例：sensor\[w83781d-i2c-0-2d,temp1\]

Zabbix 1.8.4以前は sensor \[temp1\] 形式が使用されていました。

[comment]: # ({/61bf6279-61bf6279})

[comment]: # ({2e1edda6-2e1edda6})
##### Linux 2.6以降の場合：

（センサーの読み取り値は/sys/class/hwmonディレクトリから取得されます）

-   **device** - デバイス名（非正規表現） デバイス名はデバイスの実際の名前（0000:00:18.3など）またはセンサープログラムを使用して取得した名前（k8temp-pci-00c3など）の場合があります。 使用する名前はユーザーが選択してください。
-   **sensor** - センサー名（非正規表現）
-   **mode** - 使用可能な値: avg, max, min (このパラメーターを省略した場合、デバイスとセンサーは逐語的に扱われます).

キーの例：

sensor\[k8temp-pci-00c3,temp,max\] or sensor\[0000:00:18.3,temp1\]

sensor\[smsc47b397-isa-0880,in,avg\] or sensor\[smsc47b397.2176,in1\]

[comment]: # ({/2e1edda6-2e1edda6})

[comment]: # ({0cb28aa9-0cb28aa9})
#### センサー名の取得

ラベルの名前はセンサーチップベンダーごとに異なる可能性があるため、*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*として照会する必要があります。[^1]

    $ zabbix_get -s 127.0.0.1 -k sensor[lm85-i2c-0-2e,in1]
    1.301000

Zabbixは電圧（in）だけでなく電流（curr）温度（temp）ファン速度（fan）の読み取り値も取得できます。

[^ 1]：[仕様](https://www.kernel.org/doc/Documentation/hwmon/sysfs-interface)によると、これらはチップピンの電圧であり、スケーリングが必要な場合があります。

[comment]: # ({/0cb28aa9-0cb28aa9})
