Neon110 Temperatur- und Luftfeuchtigkeitssensor mit TKmon überwachen

Aus Thomas-Krenn-Wiki
Wechseln zu: Navigation, Suche

TKmon bietet vielfältige Möglichkeiten zur Serverüberwachung. Mit dem Sensormetrix Neon110 Sensor kann TKmon darüber hinaus die Temperatur und Luftfeuchtigkeit überwachen. Dabei werden auch mehrere Neon110 Sensoren unterstützt - somit kann die Temperatur und Luftfeuchtigkeit auch in verschiedenen Räumen im Auge behalten und bei Problemen zügig reagiert werden. Dieser Artikel zeigt die Installation und Konfiguration des Sensors mit TKmon unter Ubuntu 14.04.

Hinweis

Die Python-Setuptools, nagiosplugin und das check_neon.py Icinga-Plugin müssen auf jeden Fall manuell installiert und konfiguriert werden, sie werden nicht automatisch bei der TKmon Installation mit installiert.

Python-Setuptools und nagiosplugin installieren

Neon 110 - Netzwerksensor für Temperatur und Luftfeuchtigkeit (Bildquelle: shop.netways.de)

Vorab werden die für das check_neon.py-Skript erforderlichen Komponenten heruntergeladen und installiert.

Installation der python-setuptools

Die Python-Setuptools können unter Ubuntu bequem mit der Paketverwaltung installiert werden.

sudo apt-get install python-setuptools

Nagiosplugin installieren

Die Python Klassenbibliothek Nagiosplugin unterstützt die einfache Programmierung von Python-basierenden Icinga-Plugins. Die Anleitung wurde mit der Version 1.2.3 des Plugins erstellt[1], es ist eine neuere Version 1.2.4 verfügbar.[2]

$ wget https://pypi.python.org/packages/source/n/nagiosplugin/nagiosplugin-1.2.3.tar.gz
$ tar -xzf nagiosplugin-1.2.3.tar.gz
$ cd nagiosplugin-1.2.3/
$ sudo python setup.py install
running install
running bdist_egg
running egg_info
writing requirements to src/nagiosplugin.egg-info/requires.txt
writing src/nagiosplugin.egg-info/PKG-INFO
writing top-level names to src/nagiosplugin.egg-info/top_level.txt
writing dependency_links to
src/nagiosplugin.egg-info/dependency_links.txt
reading manifest file 'src/nagiosplugin.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
warning: no files found matching 'bootstrap.py'
writing manifest file 'src/nagiosplugin.egg-info/SOURCES.txt'
installing library code to build/bdist.linux-x86_64/egg
running install_lib
running build_py
creating build
creating build/lib.linux-x86_64-2.7
creating build/lib.linux-x86_64-2.7/nagiosplugin
copying src/nagiosplugin/range.py ->
build/lib.linux-x86_64-2.7/nagiosplugin
[...]
reating dist
creating 'dist/nagiosplugin-1.2.3-py2.7.egg' and adding
'build/bdist.linux-x86_64/egg' to it
removing 'build/bdist.linux-x86_64/egg' (and everything under it)
Processing nagiosplugin-1.2.3-py2.7.egg
creating /usr/local/lib/python2.7/dist-packages/nagiosplugin-1.2.3-py2.7.egg
Extracting nagiosplugin-1.2.3-py2.7.egg
to /usr/local/lib/python2.7/dist-packages
Adding nagiosplugin 1.2.3 to easy-install.pth file

Installed /usr/local/lib/python2.7/dist-packages/nagiosplugin-1.2.3-py2.7.egg
Processing dependencies for nagiosplugin==1.2.3
Finished processing dependencies for nagiosplugin==1.2.3

check_neon.py Icinga-Plugin

Nach der Installation der Python-Setuptools und des Nagiosplugins wird nun das Icinga-Plugin heruntergeladen, im Plugin-Ordner platziert und ausführbar gesetzt.

$ wget https://exchange.icinga.org/netways/check_neon/files/1513/check_neon.py
$ sudo cp check_neon.py /usr/lib/nagios/plugins/
$ sudo chmod +x /usr/lib/nagios/plugins/check_neon.py

Hinweis bei TKmon 2.1

Seit TKmon 2.1.1 sind der TKmon Servicekatalogeintrag und das Icinga cfg-File bereits integriert, sie müssen nicht mehr manuell erstellt werden. Mit der Aktualisierung auf TKmon 2.1.1 wurde der Servicecheck ebenso erweitert. Nun können getrennte Schwellwerte für Warning und Critical für Temperatur respektive Luftfeuchtigkeit angegeben werden.

TKmon Host- und Servicekonfiguration für den Sensormetrix Neon110 Sensor

Nun kann der Sensor im TKmon Interface als Host hinzugefügt werden. Nachfolgende Bildergalerie zeigt die Konfiguration des Sensormetrix Neon110 Sensors.

PNP-Grafiken

Nach der Anlage dieses Servicechecks werden mittels PNP4Nagios die gemessenen Werte aufgezeichnet.

Servicekatalogeintrag erstellen für TKmon 2.0

Nach der Installation und Konfiguration der Python-Setuptools, sowie des Downloads der erforderlichen Plugins, kann nun der Servicekatalog für TKmon, wie nachfolgend beschrieben, erstellt werden. Diese nachfolgenden Schritte sind nur beim Einsatz von TKmon 2.0 erforderlich. Anschließend kann der Servicekatalogeintrag als Vorlage für die Abfrage der Temperatur- und Feuchtigkeitswerte verwendet werden.

Icinga cfg-File erstellen

Im Verzeichnis "/etc/nagios-plugins/config/" wird das File check_neon_temp.cfg neu angelegt. Die command_line ruft das vorab installierte check_neon.py auf. Die IP-Adresse erhält es über die Hostkonfiguration im TKmon und die Argumente für die Schwellwerte vom weiter unten beschriebenen TKmon-Servicekatalogeintrag.

# vi /etc/nagios-plugins/config/check_neon_temp.cfg

Mit folgendem Inhalt erstellen:

define command{
command_name check_neon
command_line /usr/lib/nagios/plugins/check_neon.py -H $HOSTADDRESS$ -w $ARG1$ -c $ARG2$ -x $ARG3$ -d $ARG4$
}

Servicekatalogeintrag erstellen

Im Verzeichnis /etc/tkmon/service-catalogues/ wird abschließend das folgende Json-File erstellt:

# vi /etc/tkmon/service-catalogues/services-neon-temp.json

Kopieren Sie folgenden Inhalt in das neue File und speichern Sie es ab.

{
        "type": "service",
        "version": "1.1",
        "description": "Services catalogue for Sensormetrix Neon 110 temperature and humidity sensor",
        "data": [

{
        "service_description": "check-neon-temp",
        "display_name": "Check-Neon110-Temperature-Humidity",
        "check_command": {
                "command_name": "check_neon",
                "arguments": [
	        {
                        "label": "Warning threshold",
                        "description": {
                                "en_US": "Insert warning threshold",
                                "de_DE": "Warnschwellwert angeben"
                        },
                        "validation": "string",
                        "argument": "-w",
                        "value": ""
                },
                {
                        "label": "Critical threshold",
                        "description": {
                                "en_US": "Insert critical value",
                                "de_DE": "Kritischen Schwellwert angeben"
                        },
                        "validation": "string",
                        "argument": "-c",
                        "value": ""
                },
		{
                        "label": "Humidity Warning threshold",
                        "description": {
                                "en_US": "Insert warning humidity threshold",
                                "de_DE": "Luftfeuchtigkeitswarnschwellwert angeben"
                        },
                        "validation": "string",
                        "argument": "-x",
                        "value": ""
                },
                {
                        "label": "Humidity Critical threshold",
                        "description": {
                                "en_US": "Insert critical humidity value",
                                "de_DE": "Kritischen Luftfeuchtigkeitsschwellwert angeben"
                        },
                        "validation": "string",
                        "argument": "-d",
                        "value": ""
                }
                ]
        },
        "_catalogue_attributes": {
                "tags": ["Neon110 Temperature Humidity Sensor"],
                "name": "check-neon-temp",
                "label": "Check-Neon110-Temperature-Humidity",
                "description": {
                        "en_US": "Checks the temperature and humidity with a Sensormetrix Neon110 Sensor",
                        "de_DE": "Überprüft die Temperatur und Luftfeuchtigkeit mithilfe eines Sensormetrix Neon110 Sensor"
                },
                "defined": true,
                "defined_in": "/etc/nagios-plugins/config/check_neon.cfg",
                "doc": {
                        "en_US": [
                                "<h4>Neon110 Temperature Humidity Sensor</h4>",
                                "<p>Using this plugin, the temperature and humidity",
                                "can be monitored with Nagios or Icinga using the Sensormetrix Neon110 Sensor.</p>"
                        ],
                        "de_DE": [
                                "<h4>Neon110 Temperature Humidity Sensor</h4>",
                                "<p>Mit diesem Plugin kann die Temperatur und Luftfeuchtigkeit",
                                "mithilfe des Sensormetrix Neon110 Sensors mit Nagios oder Icinga überwacht werden.</p>"
                        ]
                },
                "tk_notify": false,
                "tk_notify_default": false
        }
}

        ]
}

Weitere Informationen

  1. nagiosplugin 1.2.3 (pypi.python.org)
  2. nagiosplugin 1.2.4 (pypi.python.org)


Foto Thomas Niedermeier.jpg

Autor: Thomas Niedermeier

Thomas Niedermeier, Abteilung Communications / Knowledge Transfer bei Thomas-Krenn, absolvierte an der Hochschule Deggendorf sein Studium zum Bachelor Wirtschaftsinformatik. Seit 2013 ist Thomas bei Thomas-Krenn beschäftigt und kümmert sich hier vor allem um das TKwiki. Er ist ein begeisterungsfähiger, technisch interessierter Linux und Mac Nutzer, fährt im Winter gerne Ski und geht im Sommer gern ins Schwimmbad.


Das könnte Sie auch interessieren

Call-Home-Service FAQs
Call-Home-Service mit Icinga oder Nagios nutzen
TKmon Servicechecks für Windows Hosts