使用 Prometheus Exporter 监控 RPC 基础设施

本文详细介绍了如何利用Quicknode的Prometheus Exporter、Prometheus和Grafana构建一个监控仪表盘,以实时跟踪和可视化Quicknode RPC基础设施的各项指标。通过Docker设置,用户可以轻松配置API密钥,启动监控服务,并查看RPC请求、信用消耗和响应时间等关键数据。

概述

Quicknode 的 Prometheus Exporter 允许你将平台和基础设施指标流式传输到你现有的可观测性堆栈,以实现实时系统健康监控。

在本指南中,我们将引导你如何利用 Quicknode Admin API 的 Prometheus 支持来构建 Grafana 控制面板,以实现高级指标可视化,从而监控你的 Quicknode 端点。

日志保留

Quicknode 还为企业版计划提供平台和基础设施的 14 天日志保留。更多信息请参阅我们的定价页面

你将完成什么

  • 设置 Prometheus exporter 并构建一个 Grafana 控制面板来监控你的 RPC 基础设施

你将需要什么

Prometheus exporter 仅适用于我们的 企业版 客户。如果你有兴趣,请联系我们

Quicknode Admin API 简介

Quicknode Admin API 提供强大的编程访问能力,可访问用户控制面板中所有可用操作,使你能够更有效地管理你的基础设施、监控性能和控制成本。在本指南中,我们将重点介绍如何使用 Prometheus Exporter 访问详细的系统指标,并使用 Grafana 构建一个全面的监控控制面板。

如果你有兴趣了解如何使用 Admin API 进行端点管理,请查看我们的指南:如何使用 Quicknode Admin API 管理你的 RPC 基础设施

先决条件

Quicknode 账户和 API 密钥

创建你的 API 密钥非常简单。

  1. 登录你的 Quicknode 账户
  2. 点击左上角的头像图标,然后选择 API Keys 访问 API Keys 页面
  3. 生成一个具有适当权限的 API 密钥 (你需要 CONSOLE_REST 才能使用 Admin API) 并将其妥善保存,你很快就会用到它。

API Key

Docker Desktop

确保你已安装并运行 Docker Desktop。我们将使用 Docker 快速启动 Prometheus 和 Grafana。

使用 Prometheus Exporter 构建 Grafana 控制面板

在本节中,我们将引导你使用 Docker 设置 Prometheus 和 Grafana 来监控你的 Quicknode 指标。由于我们将使用 Docker,你无需单独安装 Prometheus 和 Grafana。

info

Prometheus:一个开源监控系统,它将指标收集并存储为时间序列数据,使你能够跟踪和分析各种性能指标随时间的变化。

Grafana:一个强大的开源分析和可视化工具,它允许你创建动态、交互式控制面板,用于可视化来自 Prometheus 等数据源的指标。

Docker:一个用于开发、交付和运行容器化应用程序的平台。在此设置中,我们将使用 Docker 在隔离的容器中运行 Prometheus 和 Grafana,从而简化安装和配置过程。

我们已经在 Quicknode 的 qn-guide-examples 仓库中创建了一个文件夹,其中包含 Prometheus 和 Grafana 的所有必要配置文件。

项目结构

.
├── docker-compose.yaml                     # 用于启动 Prometheus 和 Grafana 的 Docker Compose 文件
├── grafana
│   ├── dashboards
│   │   │   └── Quicknode Admin API.json  # Grafana 控制面板 JSON 文件
│   ├── provisioning
│   │   ├── dashboards
│   │   │   └── main.yaml                   # 用于将控制面板加载到 Grafana 的配置
│   │   └── datasources
│   │       └── prometheus-source.yaml      # 用于将 Grafana 连接到 Prometheus 的配置
├── prometheus
│   └── prometheus.yaml                     # Prometheus 配置文件

请按照以下步骤开始:

步骤 1:克隆示例项目仓库

打开你的终端/命令行并克隆仓库:

git clone https://github.com/quiknode-labs/qn-guide-examples.git

导航到克隆仓库中的 grafana-dashboard 文件夹:

cd qn-guide-examples/admin-api/grafana-dashboard

步骤 2:更新你的 API 密钥

打开 prometheus 目录中的 prometheus.yaml 文件。

<YOUR_API_KEY> 替换为你之前生成的实际 Quicknode API 密钥:

prometheus/prometheus.yaml

global:
  scrape_interval: 30s

scrape_configs:
  - job_name: "quicknode_prometheus_exporter"
    metrics_path: "v0/prometheus/metrics"
    scheme: "https"
    authorization:
      type: "bearer"
      credentials: "<API_KEY>"
    # fallback_scrape_protocol: PrometheusText0.0.4
    static_configs:
      - targets: ["api.quicknode.com"]

info

注意:如果你正在使用 Prometheus 3.x,你可能需要向 scrape_configs 部分添加 fallback_scrape_protocol 字段。 为此,你只需取消注释上述示例中高亮显示的行即可。

步骤 3:使用 Docker 启动 Prometheus 和 Grafana

我们已经预配置了一个 docker-compose.yaml 文件来简化设置。你可以通过从根目录(即 grafana-dashboard)运行以下命令来启动 Prometheus 和 Grafana:

docker-compose up

添加 -d 标志以分离模式启动服务,使其在后台运行。

步骤 4:访问 Grafana 并查看你的控制面板

  1. 打开网页浏览器并访问 http://localhost:3000
  2. 使用项目凭据登录(用户名:admin,密码:password)(在 docker-compose.yaml 文件中确定)。
  3. 导航到 Dashboards
  4. 找到并点击 Quicknode Admin API 控制面板。

你现在应该能看到显示你的 Quicknode 端点指标的控制面板。

注意:如果控制面板显示为空,则表示你的端点尚未有任何活动。请确保执行一些活动(例如,向你的端点发送 RPC 请求)以开始生成将反映在控制面板上的数据。

Grafana Dashboard

该控制面板提供以下面板,帮助你监控你的 Quicknode 基础设施:

  • Quicknode RPC 请求 (Gauge):显示发送到你的 Quicknode 端点的当前 RPC 请求总数。
  • Quicknode RPC 积分 (Gauge):显示你的 Quicknode 端点使用的总积分。
  • Quicknode RPC 请求总数(过去 30 天):一个时间序列图表,显示过去 30 天的 RPC 请求总数。
  • Quicknode RPC 积分总数(过去 30 天):一个时间序列图表,显示过去 30 天的总积分使用情况。
  • Quicknode 端点响应状态:显示你的 Quicknode 端点请求的响应状态(例如,200、400 等)。
  • Quicknode 端点响应时间最大值:显示你的端点的最大响应时间。

你可以根据需要随意自定义控制面板,例如编辑面板、添加新面板或调整时间范围。

直接探索 Prometheus 指标

如果你想直接探索 Prometheus 收集的指标,可以按照以下步骤操作:

  • 打开网页浏览器并访问 http://localhost:9090
  • 在 Prometheus 界面中导航到 Status > Targets,以确认 Quicknode 目标已列出并处于 UP 状态。
  • 检查 Quicknode 暴露的关键指标:

    • 导航到 Graph 选项卡。
    • 在表达式框中,逐一输入以下指标并点击 Execute

      • quicknode_rpc_credits
      • quicknode_rpc_requests
      • quicknode_rpc_response_status
      • quicknode_rpc_response_time_max
    • 这将允许你以图表或表格形式查看正在收集的原始数据。

Prometheus Targets

完成后,你可以通过运行以下命令停止服务:

docker-compose down

结论

恭喜!🎉 你已成功连接到 Quicknode Prometheus Exporter,从你的 RPC 基础设施中拉取高级指标,并构建了一个 Grafana 控制面板来监控你的系统健康状况。此设置为你提供了关于 RPC 基础设施的宝贵实时洞察,使你能够优化性能并保持可见性。

如果你有任何问题、想法或建议,请直接联系我们。此外,请关注我们的 X 并加入我们的 DiscordTelegram 公告频道 以获取最新消息。

我们 ❤️ 反馈!

告诉我们 你有任何反馈或对新主题的请求。我们很乐意听取你的意见。

附加资源

  • 原文链接: quicknode.com/guides/qui...
  • 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
QuickNode
QuickNode
江湖只有他的大名,没有他的介绍。