Commit 2fa8f963 authored by Michele Tartara's avatar Michele Tartara

Update documentation for monitoring daemon

This commit updates the installation instructions and the user guide.
Signed-off-by: default avatarMichele Tartara <mtartara@google.com>
Reviewed-by: default avatarIustin Pop <iustin@google.com>
parent 05b6f4d8
......@@ -163,8 +163,8 @@ Haskell optional features
Optionally, more functionality can be enabled if your build machine has
a few more Haskell libraries enabled: the ``ganeti-confd`` daemon
(``--enable-confd``) and the monitoring agent
(``--enable-monitoring``). The list of extra dependencies for these is:
(``--enable-confd``) and the monitoring daemon
(``--enable-mond``). The list of extra dependencies for these is:
- `hslogger <http://software.complete.org/hslogger>`_, version 1.1 and
above (note that Debian Squeeze only has version 1.0.9)
......@@ -177,21 +177,33 @@ a few more Haskell libraries enabled: the ``ganeti-confd`` daemon
bindings for the ``pcre`` library
- `attoparsec <http://hackage.haskell.org/package/attoparsec>`_
- `vector <http://hackage.haskell.org/package/vector>`_
- `snap-server` <http://hackage.haskell.org/package/snap-server>`_, version
0.8.1 and above.
These libraries are available in Debian Wheezy (but not in Squeeze, with
the exception of curl), so you can use either apt::
$ apt-get install libghc-hslogger-dev libghc-crypto-dev libghc-text-dev \
libghc-hinotify-dev libghc-regex-pcre-dev \
libghc-attoparsec-dev libghc-vector-dev
libghc-attoparsec-dev libghc-vector-dev \
libghc-snap-server-dev
or ``cabal``::
$ cabal install hslogger Crypto text hinotify regex-pcre \
attoparsec vector
attoparsec vector snap-server
to install them.
In case you still use ghc-6.12, note that ``cabal`` would automatically try to
install newer versions of some of the libraries snap-server depends on, that
cannot be compiled with ghc-6.12, so you have to install snap-server on its
own, esplicitly forcing the installation of compatible versions::
$ cabal install MonadCatchIO-transformers==0.2.2.0 mtl==2.0.1.0 \
hashable==1.1.2.0 case-insensitive==0.3 parsec==3.0.1 \
network==2.3 snap-server==0.8.1
The most recent Fedora doesn't provide ``crypto``, ``inotify``. So these
need to be installed using ``cabal``, if desired. The other packages can
be installed via ``yum``::
......
......@@ -6,6 +6,74 @@ Name
ganeti-mond - Ganeti monitoring daemon
Synopsis
--------
**ganeti-mond** [-d] [-f] [--no-user-checks] [-p PORT]
DESCRIPTION
-----------
**ganeti-mond** is the daemon providing the Ganeti monitoring
functionality. It is responsible for running the data collectors and to
provide the collected information through a HTTP interface.
For testing purposes, you can give the ``-f`` option and the
program won't detach from the running terminal.
Debug-level message can be activated by giving the ``-d`` option.
The **ganeti-mond** daemon listens to port 1815 TCP, on all interfaces,
by default. The port can be overridden by an entry the services database
by passing the ``-p`` option.
The daemon will refuse to start if the user and group do not match the
one defined at build time; this behaviour can be overridden by the
``--no-user-checks`` option.
COMMUNICATION PROTOCOL
~~~~~~~~~~~~~~~~~~~~~~
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 root resource. It will return the list of the supported protocol version
numbers.
``/1/list/collectors``
++++++++++++++++++++++
Returns a list of tuples (kind, category, name) showing all the collectors
available in the system.
``/1/report/all``
+++++++++++++++++
A list of the reports 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.
``/1/report/[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.
Further information can be found in the Ganeti Monitoring Agent
design document.
.. vim: set textwidth=72 :
.. Local Variables:
.. mode: rst
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment