Enigma2 - SNMP verwenden

Posted on Wed 31 December 2014 in monitoring

Bei mir läuft ein kleiner Golden Interstar Xpeed LX 2 Sat Receiver. Ab und an fällt das Bild aus. Die Gründe würde ich gerne herausfinden.

Bleibt nur die Frage nach dem wie?

  • collectd bauen und verwenden ist nicht ressourcenschonend
  • SSH und bash/Python-Scripte ausführen ist nicht effizient
  • SNMP?

Die Möglichkeit bietet ein OpenEnigma Plugin: SnmpAgent. Allerdings nutze ich HDMU.

Bei der Installation ist dann nach und nach folgendes Ergebnis zusammemgekommen. Damit läuft Snmp innerhalb des Enigma2, was es erlaubt div. Enigma2 Daten abzurufen.qs

Zu allererst die Installation der Python Pakete:

opkg install python-cheetah python-pprint python-distutils python-compile gettext

Ein Blick in das Repo zeigt uns, dass das Plugin auf TwistedSNMP aufbaut. Das baut widerrum auf PySNMP-SE auf. easy_install ist angebracht.

git clone, wget etc. muss unter Umständen lokal durchgeführt werden und anschließend auf den Receiver kopiert werden.

opkg install python-pkgutil python-unittest
wget https://bitbucket.org/pypa/setuptools/raw/bootstrap/ez_setup.py
python ez_setup.py
easy_install PySNMP-SE

Die eigentliche Installation umfasst natürlich das Klonen des Repo und rüber kopieren. Anschließend kann man das Paket installieren. Allerdings wird es nach /usr/lib/python2.7/site-packages/ kopiert. Dort wird es nicht von Enigma2 gesucht, sodass wir den Build woanders hinkopieren:

python setup.py install
cd build/lib/Extensions/
cp -R SnmpAgent /usr/lib/enigma2/python/Plugins/Extensions/

Nach einem Neustart des Receivers sollte man im Plugin-Menü den SnmpAgent sehen und netstat sollte anzeigen, dass auf Port 161/udp enigma2 lauscht:

udp 0 0 0.0.0.0:161 0.0.0.0:* 409/enigma2

Die verfübaren OIDs findet man direkt in der plugin.py. Zu beachten ist, dass einige Informationen nicht abgerufen werden können. Ein wenig Nacharbeit ist noch notwendig. Vielleicht ist das Plguin deshalb noch nicht bei HDMU verfügbar. Los gehts!