More than 130 check plugins for Icinga and other Nagios-compatible monitoring applications. Each plugin is a standalone command line tool (written in Python) that provides a specific type of check.

Overview

Python-based Monitoring Check Plugins Collection

image

This Enterprise Class Check Plugin Collection offers a package of more than 130 Python-based, Nagios-compatible check plugins for Icinga, Naemon, Nagios, OP5, Shinken, Sensu and other monitoring applications. Each plugin is a stand-alone command line tool that provides a specific type of check. Typically, your monitoring software will run these check plugins to determine the current status of hosts and services on your network.

The check plugins run on

  • Linux - Tested on RHEL 7+, Fedora 30+, Ubuntu Server 16+, Debian 9+, SLES 15+
  • Windows - Tested on Windows 10+ and Windows Server 2019+

All plugins are written in Python and licensed under the UNLICENSE, which is a license with no conditions whatsoever that dedicates works to the public domain. The plugins are fast, reliable and use as few system resources as possible. They uniformly and consistently report the same metrics briefly and precisely on all platforms (for example, always "used" instead of a mixture of "used" and "free"). Automatic detection and Auto-Discovery mechanisms are built-in where possible. Using meaningful default settings, the plugins trigger WARNs and CRITs only where absolutely necessary. In addition they provide information for troubleshooting. We try to avoid dependencies on 3rd party system libraries where possible.

Support, Feedback

The source code is published here without support, but Enterprise Support can be obtained via a Service Contract.

In order to keep improving the Monitoring Plugins and better answer your needs, we would like to ask for your help:

Running the Check Plugins on Linux

Requirements

Install Python 3 (or Python 2, if needed) on the remote host.

Virtual Environment

If you want to use a virtual environment for Python (optional, but recommended), you could create one in the same directory as the check-plugins.

cd /usr/lib64/nagios/plugins

# Python 3
python3 -m venv --system-site-packages monitoring-plugins-venv3

# Python 2
python2 -m virtualenv --system-site-packages monitoring-plugins-venv2

If you prefer to place the virtual environment somewhere else, you can point the MONITORING_PLUGINS_VENV2 or MONITORING_PLUGINS_VENV3 environment variable to your virtual environment. This takes precedence over the virtual environment above.

Caution

Make sure the bin/activate_this.py file is owned by root and not writeable by any other user, as it is executed by the check plugins (where some are executed using sudo).

Installation

Get the monitoring check plugins from our Git repository to your local machine or deployment host, using git clone [email protected]:Linuxfabrik/monitoring-plugins.git, or by downloading the tar.gz using curl:

REPO='linuxfabrik/monitoring-plugins'
curl --output monitoring-plugins.tar.gz https://codeload.github.com/${REPO}/tar.gz/refs/tags/$(curl --silent https://api.github.com/repos/${REPO}/releases/latest | jq -r '.name')

The check plugins require our Python libraries. The libraries are in a separate Git repository, as we also use them in other projects. Use git clone [email protected]:Linuxfabrik/lib.git, or by downloading the tar.gz using curl:

REPO='linuxfabrik/lib'
curl --output lib.tar.gz https://codeload.github.com/${REPO}/tar.gz/refs/tags/$(curl --silent https://api.github.com/repos/${REPO}/releases/latest | jq -r '.name')

Extract:

tar xf lib.tar.gz
tar xf monitoring-plugins.tar.gz

Copy the libraries onto the remote host to /usr/lib64/nagios/plugins/lib, and copy some or all Python check plugins to /usr/lib64/nagios/plugins while removing the Python version suffix, for example by doing the following:

REMOTE_USER=root
REMOTE_HOST=192.0.2.74
PYVER=3
SOURCE_LIBS=/path/to/lib
SOURCE_PLUGINS=/path/to/monitoring-plugins/check-plugins
TARGET_DIR=/usr/lib64/nagios/plugins

ssh $REMOTE_USER@$REMOTE_HOST 'mkdir -p $TARGET_DIR/lib'
scp $SOURCE_LIBS/* $REMOTE_HOST:$TARGET_DIR/lib/
for f in $(find $SOURCE_PLUGINS -maxdepth 1 -type d); do f=$(basename $f); scp $SOURCE_PLUGINS/$f/$f$PYVER $REMOTE_HOST:$TARGET_DIR/$f; done

We try to avoid dependencies on 3rd party OS- or Python-libraries wherever possible. If we need to use additional libraries for various reasons (for example psutil), we stick with official versions. Some plugins use the following 3rd-party python libraries, so the easiest way is to install them as well:

  • BeautifulSoup4
  • lxml
  • mysql.connector
  • psutil

That's it. After that your directory on the remote host should look like this:

/usr/lib64/nagios/plugins/
|-- about-me
|-- disk-smart
|-- ...
|-- lib
|   |-- base2.py
|   |-- base3.py
|   |-- globals2.py
|   |-- ...
|-- ...

Tipp

We also provide an Ansible "monitoring-plugins" role. This role deploys the Linuxfabik Monitoring Plugins and the corresponding Monitoring Plugin Library to /usr/lib64/nagios/plugins/ and /usr/lib64/nagios/plugins/lib respectively, allowing them to be easily executed by a monitoring system.

sudoers

Some check plugins require sudo-permissions to run. To do this, we provide a sudoers file for your operating system in monitoring-plugins/assets/sudoers, for example CentOS8.sudoers. You need to place this file in /etc/sudoers.d/ on the client.

Note

We are always using the path /usr/lib64/nagios/plugins/ on all Linux OS, even if nagios-plugins-all installs itself to /usr/lib/nagios/plugins/ there. This is because adding a command with sudo in Icinga Director, one needs to use the full path of the plugin. See the following GitHub issue.

Upgrade

  • Overwrite /usr/lib64/nagios/plugins/lib with the new libraries.
  • Overwrite /usr/lib64/nagios/plugins with the new plugins.
  • Copy the new sudoers file to /etc/sudoers.d/
  • Delete all SQLite database files (*.db) in /tmp.

Running the Check Plugins on Windows

Installation

Simply download the latest zip file containing all plugins from https://download.linuxfabrik.ch/monitoring-plugins/windows/latest.zip.

Upgrade

Simply download the latest zip file containing all plugins from https://download.linuxfabrik.ch/monitoring-plugins/windows/latest.zip and overwrite your installation directory.

Check Plugin Poster

See most of our check plugins at a glance on an Icinga server:

image

If you zoom in, for example on CPU Usage:

image

Feedback from our Community

A few comments on our monitoring plugins:

A well engineered, regularly updated and maintained collection of plugins. Specially focused on Linux servers/VMs and used at large scale by the company developing it.

-- straessler

Hello, I stumbled across your collection and am thrilled! Especially the extensive documentary and the Director Baskets are a dream.

-- Stefan Beining

Human Readable Numbers

Regarding the check plugin output, this is how we convert and append symbols to large numbers in a human-readable format (according to Wikipedia Names of large numbers, and other). The plugins display byte sizes in powers of 2 (KiB, MiB, GiB etc.).

Value Symbol Origin Type Description
1000^1 K Number Thousand
1000^2 M SI Symbol Number Million ^1^, Million ^2^
1000^3 G SI Symbol Number Milliard ^1^, Billion ^2^
1000^4 T SI Symbol Number Billion ^1^, Trillion ^2^
1000^5 P SI Symbol Number Billiard ^1^, Quadrillion ^2^
1000^6 E SI Symbol Number Trillion ^1^, Quintillion ^2^
1000^7 Z SI Symbol Number Trilliard ^1^, Sextillion ^2^
1000^8 Y SI Symbol Number Quadrillion ^1^, Septillion ^2^
1024^0 B Bytes Bytes
1024^1 KiB ISQ Symbol Bytes Kibibytes
1024^2 MiB ISQ Symbol Bytes Mebibytes
1024^3 GiB ISQ Symbol Bytes Gibibytes
1024^4 TiB ISQ Symbol Bytes Tebibytes
1024^5 PiB ISQ Symbol Bytes Pebibytes
1024^6 EiB ISQ Symbol Bytes Exbibytes
1024^7 ZiB ISQ Symbol Bytes Zebibytes
1024^8 YiB ISQ Symbol Bytes Yobibytes
1000^1 KB Bytes Kilobytes
1000^2 MB Bytes Megabytes
1000^3 GB Bytes Gigabytes
1000^4 TB Bytes Terrabytes
1000^5 PB Bytes Petabytes
1000^6 EB Bytes Exabytes
1000^7 ZB Bytes Zetabytes
1000^8 YB Bytes Yottabytes
1000^1 Kbps Bits per Second Kilobits
1000^2 Mbps Bits per Second Megabits
1000^3 Gbps Bits per Second Gigabits
1000^4 Tbps Bits per Second Terrabits
1000^5 Pbps Bits per Second Petabits
1000^6 Ebps Bits per Second Exabits
1000^7 Zbps Bits per Second Zetabits
1000^8 Ybps Bits per Second Yottabits
1..59 s Time Seconds
60 m Time Minutes
60*60 h Time Hours
60*60*24 D Time Days
60*60*24*7 W Time Weeks
60*60*24*30 M Time Months
60*60*24*365 Y Time Years
  • 1: Traditional European (Peletier, long scale)
  • 2: US, Canada and modern British (short scale)

Threshold and Ranges

If a check supports ranges, they can be used as follows:

  • Simple value: A range from 0 up to and including the value
  • A "Range" is the same as on nagios-plugins.org: ... defined as a start and end point (inclusive) on a numeric scale (possibly negative or positive infinity)., in the format start:end
  • Empty value after :: positive infinity
  • ~: negative infinity
  • @: if range starts with @, then alert if inside this range (including endpoints)

Examples:

-w, -c OK if result is WARN/CRIT if
10 in (0..10) not in (0..10)
-10 in (-10..0) not in (-10..0)
10: in (10..inf) not in (10..inf)
: in (0..inf) not in (0..inf)
~:10 in (-inf..10) not in (-inf..10)
10:20 in (10..20) not in (10..20)
@10:20 not in (10..20) in 10..20
@~:20 not in (-inf..20) in (-inf..20)
@ not in (0..inf) in (0..inf)

Command, Parameters and Arguments

Shell commands like ./file-age --filename='/tmp/*' have two basic parts:

  • Command name of the program to run (./file-age). May be followed by one or more options, which adjust the behavior of the command or what it will do.
  • Options/Parameters normally start with one or two dashes to distinguish them from arguments (parameter --filename, value '/tmp/*'). They adjust the behavior of the command. Parameters may be short (-w) or long (--warning). We prefer and often offer only the long version.

Many shell commands may also be followed by one or more arguments, which often indicate a target that the command should operate upon (useradd linus for example) . This does not apply to the check-plugins.

To avoid problems when passing parameter values that start with a -, the command line call must look like this:

  • Long parameters: ./file-age --warning=-60:3600 (use --param=value instead of --param value).
  • Short parameters: ./file-age -w-60:3600 (so simply not putting any space nor escaping it in any special way).

Python 3 vs Python 2

All check plugins are available for Python 3.6+, and most of them also for Python 2.7. The Python 2 check plugins have the suffix "2" (for example cpu-usage2), the Python 3 plugins have the suffix "3" (for example cpu-usage3).

The Python 3-based check plugins use #!/usr/bin/env python3, while the Python 2-based check plugins use #!/usr/bin/env python2 explicitly.

We stopped maintaining the Python 2-based plugins on 2021-12-31.

Icinga Director

For a single Plugin

For each check, we provide an Icinga Director Basket that contains at least the Command definition and a matching Service Template (for example, check-plugins/cpu-usage/icingaweb2-module-director/cpu-usage.json). Import this via the WebGUI using Icinga Director > Configuration Baskets > Upload, select the latest entry in the Snapshots tab and restore it.

Alternatively, you can manually configure the plugin as follows.

Create a command for "cpu-usage" in Icinga Director > Commands > Commands:

  • Click "+Add", choose Command type: Plugin Check Command
  • Command name: cmd-check-cpu-usage
  • Command: /usr/lib64/nagios/plugins/cpu-usage
  • Timeout: set it according to hints in the check's README (usually 10 seconds)
  • Click the "Add" button

Tab "Arguments":

  • Run /usr/lib64/nagios/plugins/cpu-usage --help to get a list of all arguments.
  • Create those you want to be customizable:
    • Argument name --always-ok, Value type: String, Condition (set_if): $cpu_usage_always_ok$
    • Argument name --count, Value type: String, Value: $cpu_usage_count$
    • Argument name --critical, Value type: String, Value: `$cpu_usage_critical$
    • Argument name --warning, Value type: String, Value: `$cpu_usage_warning$

Tab "Fields":

  • Label "CPU Usage: Count", Field name "cpu_usage_count", Mandatory "n"
  • Label "CPU Usage: Critical", Field name "cpu_usage_critical", Mandatory "n"
  • Label "CPU Usage: Warning", Field name "cpu_usage_warning", Mandatory "n"

Now use this command within a Service Template, a Service Set and/or a Single Service.

Linuxfabrik's Director Configuration

To use our Icinga Director Configuration including Host Templates, Notifcation Templates and Service Sets, you can generate a single Basket file.

If you are using our Fork of the Icinga Director, you can use the following command:

./tools/basket-join

If not, generate a Basket without guids:

./tools/basket-join --without-guids

Import the resulting icingaweb2-module-director-basket.json via the WebGUI using Icinga Director > Configuration Baskets > Upload, select the latest entry in the Snapshots tab and restore it.

Grafana

There are two options to import the Grafana dashboards. You can either import them via the WebGUI or use provisioning.

When importing via the WebGUI simply import the plugin-name.grafana-external.json file.

If you want to use provisioning, take a look at Grafana Provisioning. Beware that you also need to provision the datasources if you want to use provisioning for the dashboards.

If you want to create a custom dashboards that contains a different selection of panels, you can do so using the tools/grafana-tool utility.

# interactive usage
./tools/grafana-tool assets/grafana/all-panels-external.json
./tools/grafana-tool assets/grafana/all-panels-provisioning.json

# for more options, see
./tools/grafana-tool --help

Reporting Issues

For now, there are two ways:

  1. Submit an issue (preferred).
  2. Contact us by email or web form and describe your problem.
Comments
  • Edit the TODOs in these README.rst files

    Edit the TODOs in these README.rst files

    In GitLab by @markuslf on Jun 3, 2021, 16:20

    According to the example/README.rst:

    • [x] file-count
    • [x] file-size
    • [x] fortios-cpu-usage (100)
    • [x] fortios-firewall-stats (100)
    • [x] fortios-ha-stats (100)
    • [x] fortios-memory-usage (100)
    • [x] fortios-network-io (100)
    • [x] fortios-sensor (100)
    • [x] fortios-version (100)
    • [x] json-values
    • [x] kemp-services
    • [x] logfile
    • [x] scheduled-task
    • [x] service
    • [x] updates
    documentation 
    opened by NavidSassan 20
  • Improve README.rst

    Improve README.rst

    In GitLab by @markuslf on Feb 17, 2022, 14:32

    • [x] The installation section is one of the most important, so move the paragraph to the top part of the readme.
    • [x] mention that python should be installed beforehand
    • [x] maybe a list with our top-used python libraries, and that those should also be installed. or mention that the individual requirements are in the check's readme
    • [x] More elegant shell script for copying the checks to the remote system
    • [x] Convert back to Markdown due to lack of rst-capability of https://exchange.icinga.com
    • What else?
    documentation question 
    opened by NavidSassan 13
  • procs: on Windows, Traceback

    procs: on Windows, Traceback "AttributeError: 'module' object has no attribute 'STATUS_PARKED'"

    In GitLab by @sandrolf on Nov 4, 2021, 12:20

    Traceback (most recent call last):
    File "/usr/lib64/nagios/plugins/procs", line 421, in 'module'
        main()
      File "/usr/lib64/nagios/plugins/procs", line 304, in main
        elif process_info['status'] == psutil.STATUS_PARKED:
    AttributeError: 'module' object has no attribute 'STATUS_PARKED'
    
    bug 
    opened by NavidSassan 11
  • Basket restore in Icinga Director fails

    Basket restore in Icinga Director fails "Trying to set invalid key "guid" (DbObject.php:350)"

    In GitLab by @fesch on Jan 12, 2022, 10:48

    If I try to restore the imported Basket in Icinga Director I get the following error "Trying to set invalid key "guid" (DbObject.php:350)". The file "icingaweb2-module-director-basket.json" was created with the command "./tools/basket-join --without-guids".

    question 
    opened by NavidSassan 10
  • disk-smart3: Some issue detecting disk behind a

    disk-smart3: Some issue detecting disk behind a "DELL" raid card

    Hi,

    The plugin is unable to detect drive behind a DELL Raid BUT the smartctl daemon is running perfectly and able to detect as we are receiving email from the smartd daemon!

    For example:

    The following warning/error was logged by the smartd daemon:
    
    Device: /dev/bus/2 [megaraid_disk_03], SMART Failure: DATA CHANNEL IMPENDING FAILURE DATA ERROR RATE TOO HIGH
    
    Device info:
    [HP       DG146ABAB4       HPD5], lu id: 0x5000c5000517eb53, S/N: 3NM1QWK600009742E1XH, 146 GB
    
    

    And unable to get data from the boot disk too!

    smartctl failed with exit status "Device open failed, device did not return an IDENTIFY DEVICE structure, or device is in a low-power mode."

    bug 
    opened by PointPubMedia 8
  • check-plugins/snmp - filtered pattern for the output

    check-plugins/snmp - filtered pattern for the output

    hello Team,

    Is any option to filer some patterns from the plugin output? maybe it could be easily implemented and could give some hint on how to improve it.

    Im having this ugly output ... image

    Marcin

    enhancement 
    opened by haytxy 7
  • Some compiled Windows-Plugins are shipped without required 3rd Party Python Modules

    Some compiled Windows-Plugins are shipped without required 3rd Party Python Modules

    In GitLab by @markuslf on Jan 25, 2022, 17:11

    For example: mysql-stats needs the 3rd party module mysql-connector, but the module is missing in the Nuitka-compiled exe file. @NavidSassan and @philipp-zollinger could you please prepare the Windows build host correctly? Should be done before the next release.

    bug 
    opened by NavidSassan 7
  • Able to choose a single or some DS in cmd-check-wildfly-non-xa-datasource-stats

    Able to choose a single or some DS in cmd-check-wildfly-non-xa-datasource-stats

    In GitLab by @chradja on Jan 17, 2022, 09:27

    I have a Wildfly server with different applications, so it would be nice to be able to create different services depending on a particular set of datasources and not all. This would be particularly useful when using the Business Process module, as not all datasources defined belong to the same Business Process. It would allow also to notify the right set of users.

    opened by NavidSassan 7
  • file-count: Unknown NtStatus error returned 'STATUS_PATH_NOT_COVERED'

    file-count: Unknown NtStatus error returned 'STATUS_PATH_NOT_COVERED'" while opening or reading \\server\path

    Describe the bug

    '/usr/lib64/nagios/plugins/file-count' '--always-ok' '--password' 'PW' '--pattern' '*' '--timeout' '3' '--url' 'smb://\\server\path' '--username' 'USER'

    returns

    I/O error "Unknown NtStatus error returned 'STATUS_PATH_NOT_COVERED'" while opening or reading smb://\\server\path

    bug 
    opened by markuslf 6
  • Redis ServiceSet in all-the-rest.json is wrong

    Redis ServiceSet in all-the-rest.json is wrong

    In GitLab by @markuslf on Oct 17, 2021, 19:44

    • [x] The Redis Service Set appears twice, once with the Systemd-Service, once with redis-status. This should be one service set.
    • [x] Redis can be removed from the OpenVAS Service Set, as it has its own tag now.
    opened by NavidSassan 6
  • all-the-rest.json: Re-define Windows Basic Service Set

    all-the-rest.json: Re-define Windows Basic Service Set

    In GitLab by @markuslf on Oct 18, 2021, 21:54

    We have to re-define/rewrite all "Service - ..." definitions in (all?) "OS - Windows Basic Service Set"s.

    What we have to check according to https://docs.microsoft.com/en-us/windows-server/security/windows-services/security-guidelines-for-disabling-system-services-in-windows-server are:

    • Services that are common on Windows Server 2016, Windows Server 2019 and Windows 10
    • Only services that are always installed
    • Only services with Startup type "Automatic"
    • Only services where the recommendation is "Do not disable"
    • Only services that are allowed to run according to CIS

    I checked everything. The result is the following list. Please implement:

    • BFE (Base Filtering Engine)
    • BrokerInfrastructure (Background Tasks Infrastructure Service)
    • CDPSvc (Connected Devices Platform Service)
    • CoreMessagingRegistrar (CoreMessaging)
    • CryptSvc (Cryptographic Services)
    • DcomLaunch (DCOM Server Process Launcher)
    • Dhcp (DHCP Client)
    • DiagTrack (Connected User Experiences and Telemetry)
    • Dnscache (DNS Client)
    • DPS (Diagnostic Policy Service)
    • EventLog (Windows Event Log)
    • EventSystem (COM+ Event System)
    • FontCache (Windows Font Cache Service)
    • gpsvc (Group Policy Client)
    • iphlpsvc (IP Helper)
    • LanmanWorkstation (Workstation)
    • LSM (Local Session Manager)
    • mpssvc (Windows Defender Firewall)
    • MSDTC (Distributed Transaction Coordinator)
    • NlaSvc (Network Location Awareness)
    • nsi (Network Store Interface Service)
    • Power (Power)
    • ProfSvc (User Profile Service)
    • RpcEptMapper (RPC Endpoint Mapper)
    • RpcSs (Remote Procedure Call (RPC)
    • SamSs (Security Accounts Manager)
    • Schedule (Task Scheduler)
    • SENS (System Event Notification Service)
    • SysMain (SysMain)
    • SystemEventsBroker (System Events Broker)
    • Themes (Themes)
    • TimeBrokerSvc (Time Broker)
    • UserManager (User Manager)
    • W32Time (Windows Time)
    • Winmgmt (Windows Management Instrumentation)
    enhancement 
    opened by NavidSassan 6
  • CERTIFICATE_VERIFY_FAILED - even on official signed certificates

    CERTIFICATE_VERIFY_FAILED - even on official signed certificates

    Hi, using nextcloud-security-scan and other plugins, I see "[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate". On self signed I could accept that. But I even get it von scan.nextcloud.com Is that a bug? Im using linuxfabrik-monitoring-plugins-2022072001

    Is there a way to fix that? Does python not using the ca certs of debian? Can I disable the ssl verify for self signed certs?

    opened by marcelfischer 5
  • updates: on host with closed firewall a PowerShell error is returned

    updates: on host with closed firewall a PowerShell error is returned

    This issue respects the following points:

    • [X] This is a bug, not a question or a setup/configuration issue.
    • [X] This issue is not already reported on Github (I've searched it).
    • [X] I use the latest release of the Monitoring Plugins (https://github.com/Linuxfabrik/monitoring-plugins/releases).
    • [X] I agree to follow Monitoring Plugins's Code of Conduct.

    Bug description

    see title

    Steps to reproduce - Plugin call

    'C:\ProgramData\icinga2\usr\lib64\nagios\plugins\updates.exe' '--critical' '50' '--warning' '2'
    

    Steps to reproduce - Plugin Version

    v2022021501

    Steps to reproduce - Data

    Exception from HRESULT: 0x80072EE2
    At line:4 char:5
    +     $Pending = $SearchIndex.Search('IsInstalled=0');
    +     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        + CategoryInfo          : OperationStopped: (:) [], COMException
        + FullyQualifiedErrorId : System.Runtime.InteropServices.COMException
    

    Python version

    No response

    Environment

    Windows

    Application

    No response

    Python modules

    No response

    Additional info

    No response

    bug 
    opened by slalomsk8er 0
  • disk-usage: ignore type CDFS by default

    disk-usage: ignore type CDFS by default

    This issue respects the following points:

    • [X] This is a bug, not a question or a setup/configuration issue.
    • [X] This issue is not already reported on Github (I've searched it).
    • [X] I use the latest release of the Monitoring Plugins (https://github.com/Linuxfabrik/monitoring-plugins/releases).
    • [X] I agree to follow Monitoring Plugins's Code of Conduct.

    Bug description

    E:\ [CRITICAL] ! CDFS ! 3.4GiB ! 3.4GiB ! 100.0% isn't necessary and detracts from real disk usage problems as CD-ROMs are always 100% full.

    Steps to reproduce - Plugin call

    'C:\ProgramData\icinga2\usr\lib64\nagios\plugins\disk-usage.exe' '--critical' '95' '--ignore' 'Y:' '--warning' '90'
    

    Steps to reproduce - Plugin Version

    disk-usage.exe: v2022021501 by Linuxfabrik GmbH, Zurich/Switzerland

    Steps to reproduce - Data

    Microsoft Windows [Version 10.0.14393]

    Python version

    Other

    Environment

    Microsoft Windows [Version 10.0.14393]

    Application

    No response

    Python modules

    No response

    Additional info

    No response

    bug 
    opened by slalomsk8er 0
  • veeam-status    add an option switch to

    veeam-status add an option switch to "WarningVmLastestState" for an integer value of tolerated VM warnings

    Is your feature request related to a problem? Please describe.

    We have 2 blackbox appliance VM that always quit the backupjob with an warning. But the backup is without anny issuses.

    The warnige by this Icinga plugin is with evry check. We don't wan to use the --always ok switch because we dont see other issues in the monitoring.

    I have changed : " val = result['overview']['WarningVmLastestStates'] if val > 2: " in the code.

    So the check runs perfect:-)

    It would be nice when there would be a switch like "--ignore_VM_WARNINGS_count" or similar.

    Thank you

    Describe the solution you'd like

    "--ignore_VM_WARNINGS_count" or similar name.

    Alternatives

    i have to hack the code by my self evry update ...

    Additional context

    No response

    enhancement 
    opened by asltbbg 1
  • Feature request: NTP check for Windows

    Feature request: NTP check for Windows

    Is your feature request related to a problem? Please describe.

    We have to use different plugins, one per platform, to check NTP. We would enjoy a Python plugin that could be used on any underlying platform: Linux, Windows, or even others...

    Describe the solution you'd like

    The check we want to achieve is just making sure the server is synchronised with a given NTP server, with the stratum level being returned - critical if 0, warning if above a certain provided number.

    Alternatives

    No response

    Additional context

    No response

    enhancement 
    opened by michaje-gsc 2
  • cpu-usage: wrong values on Windows with 64 cores

    cpu-usage: wrong values on Windows with 64 cores

    Reporting a mean 65% CPU usage per hour

    image

    actual mean CPU usage about 8%

    image

    I don't see any peaks at all in the combined view but there are per core peaks.

    opened by slalomsk8er 4
Releases(2022072001)
Owner
Linuxfabrik
Your Service Provider for Linux and Open Source
Linuxfabrik
Coding For Entrepreneurs 100 Jan 01, 2023
A repository containing a short tutorial for Docker (with Python).

Docker Tutorial for IFT 6758 Lab In this repository, we examine the advtanges of virtualization, what Docker is and how we can deploy simple programs

Arka Mukherjee 0 Dec 14, 2021
SSH to WebSockets Bridge

wssh wssh is a SSH to WebSockets Bridge that lets you invoke a remote shell using nothing but HTTP. The client connecting to wssh doesn't need to spea

Andrea Luzzardi 1.3k Dec 25, 2022
Ajenti Core and stock plugins

Ajenti is a Linux & BSD modular server admin panel. Ajenti 2 provides a new interface and a better architecture, developed with Python3 and AngularJS.

Ajenti Project 7k Jan 03, 2023
CTF infrastructure deployment automation tool.

CTF infrastructure deployment automation tool. Focus on the challenges. Mirrored from

Fake News 1 Apr 12, 2022
Simple, Pythonic remote execution and deployment.

Welcome to Fabric! Fabric is a high level Python (2.7, 3.4+) library designed to execute shell commands remotely over SSH, yielding useful Python obje

Fabric 13.8k Jan 06, 2023
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
Bash-based Python-venv convenience wrapper

venvrc Bash-based Python-venv convenience wrapper. Demo Install Copy venvrc file to ~/.venvrc, and add the following line to your ~/.bashrc file: # so

1 Dec 29, 2022
Tiny Git is a simplified version of Git with only the basic functionalities to gain better understanding of git internals.

Tiny Git is a simplified version of Git with only the basic functionalities to gain better understanding of git internals. Implemented Functi

Ahmed Ayman 2 Oct 15, 2021
Azure plugins for Feast (FEAture STore)

Feast on Azure This project provides resources to enable running a feast feature store on Azure. Feast Azure Provider The Feast Azure provider acts li

Microsoft Azure 70 Dec 31, 2022
DataOps framework for Machine Learning projects.

Noronha DataOps Noronha is a Python framework designed to help you orchestrate and manage ML projects life-cycle. It hosts Machine Learning models ins

52 Oct 30, 2022
Remote Desktop Protocol in Twisted Python

RDPY Remote Desktop Protocol in twisted python. RDPY is a pure Python implementation of the Microsoft RDP (Remote Desktop Protocol) protocol (client a

Sylvain Peyrefitte 1.6k Dec 30, 2022
A lobby boy will create a VPS server when you need one, and destroy it after using it.

Lobbyboy What is a lobby boy? A lobby boy is completely invisible, yet always in sight. A lobby boy remembers what people hate. A lobby boy anticipate

226 Dec 29, 2022
More than 130 check plugins for Icinga and other Nagios-compatible monitoring applications. Each plugin is a standalone command line tool (written in Python) that provides a specific type of check.

Python-based Monitoring Check Plugins Collection This Enterprise Class Check Plugin Collection offers a package of more than 130 Python-based, Nagios-

Linuxfabrik 119 Dec 27, 2022
Play Wordle from any Kubernetes cluster.

wordle-operator 🟩 ⬛ 🟩 🟨 ⬛ Play Wordle from any Kubernetes cluster. Using the power of CustomResourceDefinitions and Kubernetes Operators, now you c

Lucas Melin 1 Jan 15, 2022
Lima is an alternative to using Docker Desktop on your Mac.

lima-xbar-plugin Table of Contents Description Installation Dependencies Lima is an alternative to using Docker Desktop on your Mac. Description This

Joe Block 68 Dec 22, 2022
Daemon to ban hosts that cause multiple authentication errors

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

Fail2Ban 7.8k Jan 09, 2023
Self-hosted, easily-deployable monitoring and alerts service - like a lightweight PagerDuty

Cabot Maintainers wanted Cabot is stable and used by hundreds of companies and individuals in production, but it is not actively maintained. We would

Arachnys 5.4k Dec 23, 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
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