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
A little script and trick to make your heroku app run forever without being concerned about dyno hours.

A little script and trick to make your heroku app run forever without being concerned about dyno hours.

Tiararose Biezetta 152 Dec 25, 2022
HB Case Study

HB Case Study Envoy Proxy It is a modern Layer7(App) and Layer3(TCP) proxy Incredibly modernized version of reverse proxies like NGINX, HAProxy It is

Ilker Ispir 1 Oct 22, 2021
Rundeck / Grafana / Prometheus / Rundeck Exporter integration demo

Rundeck / Prometheus / Grafana integration demo via Rundeck Exporter This is a demo environment that shows how to monitor a Rundeck instance using Run

Reiner 4 Oct 14, 2022
Python job scheduling for humans.

schedule Python job scheduling for humans. Run Python functions (or any other callable) periodically using a friendly syntax. A simple to use API for

Dan Bader 10.4k Jan 02, 2023
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
Ansible for DevOps examples.

Ansible for DevOps Examples This repository contains Ansible examples developed to support different sections of Ansible for DevOps, a book on Ansible

Jeff Geerling 6.6k Jan 08, 2023
Rancher Kubernetes API compatible with RKE, RKE2 and maybe others?

kctl Rancher Kubernetes API compatible with RKE, RKE2 and maybe others? Documentation is WIP. Quickstart pip install --upgrade kctl Usage from lazycls

1 Dec 02, 2021
Manage your azure VM easily!

Azure-manager Manage your VM in Azure using cookies.

Team 1injex 129 Dec 17, 2022
Learning and experimenting with Kubernetes

Kubernetes Experiments This repository contains code that I'm using to learn and experiment with Kubernetes. 1. Environment setup minikube kubectl doc

Richard To 10 Dec 02, 2022
CI repo for building Skia as a shared library

Automated Skia builds This repo is dedicated to building Skia binaries for use in Skija. Prebuilt binaries Prebuilt binaries can be found in releases.

Humble UI 20 Jan 06, 2023
Python utility function to communicate with a subprocess using iterables: for when data is too big to fit in memory and has to be streamed

iterable-subprocess Python utility function to communicate with a subprocess using iterables: for when data is too big to fit in memory and has to be

Department for International Trade 5 Jul 10, 2022
Manage your SSH like a boss.

--- storm is a command line tool to manage your ssh connections. features adding, editing, deleting, listing, searching across your SSHConfig. command

Emre Yılmaz 3.9k Jan 03, 2023
Copy a Kubernetes pod and run commands in its environment

copypod Utility for copying a running Kubernetes pod so you can run commands in a copy of its environment, without worrying about it the pod potential

Memrise 4 Apr 08, 2022
Ralph is the CMDB / Asset Management system for data center and back office hardware.

Ralph Ralph is full-featured Asset Management, DCIM and CMDB system for data centers and back offices. Features: keep track of assets purchases and th

Allegro Tech 1.9k Jan 01, 2023
Helperpod - A CLI tool to run a Kubernetes utility pod with pre-installed tools that can be used for debugging/testing purposes inside a Kubernetes cluster

Helperpod is a CLI tool to run a Kubernetes utility pod with pre-installed tools that can be used for debugging/testing purposes inside a Kubernetes cluster.

Atakan Tatlı 2 Feb 05, 2022
ServerStatus 云探针、多服务器探针、云监控、多服务器云监控

ServerStatus 云探针、多服务器探针、云监控、多服务器云监控 基于ServerStatus-Hotaru膜改版的套娃膜改版(实际上本README也是抄它的)。 主要将client改为通过http提交数据,以及将服务端换成了php以便减小部署成本(PHP is the best!) 默认图片

shirakun 16 Apr 14, 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
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
This is a tool to develop, build and test PHP extensions in Docker containers.

Develop, Build and Test PHP Extensions This is a tool to develop, build and test PHP extensions in Docker containers. Installation Clone this reposito

Suora GmbH 10 Oct 22, 2022
This project shows how to serve an TF based image classification model as a web service with TFServing, Docker, and Kubernetes(GKE).

Deploying ML models with CPU based TFServing, Docker, and Kubernetes By: Chansung Park and Sayak Paul This project shows how to serve a TensorFlow ima

Chansung Park 104 Dec 28, 2022