diff options
author | Ilya Shakhat <shakhat@gmail.com> | 2018-10-16 18:03:09 +0200 |
---|---|---|
committer | Ilya Shakhat <shakhat@gmail.com> | 2018-11-23 17:47:52 +0100 |
commit | 0b878cfd24aef2ff4604c697bf39339c84accc78 (patch) | |
tree | 99081c20b29a7d9acd47baeb1c186cd102b2c3cc | |
parent | 48a3de18f81f7ee5b4c12931d1d344232900dcd3 (diff) | |
download | osprofiler-0b878cfd24aef2ff4604c697bf39339c84accc78.tar.gz |
Configure Jaeger collector in DevStack
This patch adds a new type of collector "jaeger".
To try this patch out add following lines into local.conf:
enable_plugin osprofiler https://git.openstack.org/openstack/osprofiler refs/changes/67/611067/4
OSPROFILER_BRANCH=refs/changes/67/611067/4
OSPROFILER_COLLECTOR=jaeger
Jaeger UI can be accessed on port 16686.
Change-Id: I29031764290106570a1d358f6fd653c5367ca587
-rw-r--r-- | devstack/README.rst | 2 | ||||
-rw-r--r-- | devstack/lib/osprofiler | 16 | ||||
-rw-r--r-- | devstack/plugin.sh | 2 |
3 files changed, 19 insertions, 1 deletions
diff --git a/devstack/README.rst b/devstack/README.rst index 2d4ceab..2fcdc1b 100644 --- a/devstack/README.rst +++ b/devstack/README.rst @@ -16,6 +16,7 @@ that control this: * ``<empty>`` - default messaging driver is used * ``redis`` - Redis is installed + * ``jaeger`` - Jaeger is installed The default value of ``OSPROFILER_CONNECTION_STRING`` is set automatically depending on ``OSPROFILER_COLLECTOR`` value. @@ -29,6 +30,7 @@ that control this: * ``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 + * ``jaeger://host:port`` - use Jaeger as trace collector To configure DevStack and enable OSProfiler edit ``${DEVSTACK_DIR}/local.conf`` diff --git a/devstack/lib/osprofiler b/devstack/lib/osprofiler index cd73a4e..0627372 100644 --- a/devstack/lib/osprofiler +++ b/devstack/lib/osprofiler @@ -56,12 +56,28 @@ function install_redis() { pip_install_gr redis } +function install_jaeger() { + if is_ubuntu; then + install_package docker.io + start_service docker + add_user_to_group stack docker + sg docker -c "docker run -d --name jaeger -p 6831:6831/udp -p 16686:16686 jaegertracing/all-in-one:1.7" + else + exit_distro_not_supported "docker.io installation" + fi + + pip_install jaeger-client +} + function install_osprofiler_collector() { if [ -z "$OSPROFILER_COLLECTOR" ]; then OSPROFILER_CONNECTION_STRING=${OSPROFILER_CONNECTION_STRING:-"messaging://"} elif [ "$OSPROFILER_COLLECTOR" == "redis" ]; then install_redis OSPROFILER_CONNECTION_STRING=${OSPROFILER_CONNECTION_STRING:-"redis://localhost:6379"} + elif [ "$OSPROFILER_COLLECTOR" == "jaeger" ]; then + install_jaeger + OSPROFILER_CONNECTION_STRING=${OSPROFILER_CONNECTION_STRING:-"jaeger://localhost:6831"} else die $LINENO "OSProfiler collector $OSPROFILER_COLLECTOR is not supported" fi diff --git a/devstack/plugin.sh b/devstack/plugin.sh index b2b6b6d..600c86e 100644 --- a/devstack/plugin.sh +++ b/devstack/plugin.sh @@ -7,7 +7,7 @@ set -o xtrace source $DEST/osprofiler/devstack/lib/osprofiler -if [[ "$1" == "stack" && "$2" == "pre-install" ]]; then +if [[ "$1" == "stack" && "$2" == "install" ]]; then echo_summary "Configuring system services for OSProfiler" install_osprofiler_collector |