Update the monitoring agent design document adding the format of the HTTP queries that will have to be used to query the monitoring agent.
Signed-off-by: Michele Tartara <[email protected]> --- doc/design-monitoring-agent.rst | 54 ++++++++++++++++++++++++++++++++++++----- 1 file changed, 48 insertions(+), 6 deletions(-) diff --git a/doc/design-monitoring-agent.rst b/doc/design-monitoring-agent.rst index 1d41e64..8bf691e 100644 --- a/doc/design-monitoring-agent.rst +++ b/doc/design-monitoring-agent.rst @@ -48,12 +48,6 @@ The monitoring agent system will report on the following basic information: - Node OS resources report (memory, CPU, network interfaces) - Information from a plugin system -Format of the query -------------------- - -The query will be an HTTP GET request on a particular port. At the -beginning it will only be possible to query the full status report. - Format of the report -------------------- @@ -569,6 +563,54 @@ node RAID is outside the scope of this, and can be implemented as a plugin) but we can easily just report the information above, since it's standard enough across all systems. +Format of the query +------------------- + +The queries to the monitoring agent will be HTTP GET requests on port 1815. +The answer will be encoded in JSON format and will depend on the specific +accessed resource. + +If a request is sent to a non-existing resource, a 404 error will be returned by +the HTTP server. + +The following paragraphs will present the existing resources supported by the +current protocol version, that is version 1. + +``/`` ++++++ +The root resource. It will return the list of the supported protocol version +numbers. + +Currently, this will include only version 1. + +``/1`` +++++++ +Not an actual resource per-se, it is the root of all the resources of protocol +version 1. + +If requested through GET, the null JSON value will be returned. + +``/1/full`` ++++++++++++ +The full report of all the data collectors, as described in the section +`Format of the report`_. + +`Status reporting collectors`_ will provide their output in non-verbose format. +The verbose format can be requested by adding the parameter ``verbose=1`` to the +request. + +``/[category]/[collector_name]`` +++++++++++++++++++++++++++++++++ +Returns the report of the collector ``[collector_name]`` that belongs to the +specified ``[category]``. + +If a collector does not belong to any category, ``collector`` will be used as +the value for ``[category]``. + +`Status reporting collectors`_ will provide their output in non-verbose format. +The verbose format can be requested by adding the parameter ``verbose=1`` to the +request. + Instance disk status propagation -------------------------------- -- 1.8.1.3
