Benutzer-Werkzeuge

Webseiten-Werkzeuge


monitoringunipager

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
Letzte Überarbeitung Beide Seiten der Revision
monitoringunipager [2018/02/19 10:45]
dh3wr Added Python2 Section
monitoringunipager [2019/09/26 16:26]
admin
Zeile 1: Zeile 1:
-====== Monitoring of Unipager Transmitters on the unipager ​itself ======+====== Monitoring of Unipager Transmitters on the Unipager ​itself ====== 
 +===== Overview ===== 
 + 
 +There are three variantes of Nagios plugins available. 
 +  * Solution with JSON Status output of Unipager directly (since Version 1.0.0) 
 +  * Websocket based with C++ programm 
 +  * Websocket based with Python programm 
 + 
 +Also Daniel Dibbets DL6FZ provided a Template for Zabbix. See below for more info. 
 + 
 +If you have already Unipager V 1.0.0 or newer installed, the JSON output solution is highly recommended due to performance issues. 
 + 
 +===== Up-to-date Solution with JSON Output ===== 
 +This approach uses the same ''​check_http_json''​ Nagios plugin as  [[monitoringnagios|here]]. For further information on installation refere to this site. No ''​nagios-nrpe-server''​ is needed (although it makes sense to use it for temperature monitoring, disk space, etc.) 
 + 
 +Add to your ''​commands.cfg''​ the following lines: 
 +<​file>​ 
 +# '​check_unipager_connected'​ command definition 
 +define command{ 
 +        command_name ​   check_unipager_connected 
 +        command_line ​   /​usr/​lib/​nagios/​plugins/​check_http_json -H '​$HOSTNAME$'​ -P $ARG1$ -p status -Q "​connected,​True"​ 
 +
 + 
 +# '​check_unipager_queue'​ command definition 
 +define command{ 
 +        command_name ​   check_unipager_queue 
 +        command_line ​   /​usr/​lib/​nagios/​plugins/​check_http_json -H '​$HOSTNAME$'​ -P $ARG1$ -p status -w queue,​$ARG2$ -c queue,​$ARG3$ 
 +
 +</​file>​ 
 + 
 +  * ARG1: Port of the HTTP Server of Unipager, default is ''​8073''​ 
 +  * ARG2: Number of POCSAG transmissions in queue to be exceeded for status ''​warning''​ 
 +  * ARG3: Number of POCSAG transmission in queue to be exceeded for status ''​critical''​ 
 + 
 +Create a service description for the new commands: 
 +<​file>​ 
 +# Define a service to check if unipager is connected to a Node 
 +define service{ 
 +        use                             ​generic-service-rwthafu 
 +        host_name ​                      ​c9000.db0sda.ampr.org 
 +        service_description ​            ​UniPager Connection to DAPNET Core 
 +        check_command ​                  ​check_unipager_connected!8073 
 +        } 
 + 
 +# Define a service to check if unipager queue is too full 
 +define service{ 
 +        use                             ​generic-service-rwthafu 
 +        host_name ​                      ​c9000.db0sda.ampr.org 
 +        service_description ​            ​UniPager Queue 
 +        check_command ​                  ​check_unipager_queue!8073!100!150 
 +        } 
 +</​file>​ 
 + 
 +The result should be like this: 
 +{{ ::​monitoring:​nagios_json_connection_and_queue.png?​direct&​800 |}} 
 + 
 +===== Websocket Solution ===== 
 +{{:​icons:​warning.png?​direct |}}{{ :​icons:​warning.png?​direct|}}The websocket methods are superseeded by the JSON method. Please use the new one. The following documentation is for historical reasons only. 
 Ein entsprechendes Plugin für die Websocket-Schnittstelle kann unter [[https://​github.com/​rwth-afu/​UniPagerNagios|https://​github.com/​rwth-afu/​UniPagerNagios]] heruntergeladen werden. Es gibt 2 Varianten: Ein entsprechendes Plugin für die Websocket-Schnittstelle kann unter [[https://​github.com/​rwth-afu/​UniPagerNagios|https://​github.com/​rwth-afu/​UniPagerNagios]] heruntergeladen werden. Es gibt 2 Varianten:
   * C++ Version (Viele Abhängigkeiten)   * C++ Version (Viele Abhängigkeiten)
Zeile 10: Zeile 68:
 <​code>​git clone https://​github.com/​rwth-afu/​UniPagerNagios.git</​code>​. <​code>​git clone https://​github.com/​rwth-afu/​UniPagerNagios.git</​code>​.
  
-===== C++-Version ​=====+==== C++-Version ====
 Mit Mit
 <​code>​ <​code>​
Zeile 27: Zeile 85:
 </​code>​ </​code>​
  
-===== Pyhton2-Version ​===== +==== Pyhton2-Version ==== 
-FIXME+There is in the same Git-repository a pyhton2 version to do the same. You can find the code in ''​python/​check_unipager''​ . The setup is almost the same as for the C++ version. As this method is overseeded by the JSON approach, there is no further documentation here for the moment.
  
-===== Generelle Einstellungen ​===== +==== Generelle Einstellungen ​für NRPE ==== 
-Die Datei ///​etc/​nagios/​nrpe.cfg// entsprechen anpassen, insbesondere:​+Die Datei ''​/​etc/​nagios/​nrpe.cfg'' ​entsprechen anpassen, insbesondere:​
 <​code>​allowed_hosts=127.0.0.1,​44.225.x.y</​code>​ <​code>​allowed_hosts=127.0.0.1,​44.225.x.y</​code>​
  
-Die Datei ///​etc/​nagios/​nrpe.d/​check_unipager.cfg// erstellen mit Inhalt+Die Datei ''​/​etc/​nagios/​nrpe.d/​check_unipager.cfg'' ​erstellen mit Inhalt
 <​code>​sudo nano /​etc/​nagios/​nrpe.d/​check_unipager.cfg</​code>​ <​code>​sudo nano /​etc/​nagios/​nrpe.d/​check_unipager.cfg</​code>​
 <​file>​command[check_unipager]=/​usr/​lib/​nagios/​plugins/​check_unipager -H localhost</​file>​ <​file>​command[check_unipager]=/​usr/​lib/​nagios/​plugins/​check_unipager -H localhost</​file>​
  
-ACHTUNG: Nur bei Zugriff von //localhost// aus braucht man ab der Version 0.7.1 von [[unipager|UniPager]] kein Passwort.+ACHTUNG: Nur bei Zugriff von ''​localhost'' ​aus braucht man ab der Version 0.7.1 von [[unipager|UniPager]] kein Passwort.
  
 Dann den nagios-nrpe-server neu starten: Dann den nagios-nrpe-server neu starten:
 <​code>​service nagios-nrpe-server restart</​code>​ <​code>​service nagios-nrpe-server restart</​code>​
  
-Auf dem Haupt-Nagios-Server kann man dann mit den NRPE-Plugin den Status abfragen. Dazu erstellt man eine Datei in ///​etc/​nagios3/​conf.d// mit z.B. dem Hostnamen ​//c9000.db0sda.ampr.org.cfg// und dem Inhalt+Auf dem Haupt-Nagios-Server kann man dann mit den NRPE-Plugin den Status abfragen. Dazu erstellt man eine Datei in ''​/​etc/​nagios3/​conf.d'' ​mit z.B. dem Hostnamen''​c9000.db0sda.ampr.org.cfg'' ​und dem Inhalt
 <​file>​ <​file>​
 define host{ define host{
Zeile 66: Zeile 124:
  
 Die hostgroup, host_name, alias und IP müssen natürlich angepasst werden. Einmal nagios neustarten und schon wird der Status überwacht. Die hostgroup, host_name, alias und IP müssen natürlich angepasst werden. Einmal nagios neustarten und schon wird der Status überwacht.
 +
 +===== Zabbix Template for Unipager =====
 +Daniel Dibbets DL6FZ provided a template for Zabbix to monitor the unipager program.
 +
 +6 Items are observed:
 +  * Connected
 +  * Master
 +  * Queue
 +  * Version
 +  * Calls RX
 +  * Calls TX
 +
 +3 Triggers are integrated:
 +  * Not Connected
 +  * Queue > 500
 +  * Queue > 1000
 +
 +Data is gathered from Status JSON (http://​{HOST.NAME}:​8073/​status)
 +
 +Zabbix will build history and delta information concerning the numberical values.
monitoringunipager.txt · Zuletzt geändert: 2019/09/26 16:37 von dh3wr