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
This commit is contained in:
Ilya Shakhat 2018-10-16 18:03:09 +02:00
parent 48a3de18f8
commit 0b878cfd24
3 changed files with 19 additions and 1 deletions

View File

@ -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``

View File

@ -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

View File

@ -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