The OpenMonitor Cloud Aggregator is the central piece of the OpenMonitor, as it collects all the information sent by the agents (both desktop and mobile), analyses it, and launch alerts if some event was detected, like a shortage or a blockage. The Aggregator is also used to share the information with the users, control the release of agent versions, receive suggestions for websites and services to check.
This software was developed using Django Non-Rel (Python), uses Google Protocol Buffer to trade messages with the agents, and was deployed in Google AppEngine.
When the Aggregator detects some event, it sends some notifications using different systems:
- Realtime Text Feed
- Realtime Event Map
Like the Realtime Text Feed, the Realtime Event Map is a simple map that displays the events marked with pins. Every time a new event occurs, a new pin popups in the map, and if the user clicks on it, he will be able to see more information about that event. To don't overload the map with pins, the near pins are grouped together, and instead of a pin, a circle appears with the number of events occurred in that zone. If the user click that circle, the map will be zoomed it to that region, and the pins will be show alone. In the next image is shown the full map, and then the same map after zoomed in.
- Social Networks (Facebook, Twitter)
When a new important event occurs, the information about the event will be shared in Facebook and Twitter
- RSS Feeds
- Email Notification
All the previous notification system only show to the user the main information about the event, however a link to page with detailed information will always be present. On this page is shown the target type (website or offline), the type of event (blockage, censor), the time of first and last detection, the name of the location, the name of ISP used by the agent, and a map with the location of the agent (green flag) and the target (red flag), the path used (in red) with the hops represented by the blue icon, and if the event was a blockage, the place where the communication was blocked is represented by a red cross.