Nagios status monitor for your desktop.

Overview

Nagstamon

Nagstamon is a status monitor for the desktop. It connects to multiple Nagios, Icinga, Opsview, Centreon, Op5 Monitor/Ninja, Checkmk Multisite, Thruk and monitos monitoring servers. Experimental support is provided for Zabbix, Zenoss and Livestatus monitors. It resides in systray, as a floating statusbar or fullscreen at the desktop showing a brief summary of critical, warning, unknown, unreachable and down hosts and services. It pops up a detailed status overview when being touched by the mouse pointer. Connections to displayed hosts and services are easily established by context menu via SSH, RDP, VNC or any self defined actions. Users can be notified by sound. Hosts and services can be filtered by category and regular expressions.

It is inspired by Nagios Checker for Firefox – just without an open Firefox window all the time to monitor the network.

Nagstamon is released under the GPLv2 and free to use and modify.

Nagstamon is written in Python 3 and uses the Qt 5 GUI toolkit which makes it very portable. It has been tested successfully on latest Ubuntu, Debian, Windows, NetBSD, OpenBSD, FreeBSD and MacOS X. It works with GNOME, KDE, Windows and macOS desktops.

Successfully tested monitors include:

  • Nagios 1.x, 2.x, 3.x and 4.x
  • Icinga 1.2+ and 2.3+
  • Opsview 5+
  • Centreon 2.3+
  • Op5 Monitor 7+
  • Checkmk/Multisite 1.1.10+
  • Thruk 1.5.0+
  • monitos 4.4+
  • Livestatus – experimental
  • Zabbix 2.2+ – experimental
  • Zenoss – experimental
  • monitos 3 - experimental
  • SNAG-View3 - experimental
  • Prometheus - experimental
  • Alertmanager - experimental

See https://nagstamon.ifw-dresden.de for further information.

Comments
  • Initial implementation for IcingaWeb2 server class

    Initial implementation for IcingaWeb2 server class

    The IcingaWeb2 REST API is not (fully) implemented yet, so currently this implementation is limited to "view only". Once https://dev.icinga.org/issues/9606 and/or https://dev.icinga.org/issues/7300 get implemented, the action part(schedule downtime, acknowledge, etc.) can be implemented in this class.

    Most changes are in the new server class file Nagstamon/Servers/IcingaWeb2.py.

    I've also changed Nagstamon/QUI/init.py so that it only the context menu elements are shown that are set in server.MENU_ACTIONS. This might need checking if the variable is set correctly in all other server classes.

    opened by ghost 68
  • Nagstamon  3.8 /3.9 and  Centreon 22.04.0

    Nagstamon 3.8 /3.9 and Centreon 22.04.0

    Hello,

    We have a problem in the interaction of Nagstamon 3.8 or 3.9 and the new Centreon version 22.04.0. Nagstamom only shows the message "Empty host XML result" We have already tried everything possible to solve this problem, but we are not getting any further. Jumping from Nagstamon to Monitor, Host etc. works without errors. Does anyone have an idea how we can solve this problem or is the Centreon version too new and everything is different there? We would be very grateful for any tips!

    opened by RAICO-IT 62
  • Error on critical.wav resource

    Error on critical.wav resource

    It seems that the critical.wav is sometimes missing in the resources directory.

    Screenshot 2019-06-11 at 10 19 22

    Solution suggestion always copy the default in place when resource is not found.

    opened by mariusvw 51
  • ImportError: No module named 'nagstacli'

    ImportError: No module named 'nagstacli'

    Hi,

    I installed 2.0-beta-20160513 and when I try to run nagstamon, I get this:

    Traceback (most recent call last):
      File "/usr/bin/nagstamon", line 24, in <module>
        import nagstacli
    ImportError: No module named 'nagstacli'
    
    opened by micah 48
  • Nagstamon and centreon 2.7

    Nagstamon and centreon 2.7

    Good day, After upgrading my centreon to the version 2.7, Nagstamon stopped working. The issue is linked to some change that centreon made on their website.

    They change the location of 1 XML file -serviceXML.php old location: /include/monitoring/status/Services/xml/broker/serviceXML.php? new location: /include/monitoring/status/Services/xml/serviceXML.php?

    After changing the line 336 in the file Nagstamon\Nagstamon\Server\centreon.py from: nagcgiurl_services = self.monitor_cgi_url + "/include/monitoring/status/Services/" + self.XML_NDO + "/serviceXML.php?" + urllib.urlencode({"num":0, "limit":999, "o":"svcpb", "sort_type":"status", "sid":self.SID}) to: nagcgiurl_services = self.monitor_cgi_url + "/include/monitoring/status/Services/xml/serviceXML.php?" + urllib.urlencode({"num":0, "limit":999, "o":"svcpb", "sort_type":"status", "sid":self.SID}) Nagstamon is working with centreon 2.7

    I hope this information will help you.

    opened by Thiefoumongars 47
  • Direct crash after clicking on OK from Create new server

    Direct crash after clicking on OK from Create new server

    - <Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
    - <System>
      <Provider Name="Application Error" /> 
      <EventID Qualifiers="0">1000</EventID> 
      <Level>2</Level> 
      <Task>100</Task> 
      <Keywords>0x80000000000000</Keywords> 
      <TimeCreated SystemTime="2018-10-24T07:40:29.000000000Z" /> 
      <EventRecordID>76853</EventRecordID> 
      <Channel>Application</Channel> 
      <Computer></Computer> 
      <Security /> 
      </System>
    - <EventData>
      <Data>Nagstamon.exe</Data> 
      <Data>0.0.0.0</Data> 
      <Data>00000000</Data> 
      <Data>ucrtbase.DLL</Data> 
      <Data>10.0.10586.1171</Data> 
      <Data>59ae5010</Data> 
      <Data>40000015</Data> 
      <Data>00000000000699df</Data> 
      <Data>10ac</Data> 
      <Data>01d46b6cbc9bf015</Data> 
      <Data>C:\temp\Nagstamon-3.0.1-win64\Nagstamon.exe</Data> 
      <Data>C:\windows\system32\ucrtbase.DLL</Data> 
      <Data>13f5f823-d760-11e8-863c-d8d385764f4d</Data> 
      </EventData>
      </Event>
    
    opened by bphd 44
  • Nagstamon crashes when sorting by time

    Nagstamon crashes when sorting by time

    I am using nagstamon on Windows 10 x64 machine. I have nagstamon 2.1.0 version installed, but issue is also reproducible at nagstamon 2.0.1.

    Nagstamon crashes when I change default settings of Statusbar details popup: Default sort filed: Status Default sofr order: Descending

    to

    Default sort filed: Duration Default sofr order: Ascending

    Nagstamon runs for aproximately 45 minutes and then it crashes. Please let me know if I can provide more info (logs, dumps, etc.) and where to find this info.

    opened by FeatherBoy 38
  • KDE 5.21

    KDE 5.21

    Hello, I'm on Archlinux last update: nagstamon 3.4.1-2 plasma-desktop 5.21.0-2 linux 5.10.16.arch1-1

    Since the plasma update when I'm launching Nagstamon the widget appears .5 seconds and disappear, application is still running and not crashing. Using X, it works on Wayland

    opened by sachaz 33
  • Nagstamon2 not 'always on top'

    Nagstamon2 not 'always on top'

    I have issues with the new nagstamon build often falling behind other windows. Sometimes it can be rectified by just re-gaining focus on nagstamon, other times I have to restart the application.

    Using version Nagstamon-2.0-alpha-20160307-win64 on Windows 7

    opened by alekksi 33
  • Adding a server crashes Nagstamon, probably keystore problems

    Adding a server crashes Nagstamon, probably keystore problems

    As soon as I click OK after adding an op5 Monitor server, the application crashes. This is 1.0 on Windows, against an op5 Monitor 6.3 machine.

    If I kill the server add dialog that pops up on first start, enable debug mode, and then add the server, no debug log is created, and Nagstamon still crashes.

    Can I debug this in some other way?

    opened by fnordpojk 33
  • nagstamon 2.0 crashes with dbus exception

    nagstamon 2.0 crashes with dbus exception

    nagstamon 2.0 crashes after a few minutes running. this is what I get if I start it via my terminal:

    $ nagstamon 
    QLayout: Attempting to add QLayout "" to StatusWindow "", which already has a layout
    QLayout: Attempting to add QLayout "" to StatusWindow "", which already has a layout
    QLayout: Attempting to add QLayout "" to StatusWindow "", which already has a layout
    QLayout: Attempting to add QLayout "" to StatusWindow "", which already has a layout
    QLayout: Attempting to add QLayout "" to StatusWindow "", which already has a layout
    QLayout: Attempting to add QLayout "" to StatusWindow "", which already has a layout
    QLayout: Attempting to add QLayout "" to StatusWindow "", which already has a layout
    /usr/lib/python3/dist-packages/urllib3/connectionpool.py:794: InsecureRequestWarning: Unverified HTTPS request is being made. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.org/en/latest/security.html
      InsecureRequestWarning)
    Traceback (most recent call last):
      File "/usr/lib/python3/dist-packages/Nagstamon/QUI/__init__.py", line 1836, in desktop_notification
        dbus_connection.show(AppInfo.NAME, message)
      File "/usr/lib/python3/dist-packages/Nagstamon/QUI/__init__.py", line 6112, in show
        self.timeout)
      File "/usr/lib/python3/dist-packages/dbus/proxies.py", line 145, in __call__
        **keywords)
      File "/usr/lib/python3/dist-packages/dbus/connection.py", line 651, in call_blocking
        message, timeout)
    dbus.exceptions.DBusException: org.freedesktop.DBus.Error.ServiceUnknown: The name :1.370 was not provided by any .service files
    Aborted
    

    this happens on Linux Mint 18 MATE Edition

    $ inxi -Fxz
    System:    Host: noname Kernel: 4.7.4-040704-generic x86_64 (64 bit gcc: 6.2.0)
               Desktop: MATE 1.14.1 (Gtk 3.18.9-1ubuntu3.1) Distro: Linux Mint 18 Sarah
    Machine:   Mobo: Motherboard by ZOTAC model: ZBOX- EN979 v: Rev.00
               Bios: American Megatrends v: B286Z009 date: 06/28/2016
    CPU:       Quad core Intel Core i5-6400T (-MCP-) cache: 6144 KB
               flags: (lm nx sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx) bmips: 17663
               clock speeds: max: 2800 MHz 1: 800 MHz 2: 800 MHz 3: 800 MHz 4: 799 MHz
    Graphics:  Card: NVIDIA GM204M [GeForce GTX 970M] bus-ID: 01:00.0
               Display Server: X.Org 1.18.3 drivers: nvidia (unloaded: fbdev,vesa)
               Resolution: [email protected], [email protected]
               GLX Renderer: GeForce GTX 960/PCIe/SSE2 GLX Version: 4.5.0 NVIDIA 367.44 Direct Rendering: Yes
    Audio:     Card-1 NVIDIA GM204 High Definition Audio Controller driver: snd_hda_intel bus-ID: 01:00.1
               Card-2 Intel Sunrise Point-H HD Audio driver: snd_hda_intel bus-ID: 00:1f.3
               Card-3 Logitech Webcam C200 driver: USB Audio usb-ID: 001-004
               Sound: Advanced Linux Sound Architecture v: k4.7.4-040704-generic
    Network:   Card-1: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller
               driver: r8169 v: 2.3LK-NAPI port: d000 bus-ID: 02:00.0
               IF: enp2s0 state: up speed: 1000 Mbps duplex: full mac: <filter>
               Card-2: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller
               driver: r8169 v: 2.3LK-NAPI port: c000 bus-ID: 03:00.0
               IF: enp3s0 state: down mac: <filter>
               Card-3: Intel Wireless 3165 driver: iwlwifi bus-ID: 04:00.0
               IF: wlp4s0 state: down mac: <filter>
    Drives:    HDD Total Size: 480.1GB (15.5% used) ID-1: /dev/sda model: SAMSUNG_MZ7LM480 size: 480.1GB temp: 0C
    Partition: ID-1: / size: 424G used: 55G (14%) fs: ext4 dev: /dev/dm-1
               ID-2: /boot size: 473M used: 193M (43%) fs: ext2 dev: /dev/sda2
               ID-3: swap-1 size: 17.14GB used: 0.00GB (0%) fs: swap dev: /dev/dm-2
    Sensors:   System Temperatures: cpu: 29.8C mobo: 27.8C gpu: 0.0:47C
               Fan Speeds (in rpm): cpu: N/A
    Info:      Processes: 300 Uptime: 1 day Memory: 5100.2/16013.4MB Init: systemd runlevel: 5 Gcc sys: 5.4.0
               Client: Shell (bash 4.3.421) inxi: 2.2.35 
    
    opened by magenbrot 32
  • [Nagstamon 3.10.1] add filter by poller

    [Nagstamon 3.10.1] add filter by poller

    Hi everyone, that is not really an issue but a feature request.

    i would like to know if we can more filter on nagstamon, like we can filtering on centreon interface. In my case, i would like to filter on a specific poller or hostgroup to see only my hosts and not the others. That's can be possible ?

    Thank you in advance,

    Best regards,

    opened by ASLLR 0
  • crash: AttributeError: 'NoneType' object has no attribute 'find'

    crash: AttributeError: 'NoneType' object has no attribute 'find'

    3.10.1 sometimes (when there's an authentication problem with an already configured source) crashes on start with

    Traceback (most recent call last):
    File "/usr/local/lib/python3.9/site-packages/Nagstamon/QUI/__init__.py", line 4015, in get_status
    status = self.server.GetStatus()
    File "/usr/local/lib/python3.9/site-packages/Nagstamon/Servers/Generic.py", line 897, in GetStatus
    self.init_HTTP()
    File "/usr/local/lib/python3.9/site-packages/Nagstamon/Servers/IcingaWeb2.py", line 107, in init_HTTP
    if not form.find('input', {'name': form_input}) is None:
    AttributeError: 'NoneType' object has no attribute 'find'
    zsh: abort (core dumped)  nagstamon.py
    

    This can be easy fixed by changing line 107 in Nagstamon/Servers/IcingaWeb2.py from

    if not form.find('input', {'name': form_input}) is None:
    

    to

    if form is not None and not form.find('input', {'name': form_input}) is None:
    
    opened by drook 0
  • Nagstamon 3.10.1 doesnt work with Centreon version 21.x

    Nagstamon 3.10.1 doesnt work with Centreon version 21.x

    Hi all, someone solve the problem with Centreon versione 21.x ? Other versions work fine.

    "Unknown Error" is given with the 21.x version as imagine: image

    Can someone help us? Or if the problem is known, can you please give me the link of the thread? Danke

    opened by Leon30071980 4
  • Feature Request - Client Certificate

    Feature Request - Client Certificate

    First of all, thank you for an awsome product.

    We use a CheckMK server that forces the use of client side certificate and only then we are presented with login prompt. Is that feature possible to be implemented?

    opened by nunoseita 2
  • Nagstamon 3.10 and 3.10.1 showing rough numbers and not % from Zabbix

    Nagstamon 3.10 and 3.10.1 showing rough numbers and not % from Zabbix

    Hello,

    I just updated to newest Nagstamon and I get rough float numbers not % of my checks.

    Checked both versions and it seems like it is not working for both. Our monitoring Zabbix 6.0

    Anyone with Zabbix 6.2 can confirm that Nagstamon is working fine with it?

    TIA

    opened by Shwele 11
Releases(latest)
Owner
Henri Wahl
Henri Wahl
🐳 Docker templates for various languages.

Docker Deployment Templates One Stop repository for Docker Compose and Docker Templates for Deployment. Features Python (FastAPI, Flask) Screenshots D

CodeChef-VIT 6 Aug 28, 2022
ZeroMQ bindings for Twisted

Twisted bindings for 0MQ Introduction txZMQ allows to integrate easily ØMQ sockets into Twisted event loop (reactor). txZMQ supports both CPython and

Andrey Smirnov 149 Dec 08, 2022
Changelog CI is a GitHub Action that enables a project to automatically generate changelogs

What is Changelog CI? Changelog CI is a GitHub Action that enables a project to automatically generate changelogs. Changelog CI can be triggered on pu

Maksudul Haque 106 Dec 25, 2022
IP address management (IPAM) and data center infrastructure management (DCIM) tool.

NetBox is an IP address management (IPAM) and data center infrastructure management (DCIM) tool. Initially conceived by the network engineering team a

NetBox Community 11.8k Jan 07, 2023
Asynchronous parallel SSH client library.

parallel-ssh Asynchronous parallel SSH client library. Run SSH commands over many - hundreds/hundreds of thousands - number of servers asynchronously

1.1k Dec 31, 2022
A Python Implementation for Git for learning

A pure Python implementation for Git based on Buliding Git

shidenggui 42 Jul 13, 2022
Bitnami Docker Image for Python using snapshots for the system packages repositories

Python Snapshot packaged by Bitnami What is Python Snapshot? Python is a programming language that lets you work quickly and integrate systems more ef

Bitnami 1 Jan 13, 2022
Create pinned requirements.txt inside a Docker image using pip-tools

Pin your Python dependencies! pin-requirements.py is a script that lets you pin your Python dependencies inside a Docker container. Pinning your depen

4 Aug 18, 2022
Daemon to ban hosts that cause multiple authentication errors

__ _ _ ___ _ / _|__ _(_) |_ ) |__ __ _ _ _ | _/ _` | | |/ /| '_ \/ _` | ' \

Fail2Ban 7.8k Jan 09, 2023
Quick & dirty controller to schedule Kubernetes Jobs later (once)

K8s Jobber Operator Quickly implemented Kubernetes controller to enable scheduling of Jobs at a later time. Usage: To schedule a Job later, Set .spec.

Jukka Väisänen 2 Feb 11, 2022
Build and Push docker image in Python (luigi + docker-py)

Docker build images workflow in Python Since docker hub stopped building images for free accounts, I've been looking for another way to do it. I could

Fabien D. 2 Dec 15, 2022
Ingress patch example by Kustomize

Ingress patch example by Kustomize

Jinu 10 Nov 14, 2022
A collection of beginner-friendly DevOps content

mansion Mansion is just a testing repo for learners to commit into open source project. These are the steps you need to learn: Please do not edit thes

Bryan Lim 62 Nov 30, 2022
Big data on k8s

# microsoft azure # https://docs.microsoft.com/en-us/cli/azure/install-azure-cli az account set --subscription [] az aks get-credentials --resource-g

Luan Moreno 22 Dec 24, 2022
Convenient tool to manage multiple VMs at once using libvirt

Convenient tool to manage multiple VMs at once using libvirt Installing To install the tool and its dependencies: pip install -e . Getting completion

Cedric Bosdonnat 13 Nov 11, 2022
A colony of interacting processes

NColony Infrastructure for running "colonies" of processes. Hacking $ tox Should DTRT -- if it passes, it means unit tests are passing, and 100% cover

23 Apr 04, 2022
Oracle Cloud Infrastructure Object Storage fsspec implementation

Oracle Cloud Infrastructure Object Storage fsspec implementation The Oracle Cloud Infrastructure Object Storage service is an internet-scale, high-per

Oracle 9 Dec 18, 2022
Caboto, the Kubernetes semantic analysis tool

Caboto Caboto, the Kubernetes semantic analysis toolkit. It contains a lightweight Python library for semantic analysis of plain Kubernetes manifests

Michael Schilonka 8 Nov 26, 2022
DC/OS - The Datacenter Operating System

DC/OS - The Datacenter Operating System The easiest way to run microservices, big data, and containers in production. What is DC/OS? Like traditional

DC/OS 2.3k Jan 06, 2023
Cado Response Integration with Amazon GuardDuty using AWS Lambda

Cado Response Integration with Amazon GuardDuty using AWS Lambda This repository contains a simple example where: An alert is triggered by GuardDuty T

Cado Security 4 Mar 02, 2022