打造以太坊数据监控利器:InfluxDB与Grafana构建Geth可视化分析平台

前言

以太坊客户端收集大量数据,这些数据可以按时间顺序数据库的形式读取。为了简化监控,这些数据可以输入到数据可视化软件中。在此页面上,将配置 Geth 客户端以将数据推送到 InfluxDB 数据库,并使用 Grafana 来可视化数据。

一、下载安装InfluxDB

官网:https://www.influxdata.com/downloads/

选择与自己系统适配的进行下载,下载完成之后,将这些文件进行解压,然后安装

Window:

打开window的powershell输入

shell 复制代码
wget https://download.influxdata.com/influxdb/releases/influxdb2-2.7.10-windows.zip -UseBasicParsing -OutFile influxdb2-2.7.10-windows.zip
Expand-Archive .\influxdb2-2.7.10-windows.zip -DestinationPath 'C:\Program Files\InfluxData\influxdb\'

二、下载安装Grafana

官网:https://grafana.com/grafana/download?platfrom=windows

选择与自己系统适配的进行下载,下载完成之后,将这些文件进行解压,然后安装

三、启动并配置InfluxDB

在influxDB所在文件夹打开CMD窗口,并运行 influxd.exe

启动成功之后, 默认情况下,可以通过 localhost:8086 访问它,出现以下页面代表启动成功

在使用 influx 客户端前,你必须创建具有管理员权限的新用户。 该用户将进行高级管理,创建数据库和用户。

在创建的时候我们会创建的是管理员的账号和密码,以及组织和存储桶

我设置的组织是aaa

我设置的存储桶是bbb

创建完毕后会给你一个token,记得保存下来然后进入以下页面

注意:可以自行下载它的命令行工具,然后去创建更多的用户和存储桶,目前我们只使用超级管理员这个用户来完成

四、启动并配置Geth

设置好InfluxDB数据库后,我们需要在 Geth 中启用指标收集。 留意 geth - help 中的 METRICS AND STATS OPTIONS。 此处可以找到多个选项,在此例中,我们希望 Geth 将数据推送到 InfluxDB。 基本设置指定了端点,可以通过它访问 InfluxDB 并进行数据库身份验证。

输入以下命令启动geth并连接到influxDB,把数据传递过去

将geth命令当中的Token换成自己的token,接着替换database、bucket、organization

shell 复制代码
geth --syncmode full --datadir . --dev --dev.period 7 --networkid  1337   --nodiscover   --ws.origins '*' --ws  --ws.port "8546" --http  --http.corsdomain '*' --nat "any" --http --http.api web3,eth,net  --allow-insecure-unlock --unlock 0 --password ./password.txt  --metrics --metrics.influxdbv2 --metrics.influxdb.endpoint "http://0.0.0.0:8086"   --metrics.influxdb.token "你设置/收到的token"  --metrics.influxdb.bucket "你设置的存储桶名字" --metrics.influxdb.database "你设置的存储桶名字" --metrics.influxdb.organization "你设置的组织名字"

检查InlfuxDB是否拿到了数据

五、启动并配置Grafana

1.启动并配置Grafana

现在grafana目录下的conf目录复制一个sample.ini文件,然后粘贴到当前目录下,并改名为custom.ini,然后打开custom.ini文件,根据关键字http_port找到端口设置, 将端口改为8080,并删除前面的分号;(ini文件中分号;是注释字符,删除可以取消注释)。

这样做的目的是自定义配置文件,因为默认端口号是3000,但是在Windows中这个端口需要额外权限,所以最好改成其他端口号,这里修改为8080

在Geafana的bin目录下启动cmd命令提示符,执行下面命令启动:

shell 复制代码
grafana.exe server

开启之后,在本地浏览器访问:localhost:8080

默认用户名和密码都是admin

2.连接InfluxDB

在主界面,创建一个新的数据源,选择influxDB

接下来进行配置

①选择的是InfluxQL的连接方式

②添加请求头

  • Header: Authorization
  • Value: Token 自己的token

注意:value应该填:Token+空格+一大串的TOKEN字符串

然后配置以下内容

Database:你的存储桶名

User:InfluxDB的用户名

Password:InfluxDB的用户密码

接到自己所需要的数据库,点击Save & test,弹出下图所示的绿框,就说明连接正常

3.导入可视化模板

接下来就需要我们导入可视化模板

模板选择地址:https://grafana.com/grafana/dashboards/

这里使用13877

然后给我们刚刚设置的数据库使用模板

点击import,就可以看到数据可视化了

到这里就大功告成了

总结

本文详细介绍了如何使用InfluxDB和Grafana构建Geth数据可视化分析平台。通过以下五个步骤,我们成功地将Geth客户端的数据推送至InfluxDB数据库,并通过Grafana实现了数据可视化:

  1. 下载并安装InfluxDB和Grafana;
  2. 启动并配置InfluxDB,创建管理员用户及数据库;
  3. 启动并配置Geth,使其将数据推送至InfluxDB;
  4. 启动并配置Grafana,连接InfluxDB数据库;
  5. 导入可视化模板,实现Geth数据的实时监控与分析。

通过本教程,读者可以轻松搭建一套完善的以太坊数据监控与分析系统,为区块链应用的开发与运维提供有力支持。同时,掌握了InfluxDB和Grafana这两款强大的工具,也为其他项目的数据可视化与分析奠定了基础。

相关推荐
为什么要内卷,摆烂不香吗8 小时前
Grafana 12.2.0导入仪表盘
运维·grafana
小明的小名叫小明13 小时前
Solidity入门(14)-Hardhat 3 单元测试基础与技巧
单元测试·区块链·solidity·hardhat
古城小栈16 小时前
医疗健康:区块链 + AI 疾病预测模型落地实践
人工智能·区块链
物流可信数据空间16 小时前
可信数据空间与区块链技术的结合点有哪些?
分布式·架构·区块链
古城小栈17 小时前
Go + 区块链:模块化链节点开发实践
开发语言·golang·区块链
YangYang9YangYan1 天前
2026高职会计电算化专业高价值技能证书
大数据·学习·区块链
Moonbeam Community1 天前
Polkadot 2025:从协议工程到可用的去中心化云平台
大数据·web3·去中心化·区块链·polkadot
OpenBuild.xyz1 天前
x402 V2:架构重构 + 多链兼容,定义智能代理支付新标准
web3·区块链
iMingzhen2 天前
区块链概述及比特币工作原理
web3·去中心化·区块链