生成系统报告

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 Admin 报告工具允许您选择要包含特定数据库信息的数据库。您可以生成涵盖 DBMS 中所有数据库、特定数据库或匹配指定模式的数据库的报告。例如,如果您运行命令 neo4j-admin server report --database=ne*,则会为所有以 "ne" 开头的数据库生成报告。如果未指定,该工具将为 DBMS 中的所有数据库生成报告。

--database 选项决定从哪些数据库收集数据库级信息。它不会影响基于指定分类器收集的 DBMS 级信息。

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

参数

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

[<classifier>…​]

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

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

all

包含所有可用分类器。

ccstate

包含当前集群状态。

config

包含 Neo4j 配置文件。

heap

包含堆转储 (heap dump)。

日志

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

metrics

包含收集的指标。

plugins

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

ps

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

raft

包含 Raft 日志。

sysprop

包含 Java 系统属性列表。

threads

包含正在运行的实例的线程转储 (thread dump)。

tree

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

tx

包含事务日志。

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

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

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

选项

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

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

--additional-config=<file>[1]

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

--database=<database>

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

*

--expand-commands

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

-h, --help

显示此帮助消息并退出。

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

忽略磁盘空间不足警告。

false

--list

列出所有可用分类器。

--to-path=<path>

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

--verbose

启用详细输出。

1. 有关详细信息,请参阅 Neo4j Admin 和 Neo4j CLI → 配置

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

示例

此工具使用 Java Attach 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