Neo4j 管理员报告

neo4j-admin server report 命令会收集有关 Neo4j 部署的信息并将其保存到一个存档(ZIP/TAR)中,以便进行远程评估。

语法

neo4j-admin server report 命令具有以下语法

neo4j-admin server report [-h]
                          [--expand-commands] [--list] [--verbose]
                          [--ignore-disk-space-check[=true|false]]
                          [--additional-config=<file>] [--database=<database>]
                          [--to-path=<path>] [<classifier>...] [COMMAND]

描述

该命令收集有关系统的信息并将所有内容打包到一个存档中。如果指定 all,则会包含所有内容。您还可以通过向工具传递分类器来微调选择,例如 logs tx threads

从 Neo4j 5.16 版本开始,Neo4j 管理员报告工具允许您选择要包含数据库特定信息的数据库。您可以生成包含 DBMS 中所有数据库、特定数据库或与指定模式匹配的数据库的报告。例如,如果您运行命令 neo4j-admin server report --database=ne*,将为所有以 "ne" 开头的数据库生成报告。如果未指定,该工具将为 DBMS 中的所有数据库生成报告。

此工具不会自动发送任何信息。要与 Neo4j 支持组织共享此信息,您必须手动发送。

参数

表 1. neo4j-admin server report 参数
参数 默认值

[<classifier>…​]

[config, logs, metrics, plugins, ps, sysprop, threads, tree, version]

表 2. 分类器
分类器 在线 描述

all

包含所有可用的分类器。

ccstate

包含当前集群状态。

config

包含 Neo4j 配置文件。

heap

包含堆转储。

logs

包含日志文件,例如 debug.logneo4j.log 等。

metrics

包含收集的指标。

plugins

包含插件目录的文本视图(不会收集任何文件)。

ps

包含正在运行的进程列表。

raft

包含 Raft 日志。

sysprop

包含 Java 系统属性列表。

threads

包含正在运行实例的线程转储。

tree

包含数据目录的文件夹结构的文本视图(不会收集任何文件)。

tx

包含事务日志。

标记为在线的分类器仅在您拥有该工具可以找到的正在运行的 Neo4j 实例时才有效。

如果未指定任何分类器,则使用以下分类器:logsconfigpluginstreemetricsthreadssysproppsversion

报告工具不会从您的数据库中读取任何数据。但是,堆、Raft 日志和事务日志可能包含数据。此外,即使标准的 neo4j.conf 文件不包含密码信息,对于特定的配置,它可能包含此类信息。因此,在使用分类器 heaptxraftconfig 之前,请注意您组织的数据安全规则。

选项

neo4j-admin server report 命令具有以下选项

表 3. neo4j-admin server report 选项
选项 描述 默认值

--additional-config=<file>

包含额外配置的配置文件。

--database=<database>

要报告的数据库的名称。可以包含 * 和 ? 用于通配符匹配。请注意,* 和 ? 在某些 shell 中具有特殊含义,可能需要转义或使用引号。

*

--expand-commands

允许在配置值评估中扩展命令。

-h, --help

显示此帮助信息并退出。

--ignore-disk-space-check[=true|false]

忽略磁盘已满警告。

false

--list

列出所有可用的分类器。

--to-path=<path>

报告的目标目录。默认情况下为系统临时目录。

--verbose

启用详细输出。

默认情况下,该工具会尝试估计报告的最终大小,并使用该大小来断言是否有足够的磁盘空间可用。如果没有足够的可用空间,该工具将中止。但是,此估计是悲观的,并且没有考虑压缩。因此,如果您确信有足够的磁盘空间,您可以使用选项 --ignore-disk-space-check 禁用此检查。

示例

此工具使用 Java 附加 API 从正在运行的 Neo4j 实例中收集数据。因此,它需要 Java JDK 才能正常运行。

示例 1. 使用默认分类器调用 neo4j-admin server report

以下命令使用默认分类器收集有关 Neo4j 实例的信息,并将其保存到默认位置

bin/neo4j-admin server report
示例 2. 使用所有分类器调用 neo4j-admin server report

以下命令使用所有分类器收集有关 Neo4j 实例的信息,并将其保存到指定位置

bin/neo4j-admin server report --to-path=./report all
示例 3. 调用 neo4j-admin server report 以仅收集日志和线程转储

以下命令仅从正在运行的 Neo4j 实例中收集日志和线程转储,并将其保存到指定位置

bin/neo4j-admin server report --to-path=./report threads logs