diff --git a/.docker/rabbitmq/rabbitmq.config b/.docker/rabbitmq/rabbitmq.config
index e846da82689d285a4bf997a3877548d1fa6a46b7..b112f2a4771df8c9044b3cbe4680e47aaa80e252 100755
--- a/.docker/rabbitmq/rabbitmq.config
+++ b/.docker/rabbitmq/rabbitmq.config
@@ -10,5 +10,17 @@
       [
         { load_definitions, "/etc/rabbitmq/rabbitmq-defs.json" }
       ]
+  },
+  { 
+    rabbitmq_prometheus, 
+    [
+      {
+        listener, 
+      [
+          {port, 15674},
+          {path, "/metrics"}
+      ]
+      }
+    ]
   }
 ].
\ No newline at end of file
diff --git a/docker-compose.yaml b/docker-compose.yaml
index d266ae524a6bec16ad835fd6bfe79ccf1d78236c..5142ed0fe13ae91728341ebb3a670e7adb7a4b94 100644
--- a/docker-compose.yaml
+++ b/docker-compose.yaml
@@ -10,6 +10,11 @@ services:
     ports:
       - "${RABBITMQ_PORT}:5672"
       - "${RABBITMQ_ADMIN_PORT}:15672"
+    healthcheck:
+      test: ["CMD", "rabbitmq-diagnostics", "ping"]
+      interval: 30s
+      timeout: 10s
+      retries: 3
 
   logstash:
     image: logstash:8.7.1
@@ -44,13 +49,13 @@ services:
       retries: 50
     ports:
       - "${ELASTICSEARCH_PORT}:9200"
-    command: [ "elasticsearch", "-Elogger.level=WARN" ]
+    command: [ "elasticsearch", "-Elogger.level=WARN"]
 
   kibana:
     image: kibana:8.7.1
     container_name: ibd-local-stack-kibana
     ports:
-      - "${KIBANA_PORT}:5601"
+      - "${KIBANA_PORT}:5603"
     environment:
       - ELASTICSEARCH_HOSTS=http://ibd-local-stack-elasticsearch:9200
       - LOGGING_QUIET=false
@@ -64,6 +69,40 @@ services:
       - "${GRAFANA_PORT}:3000"
     volumes:
       - grafanadata:/var/lib/grafana
+    depends_on:
+      - prometheus
+
+  prometheus:
+    image: prom/prometheus:v2.41.0
+    container_name: ibd-local-stack-prometheus
+    volumes:
+      - ./prometheus/prometheus.yml:/etc/prometheus/prometheus.yml
+    ports:
+      - "9090:9090"
+
+  elasticsearch-exporter:
+    image: prometheuscommunity/elasticsearch-exporter:v1.2.0
+    container_name: ibd-local-stack-elasticsearch-exporter
+    environment:
+      - ES_URI=http://ibd-local-stack-elasticsearch:9200
+    ports:
+      - "9114:9114"
+    depends_on:
+      elasticsearch:
+        condition: service_healthy
+
+  rabbitmq-exporter:
+    image: kbudde/rabbitmq-exporter:latest
+    container_name: ibd-local-stack-rabbitmq-exporter
+    ports:
+      - "9419:9419" 
+    environment:
+      - RABBIT_USER=guest
+      - RABBIT_PASSWORD=guest
+      - RABBIT_URL=http://ibd-local-stack-rabbitmq:15672
+    depends_on:
+      - rabbitmq
+
 
   producer:
     build:
@@ -79,17 +118,16 @@ services:
       - "8080:8007"
 
 volumes:
-
   elasticdata:
     driver: local
-
   rmqdata:
     driver: local
-
+  grafana-storage:
+    driver: local
   grafanadata:
     driver: local
 
 networks:
   default:
     driver: bridge
-    name: ibd-local-stack
+    name: ibd-local-stack
\ No newline at end of file
diff --git a/producer/__pycache__/main.cpython-313.pyc b/producer/__pycache__/main.cpython-313.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..125d97eace83aa3b15b18e910cc927401c9833b4
Binary files /dev/null and b/producer/__pycache__/main.cpython-313.pyc differ
diff --git a/producer/main.py b/producer/main.py
index e35b2fa37831b0b5040e423934946633aa0b794e..b6a773dd1b48a54efc102789646f53ca609f5758 100644
--- a/producer/main.py
+++ b/producer/main.py
@@ -1,6 +1,7 @@
 from fastapi import FastAPI, BackgroundTasks
 from fastapi.responses import JSONResponse
 import asyncio
+import datetime
 
 from utils.publisher import RabbitMQPublisher
 
diff --git a/producer/utils/__pycache__/__init__.cpython-313.pyc b/producer/utils/__pycache__/__init__.cpython-313.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..a33201cc52207678fccb5cd06d21ca35c9e84508
Binary files /dev/null and b/producer/utils/__pycache__/__init__.cpython-313.pyc differ
diff --git a/producer/utils/__pycache__/logger.cpython-313.pyc b/producer/utils/__pycache__/logger.cpython-313.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..73f3d78dd99488dd1161976de3bb56dc2eece365
Binary files /dev/null and b/producer/utils/__pycache__/logger.cpython-313.pyc differ
diff --git a/producer/utils/__pycache__/publisher.cpython-313.pyc b/producer/utils/__pycache__/publisher.cpython-313.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..007f722342f0223176b08fa1b2a762e62f916741
Binary files /dev/null and b/producer/utils/__pycache__/publisher.cpython-313.pyc differ
diff --git a/prometheus/prometheus.yml b/prometheus/prometheus.yml
new file mode 100644
index 0000000000000000000000000000000000000000..a4596301151d1fe01c2281052100b7a1ea2bd767
--- /dev/null
+++ b/prometheus/prometheus.yml
@@ -0,0 +1,17 @@
+global:
+  scrape_interval: 15s
+
+scrape_configs:
+  - job_name: 'elasticsearch-exporter'
+    metrics_path: '/metrics'
+    static_configs:
+      - targets: ['ibd-local-stack-elasticsearch-exporter:9114']
+
+  - job_name: 'rabbitmq'
+    metrics_path: '/metrics'
+    static_configs:
+      - targets: ['ibd-local-stack-rabbitmq:15692']
+
+  - job_name: 'rabbitmq-exporter'
+    static_configs:
+      - targets: ['ibd-local-stack-rabbitmq-exporter:9419']