Prometheus 和 Grafana 与 Redis Cloud

使用 Prometheus 和 Grafana 收集和可视化 Redis Cloud 指标。

您可以使用 Prometheus 和 Grafana 收集和可视化您的 Redis Cloud 指标。

  • Prometheus 是一款开源系统监控和警报工具包,可以从不同来源抓取指标。
  • Grafana 是一款开源指标可视化工具,可以处理 Prometheus 数据。

Redis Cloud 通过 Prometheus 端点公开其指标。您可以配置 Prometheus 服务器以从端口 8070 上的 Redis Cloud 订阅抓取指标。

Redis Cloud Prometheus 端点在 Redis Cloud 的内部网络上公开。要访问此网络,请启用 VPC 对等连接私有服务连接。这两种选项仅适用于 Redis Cloud Pro。您无法将 Prometheus 和 Grafana 与 Redis Cloud Essentials 配合使用。

有关 Prometheus 如何与 Redis Enterprise 集群通信的更多信息,请参阅 Prometheus 与 Redis Enterprise 软件集成

快速入门

您可以使用 Prometheus 和 Grafana Docker 映像快速设置 Prometheus 和 Grafana 进行测试。

先决条件

  1. 创建一个 Redis Cloud Pro 数据库

  2. 设置 VPC 对等连接

  3. 从私有端点提取到数据库的 Prometheus 端点。私有端点位于 Redis 云控制台 的数据库 配置选项卡 下。Prometheus 端点位于内部服务器的 8070 端口。

    例如,如果您的私有端点是

    redis-12345.internal.<cluster_address>:12345
    

    Prometheus 端点是

    internal.<cluster_address>:8070
    
  4. 创建实例以在与 Redis 云订阅相同的云提供商(例如,Amazon Web Services 或 Google Cloud)上运行 Prometheus 和 Grafana。此实例必须

    • 与您的 Redis 云订阅位于同一个区域。
    • 连接到与您的 Redis 云订阅对等连接的 VPC 子网。
    • 允许出站连接到 8070 端口,以便 Prometheus 可以从 Redis 云服务器抓取数据。
    • 允许入站连接到 9090 端口(用于 Prometheus)和 3000 端口(用于 Grafana)。

设置 Prometheus

要开始使用 Docker 上的 Prometheus 进行自定义监控

  1. 在 Prometheus 实例上创建一个名为 prometheus 的目录,并在该目录中创建一个 prometheus.yml 文件。

  2. 将以下内容添加到 prometheus.yml 中。用 Prometheus 端点替换 <prometheus_endpoint>

    global:
        scrape_interval: 15s
        evaluation_interval: 15s
    
        # Attach these labels to any time series or alerts when communicating with
        # external systems (federation, remote storage, Alertmanager).
        external_labels:
            monitor: "prometheus-stack-monitor"
    
    # Load and evaluate rules in this file every 'evaluation_interval' seconds.
    #rule_files:
    # - "first.rules"
    # - "second.rules"
    
    scrape_configs:
        # scrape Prometheus itself
        - job_name: prometheus
        scrape_interval: 10s
        scrape_timeout: 5s
        static_configs:
          - targets: ["localhost:9090"]
    
        # scrape Redis Cloud
        - job_name: redis-cloud
        scrape_interval: 30s
        scrape_timeout: 30s
        metrics_path: /
        scheme: https
        static_configs:
          - targets: ["<prometheus_endpoint>:8070"]
    
  3. 创建一个 docker-compose.yml 文件,其中包含设置 Prometheus 和 Grafana Docker 映像的说明。

    version: '3'
    services:
        prometheus-server:
            image: prom/prometheus
            ports:
                - 9090:9090
            volumes:
                - ./prometheus/prometheus.yml:/etc/prometheus/prometheus.yml
    
        grafana-ui:
            image: grafana/grafana
            ports:
                - 3000:3000
            environment:
                - GF_SECURITY_ADMIN_PASSWORD=secret
            links:
                - prometheus-server:prometheus
    
  4. 要启动容器,请运行

    $ docker compose up -d
    
  5. 要检查所有容器是否已启动,请运行:docker ps

  6. 在浏览器中,登录到 https://#:9090 上的 Prometheus,以确保服务器正在运行。

  7. 选择 **状态**,然后选择 **目标**,以检查 Prometheus 是否正在从 Redis 云集群收集数据。

    The Redis Enterprise target showing that Prometheus is connected to the Redis Enterprise Cluster.

    如果 Prometheus 已连接到集群,则可以在 Prometheus 主页的表达式字段中键入 **node_up** 以查看集群指标。

请参阅 Prometheus 指标,了解 Prometheus 从 Redis Enterprise 集群收集的指标列表。

设置 Grafana

一旦 Prometheus 和 Grafana Docker 容器运行起来,并且 Prometheus 连接到您的 Redis 云订阅后,您就可以设置 Grafana 仪表板。

  1. 登录 Grafana。如果您使用 Docker 安装了 Grafana,请转到 https://#:3000 并使用以下信息登录

    • 用户名:admin
    • 密码:secret
  2. 在 Grafana 配置菜单中,选择 **数据源**。

  3. 选择 **添加数据源**。

  4. 从数据源类型列表中选择 **Prometheus**。

    The Prometheus data source in the list of data sources on Grafana.
  5. 输入 Prometheus 配置信息

    • 名称:redis-cloud
    • URL:http://prometheus-server:9090
    • 访问:服务器
    The Prometheus connection form in Grafana.
    注意
    • 如果网络端口无法访问 Grafana 服务器,请从访问菜单中选择 **浏览器** 选项。
    • 在测试环境中,可以选择 **跳过 TLS 验证**。
  6. 为您的订阅和数据库指标添加仪表板。要添加预配置的仪表板

    1. 在 Grafana 仪表板菜单中,选择 **管理**。
    2. 选择 **导入**。
    3. 添加 订阅状态数据库状态 仪表板。

用于 Redis 云的 Grafana 仪表板

Redis 为 Redis 云和 Grafana 发布了预配置的仪表板

这些仪表板是开源的。有关更多仪表板选项,或要提交问题,请参阅 Redis Enterprise 可观测性 Github 存储库

有关配置 Grafana 仪表板的更多信息,请参阅 Grafana 文档

RATE THIS PAGE
Back to top ↑