Fix RabbitMQ alerts

Sem-Ver: bugfix
Change-Id: Ifd3b34bff8c06f5dd6b25f35b6bd9493e58db130
diff --git a/releasenotes/notes/fix-rabbitmq-alerts-74368ac400758ea7.yaml b/releasenotes/notes/fix-rabbitmq-alerts-74368ac400758ea7.yaml
new file mode 100644
index 0000000..9595847
--- /dev/null
+++ b/releasenotes/notes/fix-rabbitmq-alerts-74368ac400758ea7.yaml
@@ -0,0 +1,4 @@
+---
+fixes:
+  - Fixed RabbitMQ memory alerts using watermark instead of actual limit for
+    the container.
diff --git a/roles/rabbitmq_operator/tasks/main.yml b/roles/rabbitmq_operator/tasks/main.yml
index 175bead..0a8ce52 100644
--- a/roles/rabbitmq_operator/tasks/main.yml
+++ b/roles/rabbitmq_operator/tasks/main.yml
@@ -103,14 +103,40 @@
             release: kube-prometheus-stack
         spec:
           groups:
+            - name: recording
+              rules:
+                - record: rabbitmq:usage:memory
+                  labels:
+                    job: rabbitmq
+                  expr: |
+                    sum without (job) (
+                      rabbitmq_process_resident_memory_bytes
+                    ) / sum without (
+                      container,
+                      pod,
+                      job,
+                      namespace,
+                      node,
+                      resource,
+                      uid,
+                      unit
+                    ) (
+                      label_replace(
+                        cluster:namespace:pod_memory:active:kube_pod_container_resource_limits,
+                        "instance",
+                        "$1",
+                        "pod",
+                        "(.*)"
+                      )
+                    )
             - name: limits
               rules:
                 - alert: RabbitmqMemoryHigh
-                  expr: rabbitmq_process_resident_memory_bytes / rabbitmq_resident_memory_limit_bytes > 0.80
+                  expr: rabbitmq:usage:memory > 0.80
                   labels:
                     severity: warning
                 - alert: RabbitmqMemoryHigh
-                  expr: rabbitmq_process_resident_memory_bytes / rabbitmq_resident_memory_limit_bytes > 0.95
+                  expr: rabbitmq:usage:memory > 0.95
                   labels:
                     severity: critical
                 - alert: RabbitmqFileDescriptorsUsage