- Pluggable format of input. ie you can use xml or json or nagios_format or another python program to input your configurations ( to monitor your servers/services )
- Pluggable protocol. ie you can use nrpe or MQ's or xmlrpc's or other protocols to communicate to the nodes
- Use the data. ie Use the probed data to graph or email alert or IM alert or send to prediction_tools
https://docs.google.com/drawings/d/1ygof8i1qVcabZBiHoPN7tNNkSpbVaVYN6zy6mGHXlnU
- Configurations are present in (sqlite | xml | mysql | ...) .
- Reading configs Server knows WHOM to monitor WHAT and WHEN.
- Server makes an (xmlrpc|http|tcp|nrpe|zmq|.....) connection with a validating string to client and then the connection is closed.
- Client runs the probe/monitor and gets the output.
- Client makes a new (http|tcp|nrpe|.....) connection to server responding with validating_string + output + timestamp back to server.
- Server saves the historical data in (sqlite | mysql | rrd | graphite | ...)