Aktionen

Zabbix:Template Raspberry Pi

Aus znilwiki

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.



1 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



2 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)



3 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




4 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




5 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)



MDY

60 Monaten zuvor
Punktzahl 0++

Gute Anleitung und gutes Template. Danke dafür.

Für mein System habe ich allerdings in der raspberry.sh jeweils "df -P -B1" für die Größen verwendet und das Template noch mit "Unit: B" ausgerüstet.

So bleiben die unschönen Kilobyteangaben außen vor und Zabbix kann selbst die Skalierung vornehmen.
Kommentar hinzufügen
znilwiki freut sich über alle Kommentare. Sofern du nicht anonym bleiben möchtest, trage deinen Namen oder deine Email-Adresse ein oder melde dich an. Du kannst das Feld auch einfach leer lassen.