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 对等或Private Service Connect。这两个选项仅适用于 Redis Cloud Pro。您不能将 Prometheus 和 Grafana 与 Redis Cloud Essentials 一起使用。
有关 Prometheus 如何与 Redis Enterprise 集群通信的更多信息,请参阅Prometheus 与 Redis Enterprise 软件的集成。
快速启动
您可以使用 Prometheus 和 Grafana Docker 镜像快速设置 Prometheus 和 Grafana 进行测试。
先决条件
-
设置VPC 对等连接。
-
将 Prometheus 端点从私有端点提取到您的数据库。私有端点位于Redis Cloud 控制台的数据库配置选项卡下。Prometheus 端点位于内部服务器的端口 8070 上。
例如,如果你的专用终结点是:For example, if your private end point is:
redis-12345.internal.<cluster_address>:12345Prometheus 端点是:
internal.<cluster_address>:8070 -
创建一个实例,在与 Redis Cloud 订阅相同的云提供商(例如 Amazon Web Services 或 Google Cloud)上运行 Prometheus 和 Grafana。此实例必须:
- 与您的 Redis Cloud 订阅位于同一区域。
- 连接到与您的 Redis Cloud 订阅对等的 VPC 子网。
- 允许到端口 8070 的出站连接,以便 Prometheus 可以从 Redis 云服务器抓取数据。
- 允许 Prometheus 的入站连接端口 9090 和 Grafana 的入站连接端口 3000。
设置 Prometheus
要开始使用 Docker 上的 Prometheus 进行自定义监控:
-
在名为 Prometheus 的实例上创建一个目录,并在该目录中
prometheus创建一个文件。prometheus.yml -
将以下内容添加到
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: / scheme: https static_configs: - targets: ["<prometheus_endpoint>:8070"] -
创建一个
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 -
要启动容器,请运行:
$ docker compose up -d -
要检查所有容器是否启动,请运行:
docker ps -
在您的浏览器中,登录 Prometheus 以
http://localhost:9090确保服务器正在运行。 -
选择“状态”,然后选择“目标”来检查 Prometheus 是否正在从 Redis Cloud 集群收集数据。
如果 Prometheus 已连接到集群,您可以在 Prometheus 主页的 Expression 字段中输入node_up来查看集群指标。
有关 Prometheus 从 Redis Enterprise 集群收集的指标列表,请参阅Prometheus Metrics 。
设置 Grafana
一旦 Prometheus 和 Grafana Docker 容器运行,并且 Prometheus 连接到您的 Redis Cloud 订阅,您就可以设置您的 Grafana 仪表板。
-
登录 Grafana。如果你使用 Docker 安装了 Grafana,请转到
http://localhost:3000并使用以下命令登录:- 用户名:
admin - 密码:
secret
- 用户名:
-
在 Grafana 配置菜单中,选择数据源。
-
选择添加数据源。
-
从数据源类型列表中选择Prometheus 。
-
输入Prometheus配置信息:
- 姓名:
redis-cloud - 网址:
http://prometheus-server:9090 - 使用权:
Server
笔记:- 如果 Grafana 服务器无法访问网络端口,请从访问菜单中选择浏览器选项。
- 在测试环境中,您可以选择跳过 TLS 验证。
- 姓名:
-
为您的订阅和数据库指标添加仪表板。要添加预配置的仪表板:
适用于 Redis Cloud 的 Grafana 仪表板
Redis 发布了针对 Redis Cloud 和 Grafana 的预配置仪表板:
- 订阅状态仪表板提供了您的 Redis Cloud 订阅的概览。
- 数据库状态仪表板显示特定的数据库指标,包括延迟、内存使用情况、每秒操作数和密钥数。
- Active-Active 仪表板显示特定于Active-Active 数据库的指标。
这些仪表板是开源的。如需其他仪表板选项或提交问题,请参阅Redis Enterprise 可观察性 Github 存储库。
有关配置 Grafana 仪表板的更多信息,请参阅Grafana 文档。