Raspberry Pi / Rasbian und SNMP

Aus FHEMWiki


Clock - Under Construction.svg An dieser Seite wird momentan noch gearbeitet.


Raspberry Pi / Rasbian und SNMP (IN ARBEIT)

Dieses Howto beschreibt die Installation des SNMP Daemons und der SNMP Tools am Raspberry Pi.

Weiters wird beschrieben, wie man SNMP konfiguriert, um damit einen laufenden Prozess zu überwachen und bei Bedarf neu zu starten. Auch ein kompletter Neustart des Mini-Rechners über SNMP wird hier gezeigt.

Einleitung

Das SNMP (Simple Network Management Protocol) läuft über das verbindungslose UDP Protokoll Port 161(SNMP) und Port 162(TRAP) und wurde entwickelt, um Netzwerkgeräte entfernt zu überwachen und zu steuern.

Installation Debian/Rasbian und MIBS laden

Wenn man nicht als root unterwegs ist, muss noch ein sudo bei jedem Befehl vorangestellt werden.

apt-get install snmpd snmp snmp-mibs-downloader

Sollten die MIB's (Management Information Base) nicht automatisch geladen werden, wird der Download initiert.

download-mibs 

SNMPD Konfiguration

Zuerst werden Einstellungen wie Systemname, Systemadmin usw.. gemacht.

Datei: /etc/snmp/snmpd.conf

###############################################################################
#
#  AGENT BEHAVIOUR
#
#  Listen for connections from the local system only
# agentAddress  udp:127.0.0.1:161
#  Listen for connections on all interfaces (both IPv4 *and* IPv6)
# agentAddress udp:161,udp6:[::1]:161
agentAddress udp:161

###############################################################################
#
#  SYSTEM INFORMATION
#
#  Note that setting these values here, results in the corresponding MIB objects being 'read-only'
#  See snmpd.conf(5) for more details
sysLocation    Haus1-Heizkeller
sysContact     Administrator meinemail@gmail.com

# Application + End-to-End layers
sysServices    72

Erklärung: Wichtig ist agentAddress. Wird nur udp:161 angegeben, ist der Zugriff von jeder IP aus möglich.

SNMPD Prozessüberwachung

Konfiguration in Datei /etc/snmp/snmpd.conf

          # readonly community
rocommunity public     

          # write from 192.168.x.x subnets
rwcommunity writesecret       192.168.0.0/16 

          # write from localhost
rwcommunity writesecret       localhost         

#  Process Monitoring
#
#  init process dummy for reboot
proc  init                
procfix init sudo /sbin/reboot

#  process ser2net / at least one   process
proc  ser2net                     
procfix ser2net  /usr/bin/sudo  /etc/init.d/ser2net restart  

Erklärung: Diese Infos beziehen sich auf die Protokoll Version 1 und 2c.

  • rocommunity = Name für den Zugriff im "Nur Lesemodus". Wird sonst nichts angegeben, ist der Zugriff von jeder IP aus möglich.
  • rwcommunity = Name für den "Schreibzugriff". Hier sind 2 Einträge vorhanden. 192.168.0.0/16 erlaubt das Schreiben von jeder IP, die mit 192.168 anfängt. Die 2. Zeile localhost erlaubt das auch dem Rechner selbst.
  • proc = Prozessname wie er mit der Befehlszeile ps -aux angezeigt wird.
  • procfix = Befehl der ausgeführt wird, wenn auf die dazugehörige OID (Object Identifier) schreibend zugegriffen wird.

Sudo Rechtevergabe

Wird procfix verwendet, muß noch diese Einstellung gemacht werden.

Konfiguration in Datei /etc/sudoers

Eine Zeile wie folgt hinzufügen.

### for snmp procfix scripts as root
snmp ALL=(ALL) NOPASSWD: ALL 

Erklärung: Der SNMP Dienst läuft auf Rasbian standardmäßig unter dem user:snmp und group:snmp.

Dieser User darf keine Prozesse starten oder beenden und schon gar nicht den gesamten Rechner neu starten.

Um das zu ermöglichen, müssen dem Benutzer snmp root Rechte per sudo vergeben werden. Dazu ist der gezeigte Eintrag nowendig.

Nach jeder Änderung muss zum Aktivieren der Einstellung der snmpd-Dienst neu gestartet werden.

service snmpd restart 

SNMP Client - Verwendung von OID-Namen aktivieren

Um OID Namen statt der kryptischen 1.3.x.x.x.x. Nummern zu verwenden ist noch dieser Schritt nötig.

Aus-Kommentieren mibs : in Datei /etc/snmp/snmp.conf

#
# As the snmp packages come without MIB files due to license reasons, loading
# of MIBs is disabled by default. If you added the MIBs you can reenable
# loaging them by commenting out the following line.

#### mibs :   


SNMP Befehle

Nach einem abschliessenden Neustart des snmpd-Daemons mit service snmpd restart können auf dem lokalen Rechner snmpwalk und snmpget Befehle eingeben werden.


... In Arbeit ....

Raspberry Pi