{
  "schema_version": 2,
  "id": "integrate/prometheus-with-redis-enterprise",
  "title": "Prometheus and Grafana with Redis Software",
  "url": "https://redis.io/docs/latest/integrate/prometheus-with-redis-enterprise/",
  "summary": "Use Prometheus and Grafana to collect and visualize Redis Software metrics.",
  "tags": [
    "docs",
    "integrate",
    "rs"
  ],
  "last_updated": "2026-01-30T12:29:26-06:00",
  "children": [
    {
      "id": "integrate/prometheus-with-redis-enterprise/observability",
      "summary": "Using monitoring and observability with Redis Software",
      "title": "Redis Software observability and monitoring guidance",
      "url": "https://redis.io/docs/latest/integrate/prometheus-with-redis-enterprise/observability/"
    },
    {
      "id": "integrate/prometheus-with-redis-enterprise/prometheus-metrics-v1",
      "summary": "V1 metrics available to Prometheus.",
      "title": "Prometheus metrics v1",
      "url": "https://redis.io/docs/latest/integrate/prometheus-with-redis-enterprise/prometheus-metrics-v1/"
    },
    {
      "id": "integrate/prometheus-with-redis-enterprise/prometheus-metrics-v1-to-v2",
      "summary": "Transition from v1 metrics to v2 PromQL equivalents.",
      "title": "Transition from Prometheus v1 to Prometheus v2",
      "url": "https://redis.io/docs/latest/integrate/prometheus-with-redis-enterprise/prometheus-metrics-v1-to-v2/"
    },
    {
      "id": "integrate/prometheus-with-redis-enterprise/prometheus-metrics-definitions",
      "summary": "V2 metrics available to Prometheus as of Redis Software version 7.8.2.",
      "title": "Prometheus metrics v2",
      "url": "https://redis.io/docs/latest/integrate/prometheus-with-redis-enterprise/prometheus-metrics-definitions/"
    }
  ],
  "page_type": "content",
  "content_hash": "05317c5c74e088f31dc3862127969fbc245e7a2555f626bf3d5320def596a590",
  "sections": [
    {
      "id": "overview",
      "title": "Overview",
      "role": "overview",
      "text": "You can use Prometheus and Grafana to collect and visualize your Redis Software metrics.\n\nMetrics are exposed at the cluster, node, database, shard, and proxy levels.\n\n\n- [Prometheus](https://prometheus.io/) is an open source systems monitoring and alerting toolkit that aggregates metrics from different sources.\n- [Grafana](https://grafana.com/) is an open source metrics visualization tool that processes Prometheus data.\n\nYou can use Prometheus and Grafana to:\n- Collect and display metrics not available in the Cluster Manager UI\n\n- Set up automatic alerts for all resources\n\n- Display Redis Software metrics alongside data from other systems\n\n![Graphic showing how Prometheus and Grafana collect and display data from a Redis Software Cluster. Prometheus collects metrics from the Redis Software cluster, and Grafana queries those metrics for visualization.](https://redis.io/docs/latest/images/rs/grafana-prometheus.png)\n\nTo get started with Prometheus and Grafana, see the following [quick start](#quick-start) or see [Redis Software Observability with Prometheus and Grafana](https://redis.io/learn/operate/observability/redis-software-prometheus-and-grafana) for a more detailed tutorial."
    },
    {
      "id": "quick-start",
      "title": "Quick start",
      "role": "content",
      "text": ""
    },
    {
      "id": "hardware-requirements",
      "title": "Hardware requirements",
      "role": "content",
      "text": "The minimum hardware requirements to set up Redis Enterprise Software monitoring in production using Prometheus, Grafana, and the metrics stream engine are:\n\n- **CPU**: 4 vCPUs\n- **Memory**: 8-12 GB RAM\n- **Storage**: 100 GB SSD\n\nYou should also consider the following to determine your deployment's hardware requirements:\n\n- The number of Redis instances being scraped.\n\n- Lower scrape intervals, such as 15 seconds versus 1 minute, increase resource usage. The Redis scraping interval is 30 seconds.\n\n- Longer retention increases storage requirements. Basic retention is 90 days.\n\n- For high availability, run Prometheus in a replicated or federated mode for redundancy, and use Grafana’s load balancing for multiple users.\n\n- Factor in overhead if Prometheus is writing metrics to remote storage such as Thanos or Cortex.\n\n- Ensure high disk IOPS for Prometheus TSDB for better write and read performance.\n\nFor more details about Grafana hardware requirements, see the [offical Grafana documentation](https://grafana.com/docs/enterprise-traces/latest/setup/hardware-requirements/)."
    },
    {
      "id": "setup-steps",
      "title": "Setup steps",
      "role": "setup",
      "text": "To get started with Prometheus and Grafana:\n\n1. Install Docker on your system. For installation instructions, see the [official Docker documentation](https://docs.docker.com/get-started/get-docker/).\n\n1. Create a directory called 'prometheus' on your local machine.\n\n1. Within that directory, create a configuration file called `prometheus.yml`.\n1. Add the following contents to the configuration file and replace `<cluster_name>` with your Redis Software cluster's FQDN:\n\n    **v2 (metrics stream engine):**\n\n[code example]\n\n**v1 (deprecated):**\n\n[code example]\n\n\n\n    > [!NOTE]\n    > **Use a single scrape target.** The v2 endpoint is cluster-wide. Every node aggregates metrics from all nodes and returns the same complete result, so one target is enough. If you list one target per node, Prometheus stores every series once per target and multiplies each `sum()`-based dashboard panel by the number of targets. This produces no error. Prometheus reports every target as up and Grafana renders normally. Use your cluster FQDN as the single target so metrics remain available if a node goes down.\n\n1. Set up your Prometheus and Grafana servers. See the official [Prometheus installation](https://prometheus.io/docs/prometheus/latest/installation/) and [Grafana installation](https://grafana.com/docs/grafana/latest/setup-grafana/installation/) documentation for help.\n\n    > [!NOTE]\n    > We recommend running Prometheus in Docker only for development and testing.\n\n    To set up Prometheus and Grafana on Docker, follow these steps. For additional help, see the official [Prometheus](https://prometheus.io/docs/prometheus/latest/installation/#using-docker) and [Grafana](https://grafana.com/docs/grafana/latest/setup-grafana/installation/docker/) Docker image documentation.\n\n    1. Create a _docker-compose.yml_ file:\n\n        [code example]\n\n    1. To start the containers, run:\n\n        [code example]\n\n    1. To check that all of the containers are up, run: \n    \n        [code example]\n\n    1. In your browser, sign in to Prometheus at `http://localhost:9090` to make sure the server is running.\n\n    1. Select **Status** and then **Targets** to check that Prometheus is collecting data from your Redis Software cluster.\n\n        ![The Redis Software target showing that Prometheus is connected to the Redis Software Cluster.](https://redis.io/docs/latest/images/rs/prometheus-target.png)\n\n        If Prometheus is connected to the cluster, you can type **node_up** in the Expression field on the Prometheus home page to see the cluster metrics.\n\n        To confirm you are not scraping duplicate targets, query `count(up{job=\"redis-enterprise\"})`. A correct configuration returns `1`. To confirm the cluster can reach every node, query `node_metrics_up`, which reports `0` for any node the aggregator failed to scrape.\n\n1. Configure the Grafana datasource:\n\n    1. Sign in to Grafana. If you installed Grafana locally, go to `http://localhost:3000` and sign in with:\n\n        - Username: admin\n        - Password: secret\n\n    1. In the Grafana configuration menu, select **Data Sources**.\n\n    1. Select **Add data source**.\n\n    1. Select **Prometheus** from the list of data source types.\n\n        ![The Prometheus data source in the list of data sources on Grafana.](https://redis.io/docs/latest/images/rs/prometheus-datasource.png)\n\n    1. Enter the Prometheus configuration information:\n\n        - Name: `redis-enterprise`\n        - URL: `http://<your prometheus server name>:9090`\n\n        ![The Prometheus connection form in Grafana.](https://redis.io/docs/latest/images/rs/prometheus-connection.png)\n\n    > [!NOTE]\n    > - If the network port is not accessible to the Grafana server, select the **Browser** option from the Access menu.\n    > - In a testing environment, you can select **Skip TLS verification**.\n\n1. Add dashboards for cluster, database, node, and shard metrics.\n    To add preconfigured dashboards:\n    1. In the Grafana dashboards menu, select **Manage**.\n    1. Click **Import**.\n    1. Upload one or more [Grafana dashboards](#grafana-dashboards-for-redis-software).\n\n1. To set up alerts in Prometheus or Grafana, see the following resources:\n\n    **v2 (metrics stream engine):**\n\nFor v2 metrics alerts:\n\n- [Official Prometheus alerting documentation](https://prometheus.io/docs/alerting/latest/overview/)\n\n- [Configuring Prometheus for v2 metrics alerts](https://github.com/redis-field-engineering/redis-enterprise-observability/tree/main/prometheus_v2#readme)\n    \n- [Example Prometheus alert rules for v2 metrics](https://github.com/redis-field-engineering/redis-enterprise-observability/blob/main/prometheus_v2/rules/alerts.yml)\n\n- [Tutorial on how to set up alerting for Redis](https://redis.io/tutorials/operate/observability/redis-software-prometheus-and-grafana/#how-do-you-set-up-alerting-for-redis)\n\n- [Official Grafana Alerting documentation](https://grafana.com/docs/grafana/latest/alerting/)\n\n**v1 (deprecated):**\n\nFor v1 metrics alerts:\n\n- [Official Prometheus alerting documentation](https://prometheus.io/docs/alerting/latest/overview/)\n\n- [Configuring Prometheus for v1 metrics alerts](https://github.com/redis-field-engineering/redis-enterprise-observability/tree/main/prometheus#readme)\n    \n- [Example Prometheus alert rules for v1 metrics](https://github.com/redis-field-engineering/redis-enterprise-observability/blob/main/prometheus/rules/alerts.yml)\n\n- [Official Grafana Alerting documentation](https://grafana.com/docs/grafana/latest/alerting/)"
    },
    {
      "id": "grafana-dashboards-for-redis-software",
      "title": "Grafana dashboards for Redis Software",
      "role": "content",
      "text": "Redis publishes preconfigured dashboards for Redis Software and Grafana.\n\n> [!NOTE]\n> V1 dashboards are not compatible with the v2 metrics exporter endpoint. Make sure to use the correct dashboard version for your metrics endpoint.\n\nThese dashboards are open source. For additional dashboard options, or to file an issue, see the [Redis Software observability Github repository](https://github.com/redis-field-engineering/redis-enterprise-observability/).\n\nFor more information about configuring Grafana dashboards, see the [Grafana documentation](https://grafana.com/docs/).\n\n**v2 (metrics stream engine):**\n\nUse the following dashboards when connecting to the v2 metrics endpoint (`https://<cluster_name>:8070/v2`):\n\n* The [cluster status dashboard](https://github.com/redis-field-engineering/redis-enterprise-observability/blob/main/grafana_v2/dashboards/grafana_v9-11/software/basic/redis-software-cluster-dashboard_v9-11.json) provides an overview of your Redis Software clusters.\n* The [database status dashboard](https://github.com/redis-field-engineering/redis-enterprise-observability/blob/main/grafana_v2/dashboards/grafana_v9-11/software/basic/redis-software-database-dashboard_v9-11.json) displays specific database metrics, including latency, memory usage, ops/second, and key count.\n* The [node metrics dashboard](https://github.com/redis-field-engineering/redis-enterprise-observability/blob/main/grafana_v2/dashboards/grafana_v9-11/software/basic/redis-software-node-dashboard_v9-11.json) provides metrics for each of the nodes hosting your cluster.\n* The [shard metrics dashboard](https://github.com/redis-field-engineering/redis-enterprise-observability/blob/main/grafana_v2/dashboards/grafana_v9-11/software/basic/redis-software-shard-dashboard_v9-11.json) displays metrics for the individual Redis processes running on your cluster nodes.\n* The [Active-Active dashboard](https://github.com/redis-field-engineering/redis-enterprise-observability/blob/main/grafana_v2/dashboards/grafana_v9-11/software/basic/redis-software-active-active-dashboard_v9-11.json) displays metrics specific to [Active-Active databases](https://redis.io/docs/latest/operate/rs/databases/active-active).\n* The [QPS dashboard - Redis Search metrics](https://github.com/redis-field-engineering/redis-enterprise-observability/blob/main/grafana_v2/dashboards/grafana_v9-11/search/RediSearchQPS.json) displays metrics specific to Redis Search, showcasing QPS, Query Latency, Indexing performance, and more.\n* The [OPS dashboards](https://github.com/redis-field-engineering/redis-enterprise-observability/tree/main/grafana_v2/dashboards/grafana_v9-11/software/ops) are advanced operational dashboards for on-premises deployments.\n\n**v1 (deprecated):**\n\nUse the following dashboards when connecting to the v1 metrics endpoint (`https://<cluster_name>:8070/`):\n\n* The [cluster status dashboard](https://github.com/redis-field-engineering/redis-enterprise-observability/blob/main/grafana/dashboards/grafana_v9-11/software/basic/redis-software-cluster-dashboard_v9-11.json) provides an overview of your Redis Software clusters.\n* The [database status dashboard](https://github.com/redis-field-engineering/redis-enterprise-observability/blob/main/grafana/dashboards/grafana_v9-11/software/basic/redis-software-database-dashboard_v9-11.json) displays specific database metrics, including latency, memory usage, ops/second, and key count.\n* The [node metrics dashboard](https://github.com/redis-field-engineering/redis-enterprise-observability/blob/main/grafana/dashboards/grafana_v9-11/software/basic/redis-software-node-dashboard_v9-11.json) provides metrics for each of the nodes hosting your cluster.\n* The [shard metrics dashboard](https://github.com/redis-field-engineering/redis-enterprise-observability/blob/main/grafana/dashboards/grafana_v9-11/software/basic/redis-software-shard-dashboard_v9-11.json) displays metrics for the individual Redis processes running on your cluster nodes.\n* The [Active-Active dashboard](https://github.com/redis-field-engineering/redis-enterprise-observability/blob/main/grafana/dashboards/grafana_v9-11/software/basic/redis-software-active-active-dashboard_v9-11.json) displays metrics specific to [Active-Active databases](https://redis.io/docs/latest/operate/rs/databases/active-active)."
    }
  ],
  "examples": [
    {
      "id": "setup-steps-ex0",
      "language": "yml",
      "code": "global:\n  scrape_interval: 15s\n  evaluation_interval: 15s\n\n# Attach these labels to any time series or alerts when communicating with\n# external systems (federation, remote storage, Alertmanager).\n  external_labels:\n    monitor: \"prometheus-stack-monitor\"\n\n# Load and evaluate rules in this file every 'evaluation_interval' seconds.\n#rule_files:\n# - \"first.rules\"\n# - \"second.rules\"\n\nscrape_configs:\n# scrape Prometheus itself\n  - job_name: prometheus\n    scrape_interval: 10s\n    scrape_timeout: 5s\n    static_configs:\n      - targets: [\"localhost:9090\"]\n\n# scrape Redis Software\n  - job_name: redis-enterprise\n    scrape_interval: 30s\n    scrape_timeout: 30s\n    metrics_path: /v2\n    scheme: https\n    tls_config:\n      insecure_skip_verify: true\n    static_configs:\n      - targets: [\"<cluster_name>:8070\"]",
      "section_id": "setup-steps"
    },
    {
      "id": "setup-steps-ex1",
      "language": "yml",
      "code": "global:\n  scrape_interval: 15s\n  evaluation_interval: 15s\n\n# Attach these labels to any time series or alerts when communicating with\n# external systems (federation, remote storage, Alertmanager).\n  external_labels:\n    monitor: \"prometheus-stack-monitor\"\n\n# Load and evaluate rules in this file every 'evaluation_interval' seconds.\n#rule_files:\n# - \"first.rules\"\n# - \"second.rules\"\n\nscrape_configs:\n# scrape Prometheus itself\n  - job_name: prometheus\n    scrape_interval: 10s\n    scrape_timeout: 5s\n    static_configs:\n      - targets: [\"localhost:9090\"]\n\n# scrape Redis Software\n  - job_name: redis-enterprise\n    scrape_interval: 30s\n    scrape_timeout: 30s\n    metrics_path: /\n    scheme: https\n    tls_config:\n      insecure_skip_verify: true\n    static_configs:\n      - targets: [\"<cluster_name>:8070\"]",
      "section_id": "setup-steps"
    },
    {
      "id": "setup-steps-ex2",
      "language": "yml",
      "code": "version: '3'\n        services:\n            prometheus-server:\n                image: prom/prometheus\n                ports:\n                    - 9090:9090\n                volumes:\n                    - ./prometheus/prometheus.yml:/etc/prometheus/prometheus.yml\n                    # Persistent storage for Prometheus\n                    - prometheus-data:/prometheus\n\n            grafana-ui:\n                image: grafana/grafana\n                ports:\n                    - 3000:3000\n                environment:\n                    - GF_SECURITY_ADMIN_PASSWORD=secret\n                volumes:\n                    # Persistent storage for Grafana\n                    - grafana-storage:/var/lib/grafana\n                links:\n                    - prometheus-server:prometheus\n\n        # Define Docker-managed volumes for persistent storage\n        # These volumes are created automatically and persist data between container restarts\n        volumes:\n            prometheus-data:\n            grafana-storage:",
      "section_id": "setup-steps"
    },
    {
      "id": "setup-steps-ex3",
      "language": "sh",
      "code": "$ docker compose up -d",
      "section_id": "setup-steps"
    },
    {
      "id": "setup-steps-ex4",
      "language": "sh",
      "code": "docker ps",
      "section_id": "setup-steps"
    }
  ]
}
