Latest on GeoNode: Local Monitoring Dashboard
in this post we would like to introduce a plugin which we have developed for GeoNode and released it as Open Source (full documentation available here) in order to give users the ability to to keep under control hardware load as well as software load on a GeoNode installation. This plugin is called Monitoring, it is available as an Open Source contrib module for GeoNode, documentation on how to enable it and configure it, can be found here.
Overview of the monitoring capabilities
We are now going to provide an overview of the functionalities provided by this plugin; it is worth to point out that given the sensitive nature of the information to show, it is accessible only to GeoNode users that have the administrator role.
The plugin allows administrators to keep under control the hardware and software load on a GeoNode instance by collecting, aggregating, storing and indexing a large number of informations that we normally keep hidden and spread in various logs which are difficult to find when troubleshooting, like GeoNode‘s own log, GeoServer log and audit log and so on; in addition, we collect also information about hardware load on memory and cpu (disk could be added easily) which are important to collect in live instances.
Possibility to create alerts that can control certain conditions and then send a notification email to preconfigured email addresses is also available (more on this here).
It is also possible to look at OGC Service statistics on a per service and per layer basis. Eventually, a simple country-based map that shows where requests are coming from is available.
Overview of the available analytics
Let us now dive a little into the functionalities provided by this plugin. Here below you can see the initial homepage of the plugin.
We tried to put on the homepage a summary of the available information so that a user can quickly understand what is going on.
The first row provides a series of visual controls that give an overview of the instance’s health at different aggregation time ranges (from 10 mins to 1 Week):
- Health Check – tells us if there are any alerts or erros that would require the attention of the administrator. Colors range from Red (at least an Error has happened in the selected time range) to Yellow (no Errors but at least an Alert has triggered within the selected time range) and finally to Green (no Alerts or Errors).
- Uptime – shows GeoNode system uptime.
- Alerts – shows number of notifications from defined checks. When clicked, Alerts box will show detailed information . See Notifications description for details.
- Errors – shows how many errors were captured during request processing. When clicked, Errors box will show detailed list of captured errors.
The Software Performance section is responsible for showing analytics about the overall performance of both GeoNode itself as well as the OGC back-end.
If we click on the upper right corner icon, the detailed view will be shown, as illustrated below. Additional detailed information over the selected time period will be shown for both GeoNode, OGC Services and then for individual layers and resources.
The Hardware Performance section is responsible for showing analytics about CPU and Memory usage of the machine where GeoNode runs as well as of the machine where GeoServer runs (in case it runs on a separate machine); see figure below.
Interesting points and next steps
The plugin provides additional functionalities which are described in detail in the GeoNode documentation (see this page); as mentioned above we can inspect errors in the logs directly from the plugin, we can set alerts that would send notifications email when they trigger. Moreover, the plugin provides a few additional endpoints that make it easier to monitor a GeoNode instance from the GeoHealthCheck Open Source project (as explained here).
Last but not least, we would want to thank the GFDRR group at the World Bank which provided most of the funding for this work.
If you are interested in learning about how we can help you achieving your goals with open source products like GeoServer, MapStore, GeoNode and GeoNetwork through our Enterprise Support Services and GeoServer Deployment Warranty offerings, feel free to contact us!
The GeoSolutions team,