[comment]: # translation:outdated

[comment]: # ({1035fd30-b33b8329})
# 6 Sensors

[comment]: # ({/1035fd30-b33b8329})

[comment]: # ({752b9468-eaab320d})
#### Pārskats

Katram sensora čipam sysfs `/sys/devices` kokā ir sava direktorija.
Lai atrastu visus sensora čipus, ir ērtāk sekot ierīču simboliskajām saitēm no `/sys/class/hwmon/hwmon*`, kur `*` ir reāls skaitlis (0,1,2,...).

Sensoru rādījumi atrodas vai nu `/sys/class/hwmon/hwmon*/` direktorijā virtuālajām ierīcēm, vai `/sys/class/hwmon/hwmon*/device` direktorijā nevirtuālajām ierīcēm.
Fails ar nosaukumu `name`, kas atrodas `hwmon*` vai `hwmon*/device` direktorijās, satur čipa nosaukumu, kas atbilst sensora čipa izmantotā kodola draivera nosaukumam.

Katrā failā ir tikai viena sensora rādījuma vērtība.
Kopējā failu nosaukumu shēma failiem, kas satur sensoru rādījumus jebkurā no iepriekš minētajām direktorijām, ir: `<type><number>_<item>`, kur

-   **type** - sensora čipiem tas ir "in" (spriegums), "temp" (temperatūra), "fan" (ventilators) utt.
-   **item** - "input" (izmērītā vērtība), "max" (augšējais slieksnis), "min" (apakšējais slieksnis) utt.
-   **number** - vienmēr tiek izmantots elementiem, kas var būt sastopami vairāk nekā vienu reizi (parasti sākas ar 1, izņemot spriegumus, kas sākas ar 0).
Ja faili neattiecas uz konkrētu elementu, tiem ir vienkāršs nosaukums bez numura.

Informāciju par sensoru pieejamību hostā var iegūt, izmantojot rīkus **sensors-detect** un **sensors** ([lm-sensors package](https://docs.kernel.org/hwmon/sysfs-interface.html)).
**Sensors-detect** palīdz noteikt, kuri moduļi ir nepieciešami pieejamajiem sensoriem.
Kad moduļi ir ielādēti, programmu **sensors** var izmantot, lai parādītu visu sensora čipu rādījumus.
Šīs programmas izmantotais sensoru rādījumu marķējums var atšķirties no kopējās nosaukumu shēmas (`<type><number>_<item>` ):

-   ja ir fails ar nosaukumu `<type><number>_label`, tad šajā failā esošais marķējums tiks izmantots `<type><number><item>` nosaukuma vietā;
-   ja faila `<type><number>_label` nav, tad programma meklē nosaukuma aizstāšanu failā `/etc/sensors.conf` (tas var būt arī `/etc/sensors3.conf` vai cits).

Šis marķējums ļauj lietotājam noteikt, kāda veida aparatūra tiek izmantota.
Ja nav ne faila `<type><number>_label`, ne marķējuma konfigurācijas failā, aparatūras tipu var noteikt pēc nosaukuma atribūta (`hwmon*/device/name`).
Faktiskos sensoru nosaukumus, kurus pieņem `zabbix_agent`, var iegūt, palaižot programmu **sensors** ar parametru `-u` (`sensors -u`).

Programmā **sensors** pieejamie sensori ir atdalīti pēc kopnes tipa (ISA adapteris, PCI adapteris, SPI adapteris, virtuālā ierīce, ACPI saskarne, HID adapteris).

[comment]: # ({/752b9468-eaab320d})

[comment]: # ({397aa635-0cb28aa9})
#### Sensora identifikatoru iegūšana

Sensora etiķetes, kā tās izdrukā komanda `sensors`, ne vienmēr var izmantot tieši, jo marķējums atšķiras starp dažādiem mikroshēmu ražotājiem.
Piemēram, `sensors` izvade var saturēt šādas rindas:

```bash
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)
```

No tiem tikai viens attēlojamais nosaukums tieši atbilst iekšējam identifikatoram:

```bash
zabbix_get -s 127.0.0.1 -k sensor[lm85-i2c-0-2e,in0]
2.240000
```

Mēģinājums izmantot citas attēlojamās etiķetes (piemēram, `Vcore` vai `+12V`) nedarbosies:

```bash
zabbix_get -s 127.0.0.1 -k sensor[lm85-i2c-0-2e,Vcore]
ZBX_NOTSUPPORTED
```

Lai atrastu iekšējo sensora identifikatoru, ko Zabbix pieņem, palaidiet `sensors -u`.
Izvadē var redzēt sekojošo:

```bash
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
...
```

Tātad etiķete `Vcore` atbilst identifikatoram `in1`, bet `+12V` atbilst `in4`.
Saskaņā ar kodola hwmon sysfs [specifikāciju](https://docs.kernel.org/hwmon/sysfs-interface.html), tie ir spriegumi uz mikroshēmas izvadiem, un vispārīgi runājot tiem var būt nepieciešama mērogošana.

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

Zabbix var iegūt ne tikai sprieguma (`in`), bet arī strāvas (`curr`), temperatūras (`temp`) un ventilatora ātruma (`fan`) rādījumus.

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

[comment]: # ({5b2a0096-8c111a00})
#### Saderība

[comment]: # ({/5b2a0096-8c111a00})

[comment]: # ({f66e4878-61bf6279})
##### Mantotās distribūcijas

Sensora rādījumi tiek iegūti no direktorija `/proc/sys/dev/sensors`:

-   **device** - ierīces nosaukums (ja tiek izmantots <mode>, tā ir regulārā izteiksme)
-   **sensor** - sensora nosaukums (ja tiek izmantots <mode>, tā ir regulārā izteiksme)
-   **mode** - iespējamās vērtības: `avg`, `max`, `min` (ja šis parametrs ir izlaists, device un sensor tiek interpretēti burtiski)

Atslēgas piemērs: `sensor[w83781d-i2c-0-2d,temp1]`.

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

[comment]: # ({9e54fe4b-2e1edda6})
##### Pašreizējās distribūcijas

Sensora rādījumi tiek iegūti no direktorija `/sys/class/hwmon`:

-   **device** - ierīces nosaukums (neregulārā izteiksme).
Ierīces nosaukums var būt faktiskais ierīces nosaukums (piemēram, `0000:00:18.3`) vai nosaukums, kas iegūts, izmantojot programmu sensors (piemēram, `k8temp-pci-00c3`).
Lietotājs pats izvēlas, kuru nosaukumu izmantot.
-   **sensor** - sensora nosaukums (neregulārā izteiksme).
-   **mode** - iespējamās vērtības: `avg`, `max`, `min` (ja šis parametrs ir izlaists, device un sensor tiek apstrādāti burtiski).

Atslēgu piemēri:

`sensor[k8temp-pci-00c3,temp,max]` vai `sensor[0000:00:18.3,temp1]`.

`sensor[smsc47b397-isa-0880,in,avg]` vai `sensor[smsc47b397.2176,in1]`.

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