打造以太坊数据监控利器: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这两款强大的工具,也为其他项目的数据可视化与分析奠定了基础。

相关推荐
web3探路者8 小时前
深入探索Solana链上的Meme生态:创新、潜力与挑战#区块链开发#dapp开发
web3·区块链·团队开发·dapp开发·区块链技术·链游开发·交易所开发
晴天飛 雪9 小时前
Grafana监控PostgreSQL
数据库·postgresql·grafana
大虾别跑20 小时前
docker安装zabbix +grafana
docker·zabbix·grafana
加密新世界21 小时前
指南: 如何在 MEV 项目中使用 Yul
区块链
菜鸟挣扎史1 天前
grafana+prometheus+windows_exporter实现windows进程资源占用的监控
windows·grafana·prometheus·进程·process
tester Jeffky2 天前
JMeter监听器与压测监控之Grafana
jmeter·eureka·grafana
MavenTalk3 天前
solana链上智能合约开发案例一则
rust·区块链·智能合约·dapp·solana
kejijianwen3 天前
Algen的跨链互操作性:增强区块链连接性
运维·centos·区块链
Sui_Network4 天前
World Wide Walrus:下一代数据存储协议
大数据·人工智能·web3·去中心化·区块链
Huazzi.4 天前
区块链中的wasm合约是什么?
区块链·wasm