如何构建一个Grafana仪表板来监控你的RPC基础设施

本文介绍了如何使用 QuickNode 的 Console API 和 Docker 快速搭建 Grafana 仪表盘,以监控 RPC 基础设施的性能指标。文章详细列出了必要的工具和步骤,包括 API 密钥的创建、Prometheus 和 Grafana 的设置以及如何访问和自定义仪表盘,适合具备基础知识的技术人员。

概述

在本指南中,我们将引导你如何利用 QuickNode Console API 的 Prometheus 支持,构建用于高级指标可视化的 Grafana 仪表板。

你将要做的事情

  • 设置一个 Prometheus exporter,并构建一个 Grafana 仪表板以监控你的 RPC 基础设施

你需要的东西

Prometheus exporter 仅对我们的 Enterprise 客户开放。如果你感兴趣,请 联系我们

QuickNode Console API 简介

QuickNode Console API 提供了强大的编程访问权限,允许你管理基础设施、监控性能和更有效地控制你的成本。在本指南中,我们将专注于使用 Prometheus exporter 来构建一个全面的监控仪表板与 Grafana。

如果你想了解如何使用 Console API 进行端点管理,请查看我们的指南:如何使用 QuickNode Console API 管理你的 RPC 基础设施

先决条件

QuickNode 账户和 API 密钥

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

  1. 登录到你的 QuickNode 账户
  2. 点击左上角的头像图标,选择 API Keys 访问 API Keys 页面
  3. 生成具有适当权限的 API 密钥 (你需要 CONSOLE_REST 来使用 Console API) 并保管好,因为稍后你将需要使用它。

API 密钥

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 Console API.json  # Grafana 仪表板 JSON 文件
│   ├── provisioning
│   │   ├── dashboards
│   │   │   └── main.yaml                   # 加载仪表板到 Grafana 的配置
│   │   └── datasources
│   │       └── prometheus-source.yaml      # 连接 Grafana 到 Prometheus 的配置
├── prometheus
│   └── prometheus.yaml                     # Prometheus 配置文件

请按照以下步骤进行操作:

第一步:克隆示例项目存储库

打开你的终端/命令提示符,克隆存储库:

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

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

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

第二步:更新你的 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: "http"
    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 字段。 为此,你可以简单地取消上述示例中高亮显示行的注释。

第三步:使用 Docker 启动 Prometheus 和 Grafana

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

docker-compose up

添加 -d 标志以在后台模式下启动服务。

第四步:访问 Grafana 查看你的仪表板

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

你现在应该会看到展示来自 QuickNode 端点的指标的仪表板。

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

Grafana 仪表板

该仪表板提供以下面板,以帮助你监控你的 QuickNode 基础设施:

  • QuickNode RPC 请求(仪表盘):显示发送到你的 QuickNode 端点的当前 RPC 请求总数。
  • QuickNode RPC 额度(仪表盘):显示你的 QuickNode 端点使用的总额度。
  • 过去 30 天的 QuickNode RPC 请求总数:显示过去 30 天的 RPC 请求总数的时间序列图表。
  • 过去 30 天的 QuickNode RPC 额度总数:显示过去 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 目标

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

docker-compose down

结论

恭喜你!🎉 你成功构建了一个 Grafana 仪表板,以监控你的 QuickNode 指标,使用了 Prometheus。此设置为你提供了实时洞察 RPC 基础设施的宝贵信息,使你能够优化性能并保持可见性。

如果你有任何问题或建议,请直接 联系我们。此外,通过关注我们的 Twitter 和加入我们的 DiscordTelegram公告频道 来获取最新动态。

我们 ❤️ 反馈!

告诉我们 如果你有任何反馈或对新主题的请求。我们非常希望听到你的意见。

附加资源

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

0 条评论

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