当前位置: 首页 > news >正文

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

前言

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

一、下载安装InfluxDB

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

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

在这里插入图片描述

Window:

打开window的powershell输入

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

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命令提示符,执行下面命令启动:

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这两款强大的工具,也为其他项目的数据可视化与分析奠定了基础。

相关文章:

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

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

对onlyoffice进行定制化开发

基于onlyoffice8.0源码,进行二次开发,可实现包括但不限于以下的功能 1、内容控件的插入 2、内容空间的批量替换 3、插入文本 4、插入图片 5、添加,去除水印 6、修改同时在线人数限制 7、内容域的删除 8、页面UI的定制化 9、新增插件开发 10、…...

使用llama.cpp 在推理MiniCPM-1.2B模型

llama.cpp 是一个开源项目,它允许用户在C中实现与LLaMA(Large Language Model Meta AI)模型的交互。LLaMA模型是由Meta Platforms开发的一种大型语言模型,虽然llama.cpp本身并不包含LLaMA模型的训练代码或模型权重,但它…...

分布式环境中,接口超时重试带来的的幂等问题如何解决?

目录标题 幂等不能解决接口超时吗?幂等的重要性什么是幂等?为什么需要幂等?接口超时了,到底如何处理? 如何设计幂等?幂等设计的基本流程实现幂等的8种方案1.selectinsert主键/唯一索引冲突(常用)2.直接insert 主键…...

设计一个推荐系统:使用协同过滤算法

设计一个推荐系统:使用协同过滤算法 在当今数据驱动的时代,推荐系统已经成为了许多在线平台(如电商、社交媒体和流媒体服务)不可或缺的一部分。推荐系统通过分析用户的行为和偏好,向用户推荐可能感兴趣的内容或产品。本文将详细介绍如何设计一个基于协同过滤算法的推荐系…...

Linux 基本指令(二)

目录 1. more指令 2. less指令(重要) 3. head指令 4. tail指令 5. date指令 (1)可以通过选项来指定格式: ​编辑 (2)在设定时间方面 (3)时间戳 6. cal指令 7. find指令 8. grep指令 9. alias指令 10. zip指令与unzip指令 (1). zip指令 (2). unzip指令…...

Facebook的用户隐私保护:从争议到革新

Facebook早期的数据收集方式引发了隐私担忧。平台的快速增长和用户数据的大规模收集使得隐私问题逐渐显现。尤其是在2018年,剑桥分析事件暴露了数千万用户数据被不当使用的问题。这一事件揭示了Facebook在数据保护方面的严重漏洞,引发了公众对隐私保护的…...

计算机前沿技术-人工智能算法-大语言模型-最新论文阅读-2024-09-23

计算机前沿技术-人工智能算法-大语言模型-最新论文阅读-2024-09-23 本期,我们对大语言模型在表情推荐, 软件安全和 自动化软件漏洞检测等方面如何应用,提供几篇最新的参考文章。 1 Semantics Preserving Emoji Recommendation with Large Language Mod…...

C++(学习)2024.9.20

目录 C面向对象的基础知识 this指针 概念 功能 1.类内调用成员 2.区分重名的成员变量和局部变量 3. 链式调用 static关键字 1.静态局部变量 2.静态成员变量 3.静态成员函数 4.单例设计模式 const关键字 1.const修饰成员函数 2.const修饰对象 3.const修饰成员变量…...

让AI激发创作力:OpenAI分享5位专业作家利用ChatGPT写作的案例技巧

大家好,我是木易,一个持续关注AI领域的互联网技术产品经理,国内Top2本科,美国Top10 CS研究生,MBA。我坚信AI是普通人变强的“外挂”,专注于分享AI全维度知识,包括但不限于AI科普,AI工…...

UEFI EDK2框架学习 (一)

01 Shell界面打印 执行qemu指令后 qemu-system-x86_64 -drive ifpflash,formatraw,fileOVMF.fd -nographic -net none出现shell界面 02 在UEFI shell中创建APP 创建SimplestApp文件夹以及SimplestApp.c、SimplestApp.inf cd edk2 mkdir SimplestAppuuidgen // generate …...

基于 BERT 的自定义中文命名实体识别实现

基于 BERT 的自定义中文命名实体识别实现 在自然语言处理中,命名实体识别(Named Entity Recognition,NER)是一项重要的任务,旨在识别文本中的特定实体,如人名、地名、组织机构名等。本文将介绍如何使用 BERT 模型实现自定义中文命名实体识别,并提供详细的代码分析和解读…...

中秋节特别游戏:给玉兔投喂月饼

🖼️ 效果展示 📜 游戏背景 在中秋这个充满诗意的节日里,玉兔因为贪玩被赶下人间。在这个温柔的夜晚,我们希望通过一个小游戏,让玉兔感受到人间的温暖和关怀。🐰🌙 🎮 游戏设计 人…...

python pdf转word或excel

python pdf转word或excel 直接上源码 main import gradio as gr import pdf2docx as p2d import Pdf2Excel as p2e import utils.id.IdUtil as idUtildef convert_pdf_to(pdf_file, pdf_pwd, pdf_to_type):if pdf_to_type "docx":# Convert PDF to DOCXcv p2d.C…...

GNU链接器(LD):位置计数器(.)功能及实例解析

0 参考资料 GNU-LD-v2.30-中文手册.pdf GNU linker.pdf1 前言 一个完整的编译工具链应该包含以下4个部分: (1)编译器 (2)汇编器 (3)链接器 (4)lib库 在GNU工具链中&…...

学习记录:js算法(四十三):翻转二叉树

文章目录 翻转二叉树我的思路网上思路递归栈 总结 翻转二叉树 给你一棵二叉树的根节点 root ,翻转这棵二叉树,并返回其根节点 图一: 图二: 示例 1:(如图一) 输入:root [4,2,7,1…...

关于 SQL 的 JOIN 操作

关于 SQL 的 JOIN 操作 在关系型数据库中,数据通常分布在多个表中。为了进行有效的数据检索,我们需要从不同的表中组合数据,这时就需要使用 JOIN 操作。本文将深入探讨 SQL 中不同类型的 JOIN 及其用法,以帮助你在数据库查询中更…...

聊聊AUTOSAR:基于Vector MICROSAR的TC8测试开发方案

技术背景 车载以太网技术作为汽车智能化和网联化的重要组成部分,正逐步成为现代汽车网络架构的核心,已广泛应用于汽车诊断(如OBD)、ECU软件更新、智能座舱系统、高清摄像头环视泊车系统等多个领域。 在这个过程中,ET…...

ES6中迭代器与生成器知识浅析

ES5及以下版本对JS几种集合,要存取数据一般需要用循环语句来遍历,就要初始化一个或多个变量来记录每一次循环在数据集合中的位置或数据值。这里容易出现超出边界问题,造成程序出错。另外,对于多次循环也需要跟踪理清各个变量关系及…...

unix中的vfork函数

一、前言 本文介绍unix中的vfork函数,vfork函数功能和fork函数类似,也是用于创建新的进程,只不过调用vfork函数创建的子进程将共享父进程的进程空间,且只有当子进程调用exec()或者exit()函数后,父进程才会继续运行。 …...

在软件开发中正确使用MySQL日期时间类型的深度解析

在日常软件开发场景中,时间信息的存储是底层且核心的需求。从金融交易的精确记账时间、用户操作的行为日志,到供应链系统的物流节点时间戳,时间数据的准确性直接决定业务逻辑的可靠性。MySQL作为主流关系型数据库,其日期时间类型的…...

内存分配函数malloc kmalloc vmalloc

内存分配函数malloc kmalloc vmalloc malloc实现步骤: 1)请求大小调整:首先,malloc 需要调整用户请求的大小,以适应内部数据结构(例如,可能需要存储额外的元数据)。通常,这包括对齐调整,确保分配的内存地址满足特定硬件要求(如对齐到8字节或16字节边界)。 2)空闲…...

什么是EULA和DPA

文章目录 EULA(End User License Agreement)DPA(Data Protection Agreement)一、定义与背景二、核心内容三、法律效力与责任四、实际应用与意义 EULA(End User License Agreement) 定义: EULA即…...

IT供电系统绝缘监测及故障定位解决方案

随着新能源的快速发展,光伏电站、储能系统及充电设备已广泛应用于现代能源网络。在光伏领域,IT供电系统凭借其持续供电性好、安全性高等优势成为光伏首选,但在长期运行中,例如老化、潮湿、隐裂、机械损伤等问题会影响光伏板绝缘层…...

css3笔记 (1) 自用

outline: none 用于移除元素获得焦点时默认的轮廓线 broder:0 用于移除边框 font-size&#xff1a;0 用于设置字体不显示 list-style: none 消除<li> 标签默认样式 margin: xx auto 版心居中 width:100% 通栏 vertical-align 作用于行内元素 / 表格单元格&#xff…...

3-11单元格区域边界定位(End属性)学习笔记

返回一个Range 对象&#xff0c;只读。该对象代表包含源区域的区域上端下端左端右端的最后一个单元格。等同于按键 End 向上键(End(xlUp))、End向下键(End(xlDown))、End向左键(End(xlToLeft)End向右键(End(xlToRight)) 注意&#xff1a;它移动的位置必须是相连的有内容的单元格…...

Unsafe Fileupload篇补充-木马的详细教程与木马分享(中国蚁剑方式)

在之前的皮卡丘靶场第九期Unsafe Fileupload篇中我们学习了木马的原理并且学了一个简单的木马文件 本期内容是为了更好的为大家解释木马&#xff08;服务器方面的&#xff09;的原理&#xff0c;连接&#xff0c;以及各种木马及连接工具的分享 文件木马&#xff1a;https://w…...

基于SpringBoot在线拍卖系统的设计和实现

摘 要 随着社会的发展&#xff0c;社会的各行各业都在利用信息化时代的优势。计算机的优势和普及使得各种信息系统的开发成为必需。 在线拍卖系统&#xff0c;主要的模块包括管理员&#xff1b;首页、个人中心、用户管理、商品类型管理、拍卖商品管理、历史竞拍管理、竞拍订单…...

STM32---外部32.768K晶振(LSE)无法起振问题

晶振是否起振主要就检查两个1、晶振与MCU是否兼容&#xff1b;2、晶振的负载电容是否匹配 目录 一、判断晶振与MCU是否兼容 二、判断负载电容是否匹配 1. 晶振负载电容&#xff08;CL&#xff09;与匹配电容&#xff08;CL1、CL2&#xff09;的关系 2. 如何选择 CL1 和 CL…...

python爬虫——气象数据爬取

一、导入库与全局配置 python 运行 import json import datetime import time import requests from sqlalchemy import create_engine import csv import pandas as pd作用&#xff1a; 引入数据解析、网络请求、时间处理、数据库操作等所需库。requests&#xff1a;发送 …...