节点健康检测器
Aptos 节点健康检查器 (NHC) 服务可用于检查以下 Aptos 节点类型的健康状况:
验证者节点
验证者全节点
公共全节点。
如果您是节点操作员,请使用 NHC 服务检查您的节点是否正常运行。 NHC 服务通过与基准节点配置进行比较来评估节点的运行状况,并输出评估结果。
💡 AIT 的节点运行状况检查
如果您正在参与 Aptos 激励测试网,您可以使用 NHC 服务来验证您的验证器节点是否正常运行。 Aptos 团队不断使用此服务来检查您的节点的健康状况。
本文档介绍了在操作节点时如何运行 NHC。
快速开始
在详细了解 NHC 的工作原理之前,您可以运行以下步骤来启动 NHC 服务并向其发送请求。本快速入门使用开发网的全节点基线配置,即,它将根据使用基线配置 YAML 配置的开发网的全节点评估您的节点。
重要:如果您的本地节点不是开发网全节点,例如它是用于 AIT3 注册的单个测试网节点,您必须使用不同的配置文件。有关其他此类示例配置,请参阅 aptos-core 中的配置示例。
步骤 1: 下载基线配置 YAML
为开发网全节点下载一个基线配置。以下命令将下载 devnet_fullnode.yaml
配置文件:
步骤 2: 开始 NHC 服务
通过提供以上下载 devnet_fullnode.yaml
基线配置 YAML 文件来启动 NHC 服务:
步骤 3: 发送请求到 NHC 服务
最后,向您在上面启动的 NHC 服务发送请求。以下命令对位于 node_url=http://mynode.mysite.com
的节点运行健康检查,并将这些结果与下载的基线配置 devnet_fullnode
进行比较:
您将会看到类似于这样的输出结果:
NHC 是如何工作的
NHC 作为服务运行。当您想要运行节点的健康检查时,您可以将 HTTP 请求发送到此服务。
可以配置单个 NHC 实例来检查多个节点配置的健康状况,每个节点配置类型不同,例如:
在单节点测试网中运行的验证者节点。
连接到 Aptos 测试网的公共全节点。
连接到测试网的验证者节点,例如,作为 Aptos 激励测试网的一部分。
NHC 服务既可以作为外部工具运行,也可以作为运营商用例的边车进程运行。两者都在本文档中进行了描述。
基线配置
在上述所有情况下,基线节点都用于比较节点的运行状况。例如,对于连接到 Aptos 开发网络的公共全节点,基线节点可能是 Aptos 团队运行的节点,并且该节点展示了最佳性能和参与特征。
您需要下载基线配置 YAML,在为您的节点运行 NHC 服务之前。基线节点的配置 YAML 描述了在哪里可以找到这个基线节点(URL + 端口),NHC 服务应该运行哪些评估器(例如指标检查、TPS 测试、API 验证等),NHC 应该为这些评估器使用哪些参数,配置的名称等等。在此处查看一些 示例基线配置 YAML 文件。
当您向 NHC 服务发送请求时,您必须包含基线配置。例如,向 NHC 请求使用 devnet_fullnode
作为基线配置将如下所示:
准备好基线配置
为了运行 NHC 服务,您必须具有该服务可以使用的基线配置。您在这里有两个选择:
配置预先存在的 YAML
您可以在此处找到一些 示例基线配置 YAML 文件,它们适用于上述每种使用情况以及更多。
接下来,将这些配置 YAML 文件下载到主机系统中的/etc/nhc
文件夹中。例如:
这些配置还没有完全准备好按原样使用。您将需要修改某些字段,例如使用的基线节点地址或评估器集(YAML 中的 evaluators
和 evaluator_args
)。对此进行迭代的最佳方法是使用下载的基线配置运行 NHC,并查看它在启动时显示的内容。
生成你自己的基线配置 YAML
要生成您自己的基线配置,您必须首先使用 create
选项运行 NHC 服务。以下命令显示了如何通过使用 Docker 运行 NHC 服务来创建基线配置 YAML:
上面的命令指定了基线配置的最低限度。您可以根据需要调整每个评估器。请参阅 YAML 中的字段evaluators
和evaluator_args
。有关这方面的更多指导,请将 -h
标志传递给上述命令以查看您可以使用的所有标志。
所需文件
对于某些 NHC 配置,您将需要附加文件,例如mint.key
用于针对验证者运行 TPS 测试。您应该确保这些文件也可用于 NHC,无论是在磁盘上还是安装到您的容器中。 NHC 期望它们在基线配置 YAML 中指定的路径启动。
运行 NHC:Docker
💡 注意
虽然 Aptos 团队为此服务运营实例,但我们鼓励节点操作者运行他们自己的实例。您可以选择运行公开可用的 NHC 或将其作为辅助运行,它仅适用于您自己的节点。
当您准备好基线配置 YAML 和所需文件后,您可以使用如下命令运行 NHC 服务器,例如使用 Docker:
💡 注意
您可能希望包含其他环境变量,例如RUST_LOG=info
。如您所见,默认情况下 NHC 在端口 20121 上运行。确保从容器中发布它,如上述命令所示,并确保该端口在您的主机上打开。您可以使用 --listen-port
更改 NHC 运行的端口。
运行 NHC:Source
首先,查看源码:
根据您的设置,您可能需要检查特定分支,以确保 NHC 与您的节点兼容,例如git checkout --track devnet
。
运行 NHC:
将 NHC 作为辅助程序sidecar 运行
当您将 NHC 作为辅助程序(sidecar)运行时,您预先配置了一个 NHC 应默认用作正在调查的节点的节点:
当您想将机器上的 API / 指标端口关闭到公共网络时,将 NHC 作为辅助(sidecar)运行会很方便,但仍想运行 NHC 来验证节点的设置。
如果您愿意甚至可以限制 NHC 只测试那个单一节点:
使用此标志,/check_node
端点将始终返回 400s,您必须改为使用 /check_preconfigured_node
。
将 NHC 实例配置为辅助程序(sidecar)模式后,您可以发送省略目标节点地址的请求。
有更多选项可用于使用哪些端口。通过 -h
查看更多选项。
生成 OpenAPI 规范
要生成 OpenAPI 规范,请运行以下命令:
您还可以点击正在运行的服务的 /spec.yaml
和 /spec.json
端点。
Last updated