On Tue, Feb 19, 2013 at 11:49 PM, Guido Trotter <[email protected]> wrote:
> On Tue, Feb 19, 2013 at 3:55 PM, Michele Tartara <[email protected]> wrote:
>> 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.
>> +
>
> Why here we have verbose as a parameter and above we have "/full" as a
> resource that does the same thing?
>

Never mind, I re-read it and now it's clear. (I was confused about /full).
I'm not entirely sure though about a couple of things:

- there is no way to get a list of data collectors except by reading
the full report
- there is no way to know which versions a data collector support
(true, now it's only "1")
- I am not entirely sure about /1/full VS
[category]/[collector_name]... should it be
1/[category]/[collector_name] instead, for example?

Thanks,

Guido

Reply via email to