Raspberry Pi: SNMP (Simple Network Management Protocol) installation in einer Stunde und Abfrage der CPU Temperatur per SNMP

Wie kann net-snmp auf dem Raspberry Pi installiert werden? Da es noch kein fertiges Package für den Raspberry Pi (Kali) gibt, ist selbst compilieren angesagt.

# System updaten
sudo apt-get update
sudo apt-get upgrade
# Nötige libs
sudo apt-get install libperl-dev
mkdir net-snmp
cd net-snmp
# Download von aktuelles Archive von http://sourceforge.net/projects/net-snmp
wget http://sourceforge.net/projects/net-snmp/files/net-snmp/5.7.3/net-snmp-5.7.3.tar.gz
# auspacken
tar -xvzf net-snmp-5.7.3.tar.gz
cd net-snmp-5.7.3/
# setup, es kommen drei Fragen, beantworten oder mit Return den default wählen
sudo ./configure
# warten ...

Wenn diese Bestätigung kommt:
snmp
Dann weiter mit compilieren und installieren. Das kann eine Stunde dauern …

sudo make
sudo make install
# Link anlegen
ln -s /usr/local/lib/libnetsnmp.so.30 /usr/lib/libnetsnmp.so.30
# MIBS (Management Information Base) Downloader installieren
sudo apt-get install snmp-mibs-downloader
# SNMP installieren
sudo apt-get install snmpd
/etc/init.d/snmpd start
# oder (start|stop|restart|reload|force-reload|status) wenn er schon läuft
/etc/init.d/snmpd restart

# Checken ob alles richtig läuft, abfragen per SNMP der Systemlaufzeit mit
snmpget -v 2c -c public 127.0.0.1 SNMPv2-MIB::sysUpTime.0
# Ergebnis 5 Min und 22 Sekunden:
# DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (32224) 0:05:22.24

# oder eine Liste einiger Einstellungen ausgeben:
snmpwalk -v2c -c public localhost system
# SNMPv2-MIB::sysDescr.0 = STRING: Linux raspberry 3.12.26 #1 PREEMPT Thu Aug 21 20:00:35 EDT 2014 armv6l
# SNMPv2-MIB::sysObjectID.0 = OID: NET-SNMP-MIB::netSnmpAgentOIDs.10
# DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (47562) 0:07:55.62
# SNMPv2-MIB::sysContact.0 = STRING: wenzlaff.info
# SNMPv2-MIB::sysName.0 = STRING: raspberry Pi
# SNMPv2-MIB::sysLocation.0 = STRING: Kali Rechner
# SNMPv2-MIB::sysServices.0 = INTEGER: 72
# SNMPv2-MIB::sysORLastChange.0 = Timeticks: (5) 0:00:00.05

So nun wollen wir noch die CPU Temperatur per SNMP abfragen. Dazu wird dieses Script in der neuesten Version geladen

wget https://github.com/IT-Berater/tw-scripte/blob/master/snmp-cpu-temperatur.sh

oder erstellt mit:

nano snmp-cpu-temperatur.sh

mit diesen Inhalt:

#   (c) Thomas Wenzlaff 2015 www.wenzlaff.info
#
#   This program is free software: you can redistribute it and/or modify
#   it under the terms of the GNU General Public License as published by
#   the Free Software Foundation, either version 3 of the License, or
#   (at your option) any later version.
#
#   This program is distributed in the hope that it will be useful,
#   but WITHOUT ANY WARRANTY; without even the implied warranty of
#   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#   GNU General Public License for more details.
#
#   You should have received a copy of the GNU General Public License
#   along with this program.  If not, see {http://www.gnu.org/licenses/}.
#
#
if [ "$1" = "-g" ]
then
echo .1.3.6.1.2.1.25.1.8
echo gauge
temp=`cat /sys/class/thermal/thermal_zone0/temp`
echo $temp1"."$cpu
fi
exit 0

Dieses Script ist für Kali Linux getestet evl. für Debian anpassen und nötige Anpassungen bitte als Kommentar posten.

Dieses Script ausführbar machen und nach /usr/local/bin kopieren:

chmod 755 snmp-cpu-temperatur.sh
cp snmp-cpu-temperatur.sh /usr/local/bin/
# checken ob es läuft
./snmp-cpu-temperatur.sh -g
# Ausgabe
# .1.3.6.1.2.1.25.1.8
# gauge
# 44388
# ok, unterer Wert ist die Temperatur 44,388 Grad Celsius
# die snmpd.conf Datei ergänzen
sudo nano /etc/snmp/snmpd.conf
# um diesen Eintrag
pass .1.3.6.1.2.1.25.1.8 /bin/sh /usr/local/bin/snmp-cpu-temperatur.sh
# snmp restarten mit
sudo /etc/init.d/snmpd restart
# schauen ob es funktioniert und monitoren:
/usr/bin/snmpget -v 2c localhost -c public .1.3.6.1.2.1.25.1.8
# Ausgabe:
iso.3.6.1.2.1.25.1.8 = Gauge32: 44388
# ok, die Temperatur wird mit 44,388 Grad angezeigt. Gauge32 ist ein nicht negativer Integer.
# Was wird da eigentlich bei minus Graden ausgegeben? Ist aber wohl nicht relevant, oder?

Weiter auf der NET-SNMP.org Seite oder eine SNMP Mindmap anschauen.

Welche SNMP Befehle findet Ihr gut?

Ähnliche Artikel:

  1. Raspberry Pi: “Es ist später als Du denkst!” oder Network Time Protocol (ntp) Sicherheitsupdate für Debian und Mac OS X veröffentlicht
  2. Wie kann mit gnuplot ein Diagramm der Temperaturdiffernz zweier Temperatur Sensoren erstellt werden?
  3. Temperatur Messung mit dem DS18B20 und Arduino Nano

wallpaper-1019588
LUCK LIFE: Band feiert Europapremiere auf der Connichi
wallpaper-1019588
Wind Breaker: Deutscher Simuldub bei Crunchyroll gestartet
wallpaper-1019588
Kizuna no Allele: Erste Staffel erscheint auf Disc
wallpaper-1019588
Acro Trip: Promo-Video verrät Startzeitraum