The figure SANET architecture shows the whole system architecture.
SANET is a web application developed on top of Django: an MVC (or MVT like django developers calls it) framework written in Python.
The whole system architecture relies on a RDBMS for data persistent storage, which is accessed and managed through the Django ORM level.
The ORM data model represents the API used by all other modules and components to manage data in the RDBMS. Other modules include:
XML / XML-RPC view: it is the Web application API, which is invoked by:
- browsers: in order to retrieve specific XHTML page sections through AJAX
- applications that needs their own XML format (i.e. network topological maps)
- applications that understand XML-RPC standard, as they can monitor the results of the monitoring activity
CLI: the command line interface provided to let the network operators configure the whole system. Here it is possible to set the checks to be performed, the state of nodes and interfaces bound to each check, the network topology, nodes classification in trees and containers.
Poller agent : non-interactive agent that schedules checks to be performed and manages their execution along with results handling (look the Poller Documentation for more info).