Search Exchange

Search All Sites

Nagios Live Webinars

Let our experts show you how Nagios can help your organization.

Contact Us

Phone: 1-888-NAGIOS-1
Email: sales@nagios.com

Login

Remember Me

PushMon

Current Version
1.3
Last Release Date
2013-12-03
Compatible With
  • Nagios 1.x
  • Nagios 2.x
  • Nagios 3.x
  • Nagios XI
  • Nagios Fusion
  • Nagios Reactor
License
Other
Hits
27094
Network Monitoring Software - Download Nagios XI
Log Management Software - Nagios Log Server - Download
Netflow Analysis Software - Nagios Network Analyzer - Download
PushMon is monitoring a push model.
A client daemon runs a set or nagios plugins every interval. These results are all pushed to a webserver using POST requests. With the config builder and nagios checks included you can dynamically generate a nagios config for all running clients.
This nagios monitoring tool is based on a push model.

We use a client daemon written in python that runs nagios checks every given interval.
In the settings file you can define at which interval this client should post it results to the server (statusd) that saves all data in redis.

This model is very scalable and modular. You can run all daemons on separated hosts, or all together on you nagios server, using a small setup. in a little test setup, i was able to serve and monitor 3000 clients.

This whole project is written in python.

There are several plugins included to monitor the results posted to the statusdaemon (statusd).
Included is a little restfull webserver to request the results per host and per nagios check, or all at once.

In the plugins directory a config builder tool is available that generates a nagios config for each host that has posted results.

The results daemon reads the redis database and serves the POST data and host-data collected from a "node-classifier". Both the config-builder and the nagios checks depend on the results server to collect the data they need.


Nagios Plugins included:

check_client_alive.py - Check if the client has been posting results recently enough
check_resultsd_alive.py - Check if the resultsd is reachable
check_statusd_alive.py - Check if the statusd is reachable
check_service_for_client.py - Check if a certain check on a client is OK
check_all_services_for_client.py - Check all combined services on a client

PushMon is open source material so please give me free beer and contact me or send pullrequests on github :)