TEMPerGold_V3.4 + Zabbix: copertina

Grafico della temperatura in Zabbix con il device TEMPerGold.

Obiettivo di questo articolo è avere in Zabbix un grafico di temperatura esterna al server monitorando il sensore TEMPerGold della PCsensor.

Premessa

In questa guida descriviamo la procedura per uno Zabbix 7.0.19.
Non tratteremo dell'installazione di Zabbix.
Operiamo su un server Ubuntu 24.04 (hostname: srv1) monitorato da una installazione centrale Zabbix (installato sul server srv0).
Per rilevare la temperatura esterna al server srv1 usiamo un device USB TEMPerGold ( https://pcsensor.com/product/pcsensor-temperature-logger-temper-with-gold-usb-probe/ ) della PCsensor ( https://pcsensor.com ).
Zabbix non riesce direttamente a leggere il sensore USB, pertanto dobbiamo usare un software terzo. In particolare useremo ``temper``.
``temper`` necessita di un upgrade per leggere le versioni recenti di TEMPerGold. Per questo rimando all'articolo [Fix dello script temper per il sensore TEMPerGold_V3.4 (https://www.digitaldsb.it/portal/informatica/fix-dello-script-temper-per-il-sensore-tempergold_v3-4)].
Lo stick USB rileva la temperature esterna al server. Se vogliano misurare quella interna al server abbiamo diversi sensori, diversi da server e server, normalmente monitorati tramite il tool ``lm-sensors``.
Per il nostro monitoraggio della temperatura dovremmo prima operare sul server ``srv1`` e poi su Zabbix server, su ``srv0``, tramite la WUI standard.

Riepilogando:

Step 1, srv1

NB: l'agent Zabbix è già installato, correttamente funzionante e connesso al server Zabbix su srv0.
Dopo aver connesso il termometro USB TEMPerGold al server:

1. colleghiamoci, via SSH, al server "srv1"

ssh Questo indirizzo email è protetto dagli spambots. È necessario abilitare JavaScript per vederlo.

2. scaricare e installare ``temper`` in /usr/local/bin/ (cf.: https://www.digitaldsb.it/portal/informatica/fix-dello-script-temper-per-il-sensore-tempergold_v3-4)

3. creare uno script-filtro per leggere la temperatura

sudo nano /usr/local/bin/temper-zabbix

4. inserire il seguente testo

#!/bin/bash
/usr/local/bin/temper.py|awk '{sub(/C/,""); print $7}'

5. correggere i permessi

sudo chown root:root /usr/local/bin/temper-zabbix
sudo chmod +x /usr/local/bin/temper-zabbix

6. creare un nuovo permesso sudo per l'utente zabbix

sudo nano /etc/sudoers.d/zabbix

7. e inserire la seguente stringa

zabbix ALL=(ALL) NOPASSWD: /usr/local/bin/temper-zabbix

8. editare /etc/zabbix/zabbix_agentd.conf

sudo nano /etc/zabbix/zabbix_agentd.conf

9. individuare il blocco ``### Option: UserParameter`` e aggiungere, a fine blocco la seguente stringa

UserParameter=temper-VAR,sudo /usr/local/bin/temper-zabbix

10. riavviare l'agent

sudo systemctl restart zabbix-agent.service

Step 2, Zabbix server

1. Collegarsi alla WUI del server Zabbix e autenticarsi come amministratori.
In questo tutorial l'URL è https://srv0.example.local/zabbix

2. accedere dal menu Monitoraggio -> Host

3. cliccare con il mouse sul server monitorato.
Nel menu contestuale che si apre cliccare, sotto "CONFIGURAZIONE" su "Item"

4. cliccare sul bottone "Crea Item" (in alto a destra)

5. compilare la form come segue (riportati i campi utili):

Nome: Srv1 Temperatura ESTERNA
Tipo: Agente Zabbix
Chiave: temper-VAR
Tipo di informazione: Numerico (float)
Interfaccia host: 192.168.10.11:10050
Unità: C°
Intervallo di aggiornamento: 1m

NB: utilissimo il bottone "Test" che permette di verificare il corretto funzionamento.

6. accedere dal menu Monitoraggio -> Host

7. cliccare con il mouse sul server monitorato.
Nel menu contestuale che si apre cliccare, sotto "CONFIGURAZIONE" su "Grafici"

8. cliccare sul bottone "Crea grafico" (in alto a destra)

9. compilare la form come segue (riportati i campi utili):

Nome: Srv1 Temperatura ESTERNA
Larghezza: 900
Altezza: 200
Item: Srv1 Temperatura ESTERNA

NB: utilissimo il tab "Anteprima" che permette di vedere e verificare il grafico prima di pubblicarlo.

Fatto tutto! Ora basta attendere qualche minuto (giusto per raccogliere qualche lettura) per vedere popolato il nostro grafico delle temperature esterne al server Srv1.