Skip to content

Commit 8836b1f

Browse files
ansdgerhardmkuratczyk
authored
Add RabbitMQ Alerts 🚨 (#667)
* Add RabbitMQ alerts Add Prometheus rules for RabbitMQ and cluster operator. Add Alertmanager config for Slack notifications. Add RabbitMQ-Alerts Grafana dashboard. Co-authored-by: Gerhard Lazu <[email protected]> Co-authored-by: Michal Kuratczyk <[email protected]> * Fix typo * Clarify that some labels are provided by the PromQL expression * Don't use match label selectors in Prometheus spec * Add output how to open UIs by port-forwarding Co-authored-by: Gerhard Lazu <[email protected]> Co-authored-by: Michal Kuratczyk <[email protected]>
1 parent e86e16c commit 8836b1f

28 files changed

+1337
-13
lines changed

‎docs/examples/prometheus/.ci-skip‎

Whitespace-only changes.

‎docs/examples/prometheus/README.md‎

Lines changed: 0 additions & 13 deletions
This file was deleted.

‎observability/README.md‎

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
# Observability
2+
3+
This directory contains scrape targets, RabbitMQ alerting rules, Alertmanager configuration, and RabbitMQ dashboards published in a format that is compatible with [Prometheus Operator](https://github.com/prometheus-operator/prometheus-operator).
4+
5+
If you don't have Prometheus and Grafana installed, the quickest way to try out RabbitMQ observability is as follows:
6+
7+
Make sure
8+
1. `kubectl` (version 1.18+) pointing to any running Kubernetes cluster
9+
1. `helm` (version 3+) being installed
10+
11+
Optionally, if you want to receive Slack notifications for RabbitMQ alerts, you will need a Slack Webhook URL (see [here](https://api.slack.com/messaging/webhooks) how to create one).
12+
13+
```bash
14+
# Optionally, to receive Slack notifications on RabbitMQ alerts, set the name of the Slack channel and the Slack Webhook URL:
15+
export SLACK_CHANNEL='#my-channel'
16+
export SLACK_API_URL='https://hooks.slack.com/services/paste/your/token'
17+
18+
./quickstart.sh
19+
```
20+
21+
This will install Prometheus Operator, Prometheus, kube-state-metrics, Alertmanager, Grafana and will set up RabbitMQ scrape targets, RabbitMQ alerting rules, Slack notifications, and RabbitMQ Grafana dashboards.
22+
Note that the [quickstart.sh](./quickstart.sh) script is not a production-ready setup. Refer to the official Prometheus and Grafana documentation on how to deploy a production-ready monitoring stack.
23+
24+
Learn more on RabbitMQ monitoring in:
25+
* [RabbitMQ Prometheus documentation](https://www.rabbitmq.com/prometheus.html)
26+
* [Operator monitoring documentation](https://www.rabbitmq.com/kubernetes/operator/operator-monitoring.html)
27+
* [TGIR S01E07: How to monitor RabbitMQ?](https://youtu.be/NWISW6AwpOE)
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
---
2+
apiVersion: v1
3+
kind: ConfigMap
4+
metadata:
5+
name: erlang-distribution-dashboard
6+
labels:
7+
grafana_dashboard: "true"
8+
data:
9+
# https://grafana.com/grafana/dashboards/11352
10+
erlang-distribution-dashboard.json.url: https://grafana.com/api/dashboards/11352/revisions/7/download
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
---
2+
apiVersion: v1
3+
kind: ConfigMap
4+
metadata:
5+
name: erlang-distributions-compare-dashboard
6+
labels:
7+
grafana_dashboard: "true"
8+
data:
9+
# https://grafana.com/grafana/dashboards/10988
10+
erlang-distributions-compare-dashboard.json.url: https://grafana.com/api/dashboards/10988/revisions/11/download
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
---
2+
apiVersion: v1
3+
kind: ConfigMap
4+
metadata:
5+
name: erlang-memory-allocators-dashboard
6+
labels:
7+
grafana_dashboard: "true"
8+
data:
9+
# https://grafana.com/grafana/dashboards/11350
10+
erlang-memory-allocators-dashboard.json.url: https://grafana.com/api/dashboards/11350/revisions/5/download

0 commit comments

Comments
 (0)