跳转至主要内容

使用 InfluxDB 和 Grafana 监测 Geth

客户端节点
中级
✍️Mario Havel
📆2021年1月13日
⏱️7 分钟阅读

本教程将帮助您设置 Geth 节点的监测方法,以便更好地了解其性能并发现潜在问题。

前提条件

监测堆栈

以太坊客户端收集大量数据,可以通过时序数据库读取这些数据。 为了便于监测,您可以将数据输入数据可视化软件。 下面提供了多种选项供您选择:

还可以选择 Geth Prometheus Exporter(opens in a new tab),它是一个用 InfluxDB 和 Grafana 预先配置的选项。 您可以使用 docker 和适用于树莓派 4 的 Ethbian 操作系统(opens in a new tab) 轻松设置它。

在本教程中,我们将设置您的 Geth 客户端,将数据推送到 InfluxDB 以创建数据库,并设置 Grafana 来对数据进行图形可视化。 手动操作将帮助您更好地理解这一过程,您可以加以改动,并在不同的环境中部署。

设置 InfluxDB

首先,下载并安装 InfluxDB。 Influxdata 下载页面(opens in a new tab)提供了多种下载选项。 选择适合您安装环境的下载选项。 您还可以通过资源库(opens in a new tab)安装它。 例如,在基于 Debian 的发行版中:

1curl -tlsv1.3 --proto =https -sL https://repos.influxdata.com/influxdb.key | sudo apt-key add
2source /etc/lsb-release
3echo "deb https://repos.influxdata.com/${DISTRIB_ID,,} ${DISTRIB_CODENAME} stable" | sudo tee /etc/apt/sources.list.d/influxdb.list
4sudo apt update
5sudo apt install influxdb -y
6sudo systemctl enable influxdb
7sudo systemctl start influxdb
8sudo apt install influxdb-client
9

在成功安装 InfluxDB 后,确保它在后台运行。 默认情况下,可以通过 localhost:8086 访问它。 在使用 influx 客户端前,您必须创建具有管理员权限的新用户。 该用户将进行高级管理,创建数据库和用户。

1curl -XPOST "http://localhost:8086/query" --data-urlencode "q=CREATE USER username WITH PASSWORD 'password' WITH ALL PRIVILEGES"
2

现在,您可以用此用户的身份通过 influx 客户端进入 InfluxDB 命令行(opens in a new tab)

1influx -username 'username' -password 'password'
2

您可以通过其命令行直接与 InfluxDB 通信,为 geth 指标创建数据库和用户。

1create database geth
2create user geth with password choosepassword
3

如下验证已创建的条目:

1show databases
2show users
3

退出 InfluxDB 命令行。

1exit
2

InfluxDB 正在运作,将其配置为存储来自 Geth 的指标。

准备 Geth

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

1geth --metrics --metrics.influxdb --metrics.influxdb.endpoint "http://0.0.0.0:8086" --metrics.influxdb.username "geth" --metrics.influxdb.password "chosenpassword"
2

此标记可以附加到启动客户端的命令或保存到配置文件中。

您可以通过在数据库中列出指标来验证 Geth 是否成功推送了数据。 在 InfluxDB 命令行中:

1use geth
2show measurements
3

设置 Grafana

下一步是安装 Grafana,后者通过图形解释数据。 按照 Grafana 文档中针对您安装环境的安装过程操作。 如果不想安装其他版本,确保安装 OSS 版本。 下面是通过资源库安装 发行版本的示例安装步骤:

1curl -tlsv1.3 --proto =https -sL https://packages.grafana.com/gpg.key | sudo apt-key add -
2echo "deb https://packages.grafana.com/oss/deb stable main" | sudo tee -a /etc/apt/sources.list.d/grafana.list
3sudo apt update
4sudo apt install grafana
5sudo systemctl enable grafana-server
6sudo systemctl start grafana-server
7

在 Grafana 开始运行后,应该能够在 localhost:3000 访问它。 使用您喜欢的浏览器访问此路径,然后用默认凭据登录(用户:admin 和密码:admin)。 当提示时,更改默认密码并保存。

grafana1 (opens in a new tab)

您将被重定向到 Grafana 主页。 首先,设置您的源数据。 点击左边栏中的配置图标并选择“Data sources”。

grafana2 (opens in a new tab)

现在尚未创建任何数据源,点击“Add data source”定义一个数据源。

grafana3 (opens in a new tab)

在本次设置中,请选择“InfluxDB”并继续操作。

grafana4 (opens in a new tab)

如果您在同台一机器上运行工具,数据源配置就相当简单。 您需要设置 InfluxDB 地址和详细信息,以便访问数据库。 请参考下图。

grafana5 (opens in a new tab)

如果所有操作都已完成并且 InfluxDB 可以访问,请点击“Save and test”,等待确认信息弹出。

grafana6 (opens in a new tab)

现在 Grafana 设置为读取 InfluxDB 中的数据。 此时,您需要创建一个解释和显示数据的仪表板。 仪表板属性是在 JSON 文件中编码的,可让任何人创建并轻松导入。 在左侧栏上,点击“Create and Import”。

grafana7 (opens in a new tab)

要创建 Geth 监测仪表板,复制此仪表板(opens in a new tab)的 ID 并粘贴到 Grafana 的“导入页面”中。 保存仪表板后,其外观应该如下所示:

grafana8 (opens in a new tab)

您可以修改您的仪表板。 每个面板都可以编辑、移动、删除或添加。 您可以更改您的配置。 一切由您决定! 要了解有关仪表板工作原理的更多信息,请参阅 Grafana 文档(opens in a new tab)。 您也可能对警报(opens in a new tab)感兴趣。 这可以让您设置在指标达到特定值时的提醒通知。 支持各种交流渠道。

上次编辑: , Invalid DateTime

本页面对您有帮助吗?