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
Supervisor process control system for UNIX

Supervisor Supervisor is a client/server system that allows its users to control a number of processes on UNIX-like operating systems. Supported Platf

Supervisor 7.6k Dec 31, 2022
Get Response Of Container Deployment Kube with python

get-response-of-container-deployment-kube 概要 get-response-of-container-deployment-kube は、例えばエッジコンピューティング環境のコンテナデプロイメントシステムにおいて、デプロイ元の端末がデプロイ先のコンテナデプロイ

Latona, Inc. 3 Nov 05, 2021
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
Tencent Yun tools with python

Tencent_Yun_tools 使用 python3.9 + 腾讯云 AccessKey 利用工具 使用之前请先填写config.ini配置文件 Usage python3 Tencent_rce.py -h Scanner python3 Tencent_rce.py -s 生成CSV

<img src="> 13 Dec 20, 2022
Automate SSH in python easily!

RedExpect RedExpect makes automating remote machines over SSH very easy to do and is very fast in doing exactly what you ask of it. Based on ssh2-pyth

Red_M 19 Dec 17, 2022
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
Oncall is a calendar tool designed for scheduling and managing on-call shifts. It can be used as source of dynamic ownership info for paging systems like http://iris.claims.

Oncall See admin docs for information on how to run and manage Oncall. Development setup Prerequisites Debian/Ubuntu - sudo apt-get install libsasl2-d

LinkedIn 928 Dec 22, 2022
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
Daemon to ban hosts that cause multiple authentication errors

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

Fail2Ban 7.8k Jan 09, 2023
Bugbane - Application security tools for CI/CD pipeline

BugBane Набор утилит для аудита безопасности приложений. Основные принципы и осо

GardaTech 20 Dec 09, 2022
sysctl/sysfs settings on a fly for Kubernetes Cluster. No restarts are required for clusters and nodes.

SysBindings Daemon Little toolkit for control the sysctl/sysfs bindings on Kubernetes Cluster on the fly and without unnecessary restarts of cluster o

Wallarm 19 May 06, 2022
Visual disk-usage analyser for docker images

whaler What? A command-line tool for visually investigating the disk usage of docker images Why? Large images are slow to move and expensive to store.

Treebeard Technologies 194 Sep 01, 2022
This Docker container is build to run on a server an provide an easy to use interface for every student to vote for their councilors

This Docker container is build to run on a server and provide an easy to use interface for every student to vote for their councilors.

Robin Adelwarth 7 Nov 23, 2022
The leading native Python SSHv2 protocol library.

Paramiko Paramiko: Python SSH module Copyright: Copyright (c) 2009 Robey Pointer 8.1k Jan 04, 2023

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
Let's Git - Version Control & Open Source Homework

Let's Git - Version Control & Open Source Homework Welcome to this homework for our MOOC: Let's Git! We hope you will learn a lot and have fun working

1 Dec 05, 2021
Tools and Docker images to make a fast Ruby on Rails development environment

Tools and Docker images to make a fast Ruby on Rails development environment. With the production templates, moving from development to production will be seamless.

1 Nov 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
This projects provides the documentation and the automation(code) for the Oracle EMEA WLA COA Demo UseCase.

COA DevOps Training UseCase This projects provides the documentation and the automation(code) for the Oracle EMEA WLA COA Demo UseCase. Demo environme

Cosmin Tudor 1 Jan 28, 2022
Simple ssh overlay for easy, remote server management written in Python GTK with paramiko

Simple "ssh" overlay for easy, remote server management written in Python GTK with paramiko

kłapouch 3 May 01, 2022