Monitoring System

The Monitoring system posts the monitoring API, which can be used by the nodes in the network to report errors in communication with other nodes, collects the error reports, posts them on the web page, and informs providers about the errors via emails.

This service is dedicated to developers of the mobility software used in the EWP network and is available in the monitoring section of the EWP Stats Portal.

Monitoring API

An ewp-specs-api-monitoring API allows clients to report any unexpected behavior encountered by the servers in the EWP network when making requests. This API SHOULD NOT be implemented by anyone other than the EWP Monitoring system. Clients MUST call this API in case of detecting any exceptions or incorrect responses from any of the servers in the EWP network. In case of issues with calling this API, like server unavailability, clients are not required to call this API repeatedly or store messages until further notice. It means that a simple "call and forget" is good enough. Calls to this API MUST NOT contain any private data.

The specification is available on GitHub.

Gathering error reports

The network clients should call the monitoring API whenever they handle errors or catch exceptions. This implies that every HTTP status code that is 4xx or 5xx should be reported, as well as connection timeouts. However, that is not all. For example, a server could return status code 200, but in reality, the data returned is lacking, incorrect, or generally does not make sense. This situation also warrants a call to the monitoring server.

In cases when servers return XML content with error-response, as they should, clients could just forward the developers-message to the Stats portal.

Diagram depicting interactions between nodes and the EWP Stats portal

EWP administrators are not authorised to access private data that is being exchanged in the network. That is why calls to the monitoring API MUST NOT contain any private data.

The Stats portal is sending emails to server developers with the aggregated information about reported errors.

Servers and clients should locally log every request and response. This will allow them to trace the source of errors quickly.

The Stats portal is also a client reporting errors found in the stats endpoints. It may be treated as a reference implementation.

Monitoring web page

The web page can be entered from the URLs given on top of this page. There is also a small Monitoring icon on the EWP Stats portal webpage.

The webpage supports data grouping and filtering.

By default, the page shows all records from the current day, after the Apply button is clicked.

Emailing providers

The Monitoring system sends emails to providers about reported errors.