Nagios/Icinga/CheckMK Monitoring Module

  • UPDATE: Alle Informationen unter Fluxpunkt Monitoring für STARFACE (Neue URL)


    I'm glad to announce the availability of the first public beta (v.67) of the CheckMK STARFACE module. This module installs a CheckMk monitoring agent (v1.2.0p1) on the STARFACE which listens on TCP port 6556 for incoming queries. Provided you have got a running CheckMK installation (checkout OMD ;)) you can now monitor a large number of STARFACE properties.

    The module comes in two flavors:
    The Basic Version
    [INDENT]This version is free and supports the basic CheckMK checks offered by the official linux agent (v.1.2.0p1). The checks are active as soon as the module is installed and activated. Running check_mk -I <starface host> and check_mk -O on the monitoring host enables monitoring of all available parameters. Please make sure you have a recent version of CheckMK installed.
    The basic version supports monitoring of cpu load, cpu utilization, disk I/O, network traffic, ram utilization and process statistics, including the collection of performance data.[/INDENT]

    The Premium Version
    [INDENT]The premium version requires the purchase of a license code which is bound to the STARFACE hardware ID a unique identifier of each appliance and installation. The premium version supports all checks of the basic version. Additionally it provides the following information to the monitoring host:

    • The STARFACE Appliance Type (e.g. STARFACE light, STARFACE Advanced, STARFACE Pro,...)
    • The serial number of this appliance
    • The hardware ID of this appliance
    • The maximum number of users supported by this appliance
    • The maximum number of connections/calls supported by this appliance
    • The STARFACE version
    • Licensing information such as the owner of this appliance, the license key and the number of licensed users
    • The RAID status including diagnostics information
    • The status of internal security components (Password Check enabled/disabled, Attack Detection enabled/disabled)
    • The number of blacklisted hosts
    • The number of admin users
    • The backup status
    • Asterisk Call/Channel information
    • The number of accounts (total), including active accounts, available accounts, unavailable accounts, ringing accounts
    • Asterisk peer information and statistics
    • ...


    [/INDENT]

    Some of these checks serve an informational purpose (and could allow automatic inventory) while others are security, utilization or hardware status related. For example the number of admin users is usually fixed and a warning could be triggered if it changed. Most users will probably want to monitor the utilization of channels (active calls vs. available lines) or users (registered users vs. supported users). If these numbers approach certain levels hardware might need to be added or additional lines need to be leased.

    Please note that as long as this STARFACE module is not fully supported by the official CheckMK distribution, you will need to make changes to your CheckMK monitoring instance for it to make sense of the data exported by this module. The exported data needs to be turned into a format that CheckMK understands. Each agent section (see example output below) needs to be handled by a check-script in /usr/share/check_mk/checks. These scripts are currently being developed with a small number already being available, you can help writing checks and ask for inclusion in the official distribution.

    An example of the data exported by the premium version:


    For more information on CheckMK visit http://mathias-kettner.de/check_mk.html

    Premium License Purchase
    Until a webshop is set up, a premium license can be ordered by sending an email to starface.module.checkmk.license@fluxpunkt.de (English or German). The price for the premium license is 79,00 Euro (plus tax if applicable).


    UPDATE 07/12/2012 (v77):

    Apart from Bugfixes, v77 adds more documentation and the following checks:

    • STARFACE SIP status (the ability to answer SIP messages)
    • The total number of registered phones/devices
    • The number of phones/devices currently online/connected
    • The number of devices that have changed their IP address since they were registered with the pbx
    • The number of calls during the last 5 minutes
    • Status of registered SIP providers/Line status
    • NTP drift/offset
    • Standard CheckMK RAID status of 3ware Controller (previously not working)

    UPDATE 07/19/2012 (v86):

    • Module now survives restarts of the PBX
    • If the module gets killed by the PBX, a watchdog function now triggers a restart
    • Module is more robust
    • Firewall rules get cleaned up more thoroughly
    • Entering the license code does not require the module instance to be restarted anymore
    • Minor bugfixes

    UPDATE 07/26/2012 (v87):

    • Bugfix: Number of blacklisted hosts incorrect

    UPDATE 01/10/2013 (v90):

    • Bugfix: An empty monitoring host configuration was not interpreted correctly

    UPDATE 05/30/2013 (v109):

    • Support for STARFACE 5.6
  • Hallo,

    ich möchte gerne das Nagios-Script von fwolf testen, kann es aber nicht herunterladen (zu lesen ist nur "Anhänge, die auf Freischaltung warten").

    Habe ich etwas übersehen oder wann/wo kann ich mir das Script (aktuell v77) herunterladen?!

    Ich habe eine Testumgebung mit Starface v5.0.9.20 & Nagios-Server v3.3 und warte schon lange auf eine solche Lösung :D

    Vielen Dank und Gruß, moeppi

  • Hallo moeppi,

    wenn Du mir eine kurze Email an info@fluxpunkt.de schickst, schicke ich dir das Modul zu. Es gibt in Kürze übrigens eine neue Version, die eine unschöne Eigenheit von STARFACE Modulen umgeht -- wenn diese zu lange laufen, werden sie von der Anlage gekillt und nach einem Neustart werden sie nicht automatisch gestartet. Beides ist in Kürze behoben.

  • Hallo zusammen,

    wir möchten das Script von fwolf auf einer STARFACE PRO appliance testen und haben dazu auf unserem Monitoring Server checkmk installiert und das Monitoring Modul in die Starface geladen.
    Der Befehl check_mk -II starface schlägt allerdings fehl:
    Host '192.168.2.6': Cannot get data from TCP port 192.168.2.6:6556: timed out

    Unsere main.mk sieht wie folgt aus:

    Code
    all_hosts = ['192.168.2.6|starface']
    inventory_processes_perf = [
            ( ['starface'], ALL_HOSTS, "Asterisk", "~.*bin/asterisk", "root", 1, 1, 1, 1),
            ( ['starface'], ALL_HOSTS, "Java/Openfire", "/usr/lib/jvm/java-sun//bin/java", "daemon", 1, 1, 1, 1),
            ( ['starface'], ALL_HOSTS, "Java/Tomcat", "/usr/lib/jvm/java-sun/bin/java", "root", 1, 1, 1, 1),
            ( ['starface'], ALL_HOSTS, "Java/Watchdog", "~java.*watchdog", "root", 1, 1, 1, 1),
            ( ['starface'], ALL_HOSTS, "PostgreSQL", "postgres:", "postgres", 6, 7, 15, 20),
    ]


    Ergebnisse erhält man jedoch nach ca. 10 Sekunden mit check_mk -d 192.168.6.2 und telnet.

    Haben wir einen Fehler in unserer Config und sind die 10 Sekunden Wartezeit "normal"?

    Danke und viele Grüße, STS IT


  • Host '192.168.2.6': Cannot get data from TCP port 192.168.2.6:6556: timed out

    Ergebnisse erhält man jedoch nach ca. 10 Sekunden mit check_mk -d 192.168.6.2 und telnet.

    Wenn im obigen Text kein Schreibfehler ist, dann ist ein Schreibfehler drin :) 6 und 2 (Host und Subnetz) sind in der IP-Adresse vertauscht.


    Viele Grüße!

  • Hallo,

    funktioniert das Check_MK Monitoring Modul (v90) auch unter der aktuellen Starface Version 5.6.0.9 ? Ich habe das Monitoring-Modul unter Starface erfolgreich importieren und aktivieren können, aber bei der Inventarisierung (via WATO) auf meinem OMD-Monitoring-Host (v1.00, Check_MK 1.2.2p2) bekomme ich nur angezeigt:

    Quote

    Inventory failed for this host:
    Error
    Empty output from agent at TCP port 6556

    Habe ich etwas vergessen (manuelle Port-Freigabe auf Starface nötig?!) oder habe ich etwas übersehen? Ich frage mal an dieser Stelle die Experten, bevor ich Minuten, ach was, Stunden bei der Fehlersuche verliere ;)
    Ach ja, die IP-Adressen von Monitoring-Host und Starface-PBX habe ich mehrfach auf Richtigkeit/Zahlendreher ;) etc. geprüft, das passt alles soweit.

    Edited 3 times, last by moeppi (October 15, 2013 at 4:53 PM).

  • Hallo fwolf,

    vielen Dank! Mit der aktuellen Modul-Version (v109) funktioniert das Monitoring (wieder) :)

    Praktisch wäre es, wenn das Check_MK-Modul künftig mit in die Starface Modul-Library bzw. in den Module-Store aufgenommen würde, damit neue Versionen mit dem Starface-Update-Mechanismus automagisch den Weg auf das System finden. Würde mich freuen ;)

    Beste Grüße, moeppi

    Edited once, last by moeppi (October 16, 2013 at 8:21 PM).

  • Hallo Leute

    Ich habe mir nun für das Modul von fwolf ein Skript "gebastelt", das bei der Professional Variante die SIP-Lines abfragt. Alle Lines müssen "Registered" sein. Wenn eine Leitung das nicht erfüllt, gibt das Nagios Checker Plugin den Wert "CRITICAL" zurück.
    Bei mir habe ich es auf einer Nagios Installation (Version 3.4.1) am Laufen.
    Da ich es mit Perl nicht so habe, habe ich dieses Skript in PHP geschrieben. Dieses Skript kann gerne auch um weitere Tests ergänzt werden. Bei uns sind die SIP-Lines sehr zentral und alles andere läuft ja so stabil ... ;)

    check_starface.zip

    Verbesserungen und Erweiterungen sind natürlich herzlich willkommen.

    Beste Grüsse und viel Erfolg
    Fabian

  • Sehr schön!

    Ich habe ein ähnliches Modul für interne Zwecke geschrieben — wegen Probleme bei der Namensauflösung durch Asterisk brach meine primäre SIP-Leitung zu sipgate manchmal weg. Ein "sip reload" behob das Problem.
    Allerdings ist mein Modul nicht so schön und auch nicht konfigurierbar. CheckSIP gefällt mir gut ;)

  • Sehr schön!

    Ich habe ein ähnliches Modul für interne Zwecke geschrieben — wegen Probleme bei der Namensauflösung durch Asterisk brach meine primäre SIP-Leitung zu sipgate manchmal weg. Ein "sip reload" behob das Problem.
    Allerdings ist mein Modul nicht so schön und auch nicht konfigurierbar. CheckSIP gefällt mir gut ;)


    Hallo,

    um das Thema mal wieder anzusprechen :) gibt es ein solches Modul für die V.6 ?

    Gruß
    Michael

  • Die STARFACE 6 hat vieles dazu bereits eingebaut. Wer das Monitoring-Modul bereits unter 5.8 am Laufen hatte, bei dem wird es auch nach einem Update auf die Version 6 funktionieren. Der Status des Moduls wird zwar "rot", das Modul kann jedoch ohne Einschränkung der Funktionalität gelöscht werden (das Modul jedoch nicht deaktivieren!).

  • Hallo,

    ich habe vor kurzem auf unserer Starface-Appliance einen Upgrade von 5.8.2.6 auf 6.2.0.15 durchgeführt. Leider funktioniert die Basisversion des Check_MK-Modules seitdem nicht mehr.

    Es ist zwar in der Modul-Library und in der der Modulkonfiguration grün markiert, im Log tauchen aber folgende Java-Exceptions auf.
    Wäre sehr dankbar, wenn das Modul auch mit der 6.2.X-Version funktionieren würde !

    Vielen Dank und Gruß
    Thomas


    [2016-06-28 15:43:19,003] ERROR [start] Cause:
    java.lang.IllegalStateException: Unable to instantiate component class de.fluxpunkt.starface.module.monitoring.component.MonitoringComponent
    at de.starface.core.component.StarfaceComponentProvider.load(StarfaceComponentProvider.java:156)
    at de.fluxpunkt.starface.module.monitoring.MonitoringModuleSingleton.<init>(MonitoringModuleSingleton.java:26)
    at de.fluxpunkt.starface.module.monitoring.MonitoringModuleSingleton.getInstance(MonitoringModuleSingleton.java:52)
    at de.fluxpunkt.starface.module.monitoring.ActivateMonitoringModule.execute(ActivateMonitoringModule.java:25)
    at de.vertico.starface.module.core.runtime.executables.JavaFunctionExec.executeImpl(JavaFunctionExec.java:132)
    at de.vertico.starface.module.core.runtime.executables.BaseExec.execute(BaseExec.java:145)
    at de.vertico.starface.module.core.runtime.LoadedModule.invokeFunction(LoadedModule.java:253)
    at de.vertico.starface.module.core.runtime.LoadedFunction.invoke(LoadedFunction.java:89)
    at de.vertico.starface.module.core.runtime.RuntimeEnvironmentImpl.invokeFunction(RuntimeEnvironmentImpl.java:251)
    at de.vertico.starface.module.core.runtime.executables.FunctionCallExec.executeImpl(FunctionCallExec.java:148)
    at de.vertico.starface.module.core.runtime.executables.BaseExec.execute(BaseExec.java:145)
    at de.vertico.starface.module.core.runtime.executables.ContainerExec.executeImpl(ContainerExec.java:96)
    at de.vertico.starface.module.core.runtime.executables.FunctionExec.executeImpl(FunctionExec.java:71)
    at de.vertico.starface.module.core.runtime.executables.BaseExec.execute(BaseExec.java:145)
    at de.vertico.starface.module.core.runtime.ModuleRuntime.callEntryPoint(ModuleRuntime.java:351)
    at de.vertico.starface.module.core.runtime.ModuleRuntime.callEntryPoint(ModuleRuntime.java:531)
    at de.vertico.starface.module.core.ModuleRegistry.callEntryPoint(ModuleRegistry.java:362)
    at de.vertico.starface.module.core.runtime.TimerEntryPointExecutor$CallTimerTask$2$1.run(TimerEntryPointExecutor.java:158)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)
    Caused by: java.lang.reflect.InvocationTargetException
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
    at de.starface.core.component.StarfaceComponentProvider.load(StarfaceComponentProvider.java:150)
    ... 20 more
    Caused by: java.lang.NoSuchMethodError: de.starface.core.component.StarfaceComponentProvider.fetch(Ljava/lang/Class;)Lde/starface/core/component/StarfaceComponent;
    at de.fluxpunkt.starface.module.monitoring.component.RaidControllerManagerDelegate.<init>(RaidControllerManagerDelegate.java:31)
    at de.fluxpunkt.starface.module.monitoring.component.MonitoringComponent.<init>(MonitoringComponent.java:124)
    ... 25 more
    [2016-06-28 15:43:19,008] ERROR [start]
    Root cause:
    java.lang.IllegalStateException: Unable to instantiate component class de.fluxpunkt.starface.module.monitoring.component.MonitoringComponent
    at de.starface.core.component.StarfaceComponentProvider.load(StarfaceComponentProvider.java:156)
    at de.fluxpunkt.starface.module.monitoring.MonitoringModuleSingleton.<init>(MonitoringModuleSingleton.java:26)
    at de.fluxpunkt.starface.module.monitoring.MonitoringModuleSingleton.getInstance(MonitoringModuleSingleton.java:52)
    at de.fluxpunkt.starface.module.monitoring.ActivateMonitoringModule.execute(ActivateMonitoringModule.java:25)
    at de.vertico.starface.module.core.runtime.executables.JavaFunctionExec.executeImpl(JavaFunctionExec.java:132)
    at de.vertico.starface.module.core.runtime.executables.BaseExec.execute(BaseExec.java:145)
    at de.vertico.starface.module.core.runtime.LoadedModule.invokeFunction(LoadedModule.java:253)
    at de.vertico.starface.module.core.runtime.LoadedFunction.invoke(LoadedFunction.java:89)
    at de.vertico.starface.module.core.runtime.RuntimeEnvironmentImpl.invokeFunction(RuntimeEnvironmentImpl.java:251)
    at de.vertico.starface.module.core.runtime.executables.FunctionCallExec.executeImpl(FunctionCallExec.java:148)
    at de.vertico.starface.module.core.runtime.executables.BaseExec.execute(BaseExec.java:145)
    at de.vertico.starface.module.core.runtime.executables.ContainerExec.executeImpl(ContainerExec.java:96)
    at de.vertico.starface.module.core.runtime.executables.FunctionExec.executeImpl(FunctionExec.java:71)
    at de.vertico.starface.module.core.runtime.executables.BaseExec.execute(BaseExec.java:145)
    at de.vertico.starface.module.core.runtime.ModuleRuntime.callEntryPoint(ModuleRuntime.java:351)
    at de.vertico.starface.module.core.runtime.ModuleRuntime.callEntryPoint(ModuleRuntime.java:531)
    at de.vertico.starface.module.core.ModuleRegistry.callEntryPoint(ModuleRegistry.java:362)
    at de.vertico.starface.module.core.runtime.TimerEntryPointExecutor$CallTimerTask$2$1.run(TimerEntryPointExecutor.java:158)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)
    Caused by: java.lang.reflect.InvocationTargetException
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
    at de.starface.core.component.StarfaceComponentProvider.load(StarfaceComponentProvider.java:150)
    ... 20 more
    Caused by: java.lang.NoSuchMethodError: de.starface.core.component.StarfaceComponentProvider.fetch(Ljava/lang/Class;)Lde/starface/core/component/StarfaceComponent;
    at de.fluxpunkt.starface.module.monitoring.component.RaidControllerManagerDelegate.<init>(RaidControllerManagerDelegate.java:31)
    at de.fluxpunkt.starface.module.monitoring.component.MonitoringComponent.<init>(MonitoringComponent.java:124)
    ... 25 more

  • Hallo,

    habe hier eine 6.2.../ und die aktuelle 6.3 - lässt sich das Modul hier "installieren"/nutzen?
    Bei der 6.3 (ist mit der 6.x neuinstalliert worden) kommt eine Fehler nach dem aktivieren des Moduls.

    Dank und Grüße
    Alex

  • Für den Sprung von 5.8 auf 6.3 ist ein aktualisiertes Modul notwendig (und vorhanden), für das allerdings ein neuer Lizenzschlüssel erforderlich ist. Es handelt sich um ein kommerzielles Update, welches für 79 Euro bei uns erworben werden kann. Anfragen bitte unter Angabe des Serverlizenzschlüssels an info@fluxpunkt.de – vielen Dank!

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!