rabbitmq-server/deps/rabbitmq_prometheus
Philip Kuryloski a3dbdecb8c Mark //deps/rabbitmq_prometheus:rabbit_prometheus_http_SUITE flaky 2021-05-21 18:32:20 +02:00
..
docker Fix Grafana dashboards when importing from URL 2021-03-22 19:27:13 +00:00
priv/schema Switch to MPL2 2020-07-14 16:42:52 +03:00
src Consumer utilization => consumer capacity in Prometheus metrics 2021-02-24 22:10:52 +03:00
test Always show aggregated auth_attempts, add detailed when per object enabled 2021-01-22 16:38:44 +00:00
.autocomplete Add hidden file to quickly activate shell autocompletion 2019-10-04 21:56:22 +01:00
.dockerignore Add panel for dropped messages / s 2019-04-25 14:18:32 +01:00
.gitignore Git: Ignore copied CLI 2019-12-12 15:03:37 +01:00
BUILD.bazel Mark //deps/rabbitmq_prometheus:rabbit_prometheus_http_SUITE flaky 2021-05-21 18:32:20 +02:00
CODE_OF_CONDUCT.md Sync Code of Conduct doc with other RabbitMQ subprojects 2019-04-01 17:57:18 +03:00
CONTRIBUTING.md Core metrics prometheus collector 2019-03-13 14:36:44 +00:00
Dockerfile Filter Grafana dashboards by namespace (#2719) 2021-01-18 18:45:05 +00:00
LICENSE Update LICENSE 2020-07-20 12:00:41 +01:00
LICENSE-MPL-RabbitMQ Revert drop of Exhibit B on MPL 2.0 2020-07-20 17:02:50 +01:00
Makefile Remove duplicate rabbitmq-components.mk and erlang.mk files 2021-03-22 15:40:19 +01:00
README.md Change per-object endpoint to `/metrics/per-object`. 2020-11-26 10:35:26 +01:00
metrics.md Add erlang_vm_dist_node_queue_size_bytes to metrics.md 2020-06-24 16:36:04 +01:00
rabbitmq-disable-metrics-collector.conf Build Docker image with the latest management & management_agent 2019-04-22 17:47:22 +01:00

README.md

Build Grafana Dashboards

Prometheus Exporter of Core RabbitMQ Metrics

Getting Started

This is a Prometheus exporter of core RabbitMQ metrics, developed by the RabbitMQ core team. It is largely a "clean room" design that reuses some prior work from Prometheus exporters done by the community.

Project Maturity

This plugin is new as of RabbitMQ 3.8.0.

Documentation

See Monitoring RabbitMQ with Prometheus and Grafana.

Installation

This plugin is included into RabbitMQ 3.8.x releases. Like all plugins, it has to be enabled before it can be used:

To enable it with rabbitmq-plugins:

rabbitmq-plugins enable rabbitmq_prometheus

Usage

See the documentation guide.

Default port used by the plugin is 15692 and the endpoint path is at /metrics. To try it with curl:

curl -v -H "Accept:text/plain" "http://localhost:15692/metrics"

In most environments there would be no configuration necessary.

See the entire list of metrics exposed via the default port.

Configuration

This exporter supports the following options via a set of prometheus.* configuration keys:

Sample configuration snippet:

# these values are defaults
prometheus.return_per_object_metrics = false
prometheus.path = /metrics
prometheus.tcp.port =  15692

When metrics are returned per object, nodes with 80k queues have been measured to take 58 seconds to return 1.9 million metrics in a 98MB response payload. In order to not put unnecessary pressure on your metrics system, metrics are aggregated by default.

When debugging, it may be useful to return metrics per object (unaggregated).

This can be done by scraping the /metrics/per-object endpoint:

curl -v -H "Accept:text/plain" "http://localhost:15692/metrics/per-object"

This can also be enabled as the default behavior of the /metrics endpoint on-the-fly, without restarting or configuring RabbitMQ, using the following command:

rabbitmqctl eval 'application:set_env(rabbitmq_prometheus, return_per_object_metrics, true).'

To go back to aggregated metrics on-the-fly, run the following command:

rabbitmqctl eval 'application:set_env(rabbitmq_prometheus, return_per_object_metrics, false).'

Contributing

See CONTRIBUTING.md.

Makefile

This project uses erlang.mk, running make help will return erlang.mk help.

To see all custom targets that have been documented, run make h.

For Bash shell autocompletion, run eval "$(make autocomplete)", then type make a<TAB> to see all Make targets starting with the letter a, e.g.:

$ make a<TAB
ac               all.coverdata    app-build        apps             apps-eunit       asciidoc-guide   autocomplete
all              app              app-c_src        apps-ct          asciidoc         asciidoc-manual

(c) 2007-2020 VMware, Inc. or its affiliates.