Ich habe in Zabbix folgenden Userparameter zur Auswertung der Festplattentemperatur hinzugefügt:
# cat /etc/zabbix/zabbix_agentd.d/userparameter_hdd_temp_sda.conf
UserParameter=hddtemp.sda,sudo /usr/sbin/smartctl -A /dev/sda|awk -v pattern='Temperature_Celsius' '$0 ~ pattern {print $10}'
Folgender Fehler tauchte im Zabbix Serverlog, nach der Erstellung dieses UserParameters auf:
# tail -f /var/log/zabbix/zabbix_server.log
error reason for "server1:hddtemp.sda" changed: Unsupported item key.
ein Test unter root zeigte dies:
# zabbix_agentd -t hddtemp.sda
hddtemp.sda [t|30]
und war somit erfolgreich. Der Key war auf dem Server auch einmalig / unique, was auch nicht das Problem sein konnte. Nachdem ich nun hin und her gesucht hatte den Typ von Decimal auf Float testweise änderte kam ich auf folgende Lösungsweg:
- Login als Zabbix User:
- # su – zabbix -s /bin/bash
- ausführen des Tests
- zabbix_agentd – t hddtemp.sda
-su: zabbix_agentd: Kommando nicht gefunden. - # smartctl
-su: smartctl: Kommando nicht gefunden.
- zabbix_agentd – t hddtemp.sda
- ok – dann muss wohl der Pfad zu smartctl in der userparameter_test.conf eingetragen werden -> erledigt
- noch ein direkter Aufruf / Test :
- # smartctl -A /dev/sda
Smartctl open device: /dev/sda failed: Permission denied
- # smartctl -A /dev/sda
- ok, stimmt – Zugriff auf Hardware geht normalerweise nur mit root-Rechten
Datei /etc/sudoers für den Zugriff auf sudo und smartctl für den User zabbix einrichten, normalerweise sollte man das Tool visudo nehmen, ein Editor geht allerdings auch:# mcedit /etc/sudoersaktivieren von includedir /etc/sudoers.d- Datei /etc/sudoers.d/zabbix ist mit folgenden Inhalt vorhanden bzw. wird erstellt:
- Defaults:zabbix !requiretty
- zabbix ALL=(ALL) NOPASSWD: /usr/sbin/smartctl
- //hier Leerzeile sonst gibt es einen Syntaxfehler, Quelle und Regelwerks-Plugin //
Nach weiteren Tests ist gestrichenes nicht notwendig gewesen. Ich musste nur folgendes simples durchführen:
- Installation von sudo: # aptitude install sudo
- Anpassung des Skriptes und sudo vor dem auszuführenden Befehl schreiben.
Ich habe dann den Zabbix Agent nochmal neugestartet und nach ca. 1min:
# item „server:hddtemp.sda“ became supported
Have Fun…
Interessiert in verschiedenste IT Themen, schreibe ich in diesem Blog über Software, Hardware, Smart Home, Games und vieles mehr. Ich berichte z.B. über die Installation und Konfiguration von Software als auch von Problemen mit dieser. News sind ebenso spannend, sodass ich auch über Updates, Releases und Neuigkeiten aus der IT berichte. Letztendlich nutze ich Taste-of-IT als eigene Dokumentation und Anlaufstelle bei wiederkehrenden Themen. Ich hoffe ich kann dich ebenso informieren und bei Problemen eine schnelle Lösung anbieten. Wer meinen Aufwand unterstützen möchte, kann gerne eine Tasse oder Pod Kaffe per PayPal spenden – vielen Dank.