osprofiler/devstack/README.rst
Tovin Seven f2ed61fe72 Update documentation & usage for redis driver
Add password (AUTH) support to redis driver.

Change-Id: I5e3af4848ecce7b0a8a469faa587f54689358d3b
2018-06-01 10:32:34 +07:00

2.9 KiB

Enabling OSProfiler using DevStack

This directory contains the files necessary to run OpenStack with enabled OSProfiler in DevStack.

OSProfiler can send trace data into different collectors. There are 2 parameters that control this:

  • OSPROFILER_COLLECTOR specifies which collector to install in DevStack. By default OSProfiler plugin does not install anything, thus default messaging driver will be used.

    Possible values:

    • <empty> - default messaging driver is used
    • redis - Redis is installed

    The default value of OSPROFILER_CONNECTION_STRING is set automatically depending on OSPROFILER_COLLECTOR value.

  • OSPROFILER_CONNECTION_STRING specifies which driver is used by OSProfiler.

    Possible values:

    • messaging:// - use messaging as trace collector (with the transport configured by oslo.messaging)
    • redis://[:password]@host[:port][/db] - use Redis as trace storage
    • elasticsearch://host:port - use Elasticsearch as trace storage
    • mongodb://host:port - use MongoDB as trace storage
    • loginsight://username:password@host - use LogInsight as trace collector/storage

To configure DevStack and enable OSProfiler edit ${DEVSTACK_DIR}/local.conf file and add the following to [[local|localrc]] section:

  • to use Redis collector:

    enable_plugin osprofiler https://git.openstack.org/openstack/osprofiler master
    OSPROFILER_COLLECTOR=redis

    OSProfiler plugin will install Redis and configure OSProfiler to use Redis driver

  • to use specified driver:

    enable_plugin osprofiler https://git.openstack.org/openstack/osprofiler master
    OSPROFILER_CONNECTION_STRING=<connection string value>

    the driver is chosen depending on the value of OSPROFILER_CONNECTION_STRING variable (refer to the next section for details)

Run DevStack as normal:

$ ./stack.sh

Config variables

OSPROFILER_HMAC_KEYS - a set of HMAC secrets, that are used for triggering of profiling in OpenStack services: only the requests that specify one of these keys in HTTP headers will be profiled. E.g. multiple secrets are specified as a comma-separated list of string values:

OSPROFILER_HMAC_KEYS=swordfish,foxtrot,charlie

OSPROFILER_CONNECTION_STRING - connection string to identify the driver. Default value is messaging:// refers to messaging driver. For a full list of drivers please refer to http://git.openstack.org/cgit/openstack/osprofiler/tree/osprofiler/drivers. Example: enable ElasticSearch driver with the server running on localhost:

OSPROFILER_CONNECTION_STRING=elasticsearch://127.0.0.1:9200

OSPROFILER_COLLECTOR - controls which collector to install into DevStack. The driver is then chosen automatically based on the collector. Empty value assumes that the default messaging driver is used. Example: enable Redis collector:

OSPROFILER_COLLECTOR=redis