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.