Sign inSign up

cerberus237/adaptable-teastore-kieker-rabbitmq

By cerberus237

•Updated over 1 year ago

Pre-configured RabbitMQ Server to use with the Adaptable TeaStore

Image
Message queues
Developer tools
Monitoring & observability
1

1.6K

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

over 1 year ago

docker pull cerberus237/adaptable-teastore-kieker-rabbitmq