diff --git a/doc/requirements.txt b/doc/requirements.txt index 66b45ef75..b083c6c6d 100644 --- a/doc/requirements.txt +++ b/doc/requirements.txt @@ -2,3 +2,4 @@ sphinx>=1.5.1,<1.6 sphinxcontrib-programoutput sphinxcontrib-httpdomain reno>=2.5.0 # Apache-2.0 +zuul-sphinx diff --git a/doc/source/conf.py b/doc/source/conf.py index e429d1d72..21f5fc191 100644 --- a/doc/source/conf.py +++ b/doc/source/conf.py @@ -29,6 +29,7 @@ extensions = [ 'sphinx.ext.autodoc', 'sphinxcontrib.programoutput', 'sphinxcontrib.httpdomain', + 'zuul_sphinx', 'reno.sphinxext'] #extensions = ['sphinx.ext.intersphinx'] #intersphinx_mapping = {'python': ('http://docs.python.org/2.7', None)} diff --git a/doc/source/installation.rst b/doc/source/installation.rst index f80847f27..194cf5e92 100644 --- a/doc/source/installation.rst +++ b/doc/source/installation.rst @@ -21,6 +21,8 @@ usually recommended. Nodepool only needs to be told how to contact the ZooKeeper cluster; it will automatically populate the ZNode structure as needed. +.. _statsd_configuration: + Statsd and Graphite ~~~~~~~~~~~~~~~~~~~ diff --git a/doc/source/operation.rst b/doc/source/operation.rst index fc8ab8ca6..313ef8fde 100644 --- a/doc/source/operation.rst +++ b/doc/source/operation.rst @@ -272,3 +272,106 @@ launchers, all will provide the same information. :reqheader Accept: ``application/json`` or ``text/*`` :resheader Content-Type: ``application/json`` or ``text/plain`` depending on the :http:header:`Accept` header + +Monitoring +---------- + +Nodepool provides monitoring information to statsd. See +:ref:`statsd_configuration` to learn how to enable statsd support. Currently, +these metrics are supported: + +Nodepool builder +~~~~~~~~~~~~~~~~ + +.. zuul:stat:: nodepool.dib_image_build...size + :type: gauge + + This stat reports the size of the built image in bytes. + +.. zuul:stat:: nodepool.image_update.. + :type: counter, timer + + Number of image uploads to a specific provider in the cloud plus the time in + seconds spent to upload the image. + +Nodepool launcher +~~~~~~~~~~~~~~~~~ + +.. zuul:stat:: nodepool.provider..max_servers + :type: gauge + + Current setting of the max-server configuration parameter for the respective + provider. + +.. _nodepool_nodes: + +.. zuul:stat:: nodepool.nodes. + :type: counter + + Number of nodes in a specific state. + + state can be: + + * building + * deleting + * failed + * in-use + * ready + * used + +.. zuul:stat:: nodepool.provider..nodes. + :type: gauge + + Number of nodes per provider that are in one specific state. See + :ref:`nodepool.nodes ` for a list of possible states. + +.. zuul:stat:: nodepool.label.