summaryrefslogtreecommitdiffstats
path: root/doc
diff options
context:
space:
mode:
authorDolph Mathews <dolph.mathews@gmail.com>2012-06-11 16:09:27 -0500
committerDolph Mathews <dolph.mathews@gmail.com>2012-06-19 14:16:29 -0500
commitef58425b8e5be5818884108c92bfb208cdb3d741 (patch)
tree3d3a593103f56f5ed5c781a641351f325c75e247 /doc
parent66a0b63dabffe4cb1d239be3ab68885e2f49f513 (diff)
downloadkeystone-ef58425b8e5be5818884108c92bfb208cdb3d741.tar.gz
keystone-ef58425b8e5be5818884108c92bfb208cdb3d741.tar.xz
keystone-ef58425b8e5be5818884108c92bfb208cdb3d741.zip
Basic request stats monitoring & reporting
Attributes are tracked seperately per interface (public API vs admin API): - Request method (GETs, POSTs, etc) - Requested resources - Number of requests per remote address - Response status codes Retrieve statistics report: GET http://keystone:35357/v2.0/OS-STATS/stats e.g. http://paste.openstack.org/raw/18528/ Reset statistics report: DELETE http://keystone:35357/v2.0/OS-STATS/stats Change-Id: Id21af755e5e25b8275dd55b7415bf4c421304807
Diffstat (limited to 'doc')
-rw-r--r--doc/source/configuration.rst33
1 files changed, 33 insertions, 0 deletions
diff --git a/doc/source/configuration.rst b/doc/source/configuration.rst
index d7ddfe89..415ee539 100644
--- a/doc/source/configuration.rst
+++ b/doc/source/configuration.rst
@@ -151,6 +151,39 @@ choosing the output levels and formats.
.. _Paste: http://pythonpaste.org/
.. _`python logging module`: http://docs.python.org/library/logging.html
+Monitoring
+----------
+
+Keystone provides some basic request/response monitoring statistics out of the
+box.
+
+Enable data collection by defining a ``stats_monitoring`` filter and including
+it at the beginning of any desired WSGI pipelines::
+
+ [filter:stats_monitoring]
+ paste.filter_factory = keystone.contrib.stats:StatsMiddleware.factory
+
+ [pipeline:public_api]
+ pipeline = stats_monitoring [...] public_service
+
+Enable the reporting of collected data by defining a ``stats_reporting`` filter
+and including it near the end of your ``admin_api`` WSGI pipeline (After
+``*_body`` middleware and before ``*_extension`` filters is recommended)::
+
+ [filter:stats_reporting]
+ paste.filter_factory = keystone.contrib.stats:StatsExtension.factory
+
+ [pipeline:admin_api]
+ pipeline = [...] json_body stats_reporting ec2_extension [...] admin_service
+
+Query the admin API for statistics using::
+
+ $ curl -H 'X-Auth-Token: ADMIN' http://localhost:35357/v2.0/OS-STATS/stats
+
+Reset collected data using::
+
+ $ curl -H 'X-Auth-Token: ADMIN' -X DELETE http://localhost:35357/v2.0/OS-STATS/stats
+
SSL
---