Prometheus 和 Grafana 与 Redis Cloud

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

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

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

Redis Cloud 通过 Prometheus 端点暴露其指标。您可以将 Prometheus 服务器配置为从您 Redis Cloud 订阅的 8070 端口抓取指标。

Redis Cloud Prometheus 端点在 Redis Cloud 的内部网络上暴露。要访问此网络,请启用 VPC 对等连接私有服务连接。这两种选项仅适用于 Redis Cloud Pro。您不能将 Prometheus 和 Grafana 与 Redis Cloud Essentials 一起使用。

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

快速入门

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

先决条件

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

  2. 设置 VPC 对等连接

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

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

    redis-12345.internal.<cluster_address>:12345
    

    Prometheus 端点是

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

    • 与您的 Redis Cloud 订阅位于同一区域。

    • 连接到与您的 Redis Cloud 订阅对等连接的 VPC 子网。

    • 允许出站连接到 8070 端口,以便 Prometheus 可以从 Redis Cloud 服务器抓取数据。

    • 允许入站连接到 9090 端口(用于 Prometheus)和 3000 端口(用于 Grafana)。

    • 位于 RFC-1918 内部 IP 标准的 CIDR 范围之一内,该标准包含三个 CIDR 范围

      • 10.0.0.0/8
      • 172.16.0.0/12
      • 192.168.0.0/16

      Prometheus 端点根据此标准受到白名单限制。

设置 Prometheus

要在 Docker 上使用 Prometheus 进行自定义监控,请执行以下步骤:

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

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

    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: /  # For v2, use /v2
        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. 在您的浏览器中,登录 Prometheus(地址为 http://localhost:9090),以确保服务器正在运行。

  7. 选择 Status(状态),然后选择 Targets(目标),以检查 Prometheus 是否正在从 Redis Cloud 集群收集数据。

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

    如果 Prometheus 已连接到集群,您可以在 Prometheus 主页的“Expression”(表达式)字段中输入 node_up 来查看集群指标。

有关 Prometheus 从 Redis Enterprise 集群收集的指标列表,请参阅 Prometheus 指标

设置 Grafana

一旦 Prometheus 和 Grafana Docker 容器正在运行,并且 Prometheus 已连接到您的 Redis Cloud 订阅,您就可以设置您的 Grafana 仪表板。

  1. 登录 Grafana。如果您使用 Docker 安装了 Grafana,请访问 http://localhost:3000 并使用以下凭据登录:

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

  3. 选择 Add data source(添加数据源)。

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

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

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

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

适用于 Redis Cloud 的 Grafana 仪表板

Redis 发布了适用于 Redis Cloud 和 Grafana 的预配置仪表板

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

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

评价此页面
回到顶部 ↑