Python – Network monitoring systems in Python

muninnagiosnetwork-monitoringpython

There are a host of open source network monitoring systems available. I tried we used to use Nagios, I have been hearing good things about Munin too.

The thing is most networking monitors are written in either PHP or Perl. If really struggle to change/modify or add additional functionality I really struggle. My questions –

  1. Is there any monitoring solutions in python?
  2. Of all these different ones which is most active & has best community support.

Best Answer

Shinken is the up and coming modern monitoring system that was rewritten based on intimate knowledge of Nagios.

An all Python workflow would look like this:

  • Shinken core
  • Shinken discovery engine and management console (Skonf)
  • Graphite time-series database and visualisation
  • MK Multisite* or Shinken's own WebUI as a frontend

  • Which actually work very well together. MK Multisite will soon get published support for Shinken's Business impact and Business rules in the UI, it has been implemented and tested but not released yet.

Shinken supports integrated modules for extending the functionality of the monitoring system which are programmed in Python with the possibility of compiling them or embedding C for computationally intensive algorithms.

Shinken and Graphite have good integration and are complimentary.

The only parts of the monitoring system which are not Python based are specific Nagios checks being executed or remote agents (NRPE, send_nsca, NSClient++, collectd, statsd, etc.) and the graphical representation of data in Nagvis which is in PHP with very opaque development unfortunately.

Hope this helps.

Related Topic