Aktionen

Zabbix:Template Raspberry Pi

Aus znilwiki

Version vom 6. August 2017, 19:52 Uhr von BLinz2 (Diskussion | Beiträge) (Textersetzung - „<comments>“ durch „<comments />“)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)

Hier habe ich gezeigt wie man verschiedene Dinge über den 'Raspberry Pi' über die Bash abrufen kann: Temperatur / Spannung etc. des Raspberry Pi selbst auslesen
Das habe ich natürlich herausgesucht um es irgendwie in Zabbix zu verwerten - hier nun das Skript und Template.



Vorbereitung

  • Auf eurem 'Raspberry Pi' ist der Zabbix Agent installiert und konfiguriert
  • Der Agent läuft normalerweise unter dem Benutzer 'zabbix' den Ihr ebenfalls angelegt habt



Script hinterlegen

Auch wenn es nicht ganz passt - ich habe das nachfolgende Skript unter dem Namen

raspberrypi.sh

im Pfad

/usr/local/share/zabbix/externalscripts

hinterlegt:

#!/bin/sh

# Script for Monitoring a Raspberry Pi with Zabbix
# 2013 Bernhard Linz
# Bernhard@znil.de / http://znil.net
#

case "$1" in
        boardversion)
                # get the Hardware Version
                cat /proc/cpuinfo | grep Hardware | tr -d " " | cut -d ":" -f 2
                ;;
        boardrevision)
                # get the Hardware Revision
                cat /proc/cpuinfo | grep Revision | tr -d " " | cut -d ":" -f 2
                ;;
        boardserialnumber)
                # get the Board unique Serial Number
                cat /proc/cpuinfo | grep Serial | tr -d " " | cut -d ":" -f 2
                ;;
        cpuvoltage)
                # Voltage in Volt
                /opt/vc/bin/vcgencmd measure_volts | tr -d "volt=" | tr -d "V"
                ;;
        cpuclock)
                # CPU Clock Speed in Hz
                /opt/vc/bin/vcgencmd measure_clock arm | tr -d "frequency(45)="
                ;;
        cpumem)
                # CPU Memory in MByte
                vcgencmd get_mem arm | tr -d "arm=" | tr -d "M"
                ;;
        firmwareversion)
                # Just the naked String of the firmware Version
                vcgencmd version | grep version | cut -d " " -f 2
                ;;
        gpumem)
                # Graphics memeory in MByte
                vcgencmd get_mem gpu | tr -d "gpu=" | tr -d "M"
                ;;
        sdcardtotalsize)
                # Size of SD-Card in KByte
                df -P | grep rootfs | tr -s " " " " | cut -d " " -f 2
                ;;
        sdcardused)
                # Used Diskspace in KByte
                df -P | grep rootfs | tr -s " " " " | cut -d " " -f 3
                ;;
        sdcardusedpercent)
                # Used Diskspace in Percent
                df -P | grep rootfs | tr -s " " " " | cut -d " " -f 5
                ;;
        sdcardfree)
                # free Diskspace in KByte
                df -P | grep rootfs | tr -s " " " " | cut -d " " -f 4
                ;;
        temperature)
                # Temperature in 1/1000 centigrade
                cat /sys/class/thermal/thermal_zone*/temp
                ;;
        *)
                echo "Usage: $N {boardversion|boardrevision|boardserialnumber|cpuvoltage|cpuclock|cpumem|firmwareversion|gpumem|sdcardtotalsize|sdcardused|sdcardusedpercent|sdcardfree|temperature}" >&2
esac

exit 0

Damit Ihr es ausführen könnt noch ein

chmod 755  /usr/local/share/zabbix/externalscripts/raspberrypi.sh


Ihr könnt es dann testen - z.B. mit

/usr/local/share/zabbix/externalscripts/raspberrypi.sh temperature

müsste er so etwas wie

54610

ausspucken (= 54,51 Grad Celsius)



zabbix Benutzer Gruppe hinzufügen

Leider reichen die Rechte für einen normalen Benutzer nicht um alle Angaben zu holen - umgehen lässt sich das wenn der Benutzer 'zabbix' zur Gruppe 'video' hinzugefügt wird:

usermod -a -G video zabbix




Skript in der Agenten-Konfiguration hinterlegen

Wir bearbeiten die Konfigurationsdatei des Agenten:

nano /usr/local/etc/zabbix_agentd.conf

ACHTUNG! die zabbix_agentd.conf!!!!

und fügen folgende Zeile hinzu:

UserParameter=raspberrypi.sh[*],/usr/local/share/zabbix/externalscripts/raspberrypi.sh $1




Template importieren und Host zuweisen

  • Ladet das Template herunter: Znil-Template-Raspberry-Pi.zip
  • entpackt die '.ZIP' Datei
  • Importiert in Zabbix die '.XML' Datei
  • Ihr findet das Template in der Hostgruppe 'Templates znil.net' unter dem Namen 'znil Template Raspberry Pi'



Das Template ist als "Active Agent" konfiguriert und hat noch keinerlei Trigger - passt euch das an wie ihr es braucht!

RaspberryPi-Zabbix-Template-001.png




--Bernhard Linz 20:35, 24. Nov. 2013 (CET)


Loading comments...