Git Product home page Git Product logo

health_monitoring_plugins's Introduction

health monitoring plugins:


This is the main readme file for the health montiroing plugins project. In this project we pubish all our plugins we write for icinga / nagios. The plugins are provided on pypi as python package.

All plugins are released under the GPLv2.

Code Health Code Climate Issue Count PyPI version

Plugins

A detailed description can be found in the README in the doc folder.

Check the Meinberg NTP server LANTIME M300.

The plugin checks the current ntp and gps state, shows the current gps position and checks the good satellites. Tested with firmware version 5.30 and 6.18 (NG).

Check the status of a Moxa NPORT 6000 RS232 to LAN converter.
You can check each port for the CTS, DSR, DTR and Error count.

This plugin checks the health of HP servers with iLo 4 interface via SNMP.

The following components are checked:

  • status of powersupply
  • status of physical and logical drives (incl. drive temperatures)
  • status of fans
  • status of the temperature sensors
  • the power state of the server (On or Off)
  • status of the memory
  • the global health status

####check_snmp_janitza Check the status of a Janitza 604 device.

You can check:

  • uL1 - 3 Voltage Phases
  • iL1 - 6 Current Phases
  • pL1 - 3 Real Power
  • qL1 - 3 Reaktiv Power
  • sL1 - 3 Power
  • cosPL1 - 3 Cos(Phi)
  • p3 Real Power Summe
  • q3 Reaktiv Power Summe
  • s3 Power Summe
  • uL1L2,uL2L3,uL3L3 Voltage deltas between Phases

Check the used / free disk space of a device via SNMP (using the HOST-RESOURCES-MIB hrStorageSize). There are already script doing that like http://nagios.manubulon.com/snmp_storage.html . But these check script have a big problem with large storage systems.

In our case we want to monitor a Microsoft Windows Server 2012 R2 with an 10 TB partition and one Server with an 25 TB partition. The problem all scripts have, that the SNMP counter hrStorageSize is a 32 Bits Integer counter. If you have a storage that is larger then 8 TB you will have the issue, that the conuter overruns and will return a negative integer value.

This script will handle the negative integer values and will calculate the proper size. That will only work if the counter overruns once.

Check the status of a tcp/udp port via SNMP. For TCP ports also the status is checked (e.g listen, established).

You could also use for example the check_tcp script. But check_tcp always trys to connect to the port, so we did see a lot of connects and disconncets in the logfile of our database service. And it is also not possible to check the connection status of the port.

If you know snmpnetstat, then you know how the plugin works.

Check a Raritan Dominition PX PDU (Power Distribution Unit):

  • outlets (On, Off)
  • inlet (Power, Current, Voltage)
  • connected sensors

Tested device: PX2-2486
Tested sensors: Temperature, Humidity, Contact Closure, Air Pressure

Icinga / Nagios plugin to check if a Windows service is in running state via SNMP.

It may take some time until Windows updates the status via snmp after starting or stopping a service.

This plugin compares the time of the icinga/nagios machine with the time of a remote device.

This plugin checks the health of Dell iDRAC.

The following components/statuses are checked:

  • global system status
  • system LCD status
  • global storage status
  • system power status
  • power unit and its redundancy
  • chassis intrusion sensor
  • cooling unit
  • temperature probes

This plugin checks the health of Teledyn Paradise Datacom Sattelite Modem.

Check the status of a Ubiquiti airMax device.

You can check the:

  • Uptime
  • Signal Strength
  • CPU usage (1 Minute Average)
  • CPU usage (5 Minute Average)
  • CPU usage (15 Minute Average)
  • Total memory
  • Free memory
  • Tx Rate
  • Rx Rate

Installation

pip (recommended)

The complete plugin package is available at PyPI

If your Linux machine is directly connected to the internet, you can use pip to install the package. Just run:

pip install health_monitoring_plugins

The plugins will be installed in your PATH. So the scripts can be executed directly.

If you are behind a firewall or not connected to the internet, you can download the tar.hz from PyPI and install it with

health_monitoring_plugins-<version>.tar.gz

To uninstall the package you can run:

pip uninstall health_monitoring_plugins

setup.py

You can download the source package from PyPI

To install the package from source with setup.py, you can run

tar xfvz health_monitoring_plugins-<version>.tar.gz
cd health_monitoring_plugins
python setup.py install

Run the unittests

To run the unittests just execute:

python setup.py test

The unittests require pytest. For the unittests we use the testagent from haxtibal.

Changelog

Version 0.0.6
  • Fixed segfault, if there is no route to host
Version 0.0.5
  • Added check_snmp_teledyne, check_snmp_janitza, check_snmp_ubiquiti

  • Several bugfixes

Version 0.0.4
  • Fixed bug in check_snmp_time2

  • Added check_snmp_idrac

Version 0.0.3
  • Several bugfixes and code cleanup
Version 0.0.2
  • Several bugfixes and code cleanup
Version 0.0.2
  • Added unittests for all plugins
  • Fixed a bug in check_snmp_raritan Inlet check
  • Cleaned up some parts of the code
  • Better package structure
Version 0.0.1
  • The first testing release including all developed check plugins

TODO

  • Implement SNMPv3 support for all plugins

Maybe:

  • add a default threshold to check_snmp_time2
  • check_snmp_raritan: It should be possible to monitor all outlets / sensors in one service
  • check_snmp_large_stroage: Check a list of storages

health_monitoring_plugins's People

Contributors

rsmuc avatar retakfual avatar

Watchers

rsmm01 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.