cerberus237/adaptable-teastore-kieker-rabbitmq

By cerberus237

Updated about 1 year ago

Pre-configured RabbitMQ Server to use with the Adaptable TeaStore

Image
Message queues
Developer tools
Monitoring & observability
1

544

cerberus237/adaptable-teastore-kieker-rabbitmq repository overview

Adaptable TeaStore Kieker RabbitMQ Container Documentation

1. Overview of the Component

Description

The Kieker RabbitMQ Container is a preconfigured AMQP server that stores monitoring data for Kieker-instrumented services. This container allows services to send their monitoring traces and provides a dashboard for monitoring connections and data flow.

Architecture

This container is built on RabbitMQ with a management plugin, enabling easy monitoring and management of the AMQP server through a web interface. The Kieker RabbitMQ container is essential for collecting and storing monitoring data from various services within the Adaptable TeaStore.

2. Setting Up the RabbitMQ Container

To start the Kieker RabbitMQ container, run the following command, which exposes the necessary ports:

docker run -p 8080:15672 -d --expose 8080 -p 5672:5672 -p 8081:8080 cerberus237/adaptable-teastore-kieker-rabbitmq
Port Configuration:
  • Port 5672: The AMQP protocol port for RabbitMQ communication.
  • Port 8080: The RabbitMQ management dashboard, accessible to monitor connections.
  • Port 8081: For accessing logs from connected services.
Accessing the Dashboard

You can access the RabbitMQ Dashboard at http://localhost:8080 using the following credentials:

  • Username: admin
  • Password: nimda

Here, you can monitor all connections to the server.

3. Sample Docker Compose Configuration

Here’s a sample docker-compose.yml file to set up the Kieker RabbitMQ container:

version: '3'
services:
  rabbitmq:
    image: cerberus237/adaptable-teastore-kieker-rabbitmq
    expose:
      - "5672"
    ports:
      - "8081:8080"
      - "5672:5672"
      - "15672:15672"
    networks:
      - teastore-network

networks:
  teastore-network:
    name: teastore-network
    driver: bridge
Explanation of Docker Compose Directives:
  • rabbitmq: Defines the RabbitMQ service, exposing ports for internal communication and management.
  • networks: Configures the network for the service to ensure proper communication with other containers.

4. Overview of the Dockerfile

The Dockerfile for the Kieker RabbitMQ container is structured as follows:

FROM rabbitmq:management
LABEL org.opencontainers.image.authors="Chair of Software Engineering <[email protected]>"

COPY apache-tomcat-8.5.24.zip /apache.zip
COPY rabbitmq.config /etc/rabbitmq/
COPY custom_definitions.json /etc/rabbitmq/

RUN apt-get update
RUN apt-get install unzip
RUN unzip /apache.zip
RUN chmod -R +x /apache-tomcat-8.5.24
RUN apt-get -y install default-jre-headless

COPY target/*.war /apache-tomcat-8.5.24/webapps/logs.war

EXPOSE 8080

# Login for RabbitMQ web UI is admin:nimda
CMD /apache-tomcat-8.5.24/bin/startup.sh && echo '<% response.sendRedirect("/logs/index"); %>' > /apache-tomcat-8.5.24/webapps/ROOT/index.jsp && rabbitmq-server
Explanation of Dockerfile Components:
  • Base Image: Uses RabbitMQ with the management plugin.
  • Configuration Files: Copies necessary configurations for RabbitMQ operation.
  • Apache Tomcat: Installs Tomcat for serving the logs and handles the web interface.
  • WAR Files: Deploys the logs web application to the Tomcat server.
  • Startup Command: Runs the Tomcat server and RabbitMQ server on container startup.

5. Summary

The Kieker RabbitMQ Container is essential for storing and managing monitoring data in the Adaptable TeaStore ecosystem. It provides a straightforward way to collect data from various services and monitor their performance through an accessible web interface. For further details, refer to the Getting Started documentation.

Tag summary

Content type

Image

Digest

sha256:edf14307e

Size

289 MB

Last updated

about 1 year ago

docker pull cerberus237/adaptable-teastore-kieker-rabbitmq