Generate a report about the system

The neo4j-admin server report command collects information about the Neo4j deployment and saves it to an archive (ZIP/TAR) for remote assessments.

Syntax

The neo4j-admin server report command has the following syntax:

neo4j-admin server report [-h] [--expand-commands] [--list] [--verbose] [--ignore-disk-space-check
                          [=true|false]] [--obfuscate-query-log[=true|false]] [-a=<address>]
                          [--additional-config=<file>] [--database=<database>] [-p=<password>]
                          [--to-path=<path>] [-u=<username>] [<classifier>...] [COMMAND]

Description

The command collects information about the system and packages everything in an archive. If you specify all, everything is included. You can also fine-tune the selection by passing classifiers to the tool, e.g logs tx threads.

The Neo4j Admin report tool allows you to choose the databases for which you want to include database-specific information. You can generate a report covering all databases in the DBMS, a specific database, or databases that match a specified pattern. For example, if you run the command neo4j-admin server report --database=ne*, a report will be generated for all databases that start with "ne". If not specified, the tool generates a report for all databases in the DBMS.

The --database option determines from which database(s) the database-level information is collected. It does not influence the DBMS-level information, which is gathered based on the specified classifiers.

This tool does not send any information automatically. To share this information with the Neo4j Support organization, you have to send it manually.

Parameters

Table 1. neo4j-admin server report parameters
Parameter Default

[<classifier>…​]

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

Table 2. Classifiers
Classifier Online Requires authentication Description

all

Include all of the available classifiers.

ccstate

Include the current cluster state.

databases

Include metadata about the databases.

graphcounts

Include metadata about node labels, relationship types, indexes, and constraints.

config

Include Neo4j configuration files.

heap

Include a heap dump.

indexes

Include detailed information about indexes.

logs

Include log files, e.g., debug.log, neo4j.log, etc.

metrics

Include the collected metrics.

plugins

Include a text view of the plugin directory (no files are collected).

ps

Include a list of running processes.

raft

Include the raft log.

servers

Include information about the servers comprising the cluster.

sysprop

Include a list of Java system properties.

threads

Include a thread dump of the running instance.

tree

Include a text view of the folder structure of the data directory (no files are collected).

tx

Include transaction logs.

The classifiers marked as Online work only when you have a running Neo4j server that the tool can find. The classifiers marked as Requires authentication require you to provide authentication credentials to the running Neo4j server.

If no classifiers are specified, the following classifiers are used: logs, config, plugins, tree, metrics, threads, sysprop, ps, and version.

The reporting tool does not read any data from your database. However, the heap, the raft logs, and the transaction logs may contain data. Additionally, even though the standard neo4j.conf file does not contain password information, for specific configurations, it may have this type of information. Therefore, be aware of your organization’s data security rules before using the classifiers heap, tx, raft, and config.

Authenticated classifiers

To provide the required credentials for the classifiers that require authentication, it is recommended to use the --username option and specify the password interactively when prompted.

By default, the address is derived from the Neo4j configuration, but you can override it using the --address option.

To create a role with the minimum required privileges to run the neo4j-admin server report command, you can use the following Cypher statement:

CREATE ROLE adminReport;
GRANT EXECUTE ADMIN PROCEDURES ON DBMS TO adminReport;
GRANT SHOW SERVERS ON DBMS TO adminReport;
GRANT SHOW INDEXES ON DATABASE * TO adminReport;

Options

The neo4j-admin server report command has the following options:

Table 3. neo4j-admin server report options
Option Description Default

-a, --uri, --address=<address>

Address of the DBMS to connect to, including the scheme (e.g. bolt://localhost:7687 or bolt+ssc://localhost:7687). Defaults to an address derived from the Neo4j configuration.

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

Configuration file with additional configuration.

--database=<database>

Name of the database to report for. Can contain * and ? for globbing. Note that * and ? have special meaning in some shells and might need to be escaped or used with quotes.

*

--expand-commands

Allow command expansion in config value evaluation.

-h, --help

Show this help message and exit.

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

Ignore disk full warning.

false

--list

List all available classifiers.

--obfuscate-query-log[=true|false]

Introduced in 2026.08 Obfuscate the literals of queries in the collected (JSON) query log.

false

-p, --password=<password>

Password for connecting to the running DBMS. Required when a classifier that needs a connection to a live database is selected. Can be specified as the NEO4J_PASSWORD environment variable.

--to-path=<path>

Destination directory for reports. Defaults to a system tmp directory.

-u, --username=<username>

Username for connecting to the running DBMS. Required when a classifier that needs a connection to a live database is selected. Can be specified as the NEO4J_USERNAME environment variable.

--verbose

Enable verbose output.

By default, the tool tries to estimate the final size of the report and uses that to assert that there is enough disk space available for it. If there is not enough available space, the tool aborts. However, this estimation is pessimistic and does not consider compression. Therefore, if you are confident that you do have enough disk space, you can disable this check with the option --ignore-disk-space-check.

Usage

This tool uses the Java Attach API to gather data from a running Neo4j server. Therefore, it requires the Java JDK to run properly.

Invoke neo4j-admin server report using the default classifiers

The following command gathers information about the Neo4j server using the default classifiers and saves it to the default location:

bin/neo4j-admin server report

Invoke neo4j-admin server report using all classifiers

The following command interactively prompts for the password for user neo4j, gathers information about the Neo4j server using all classifiers, and saves it to a specified location:

bin/neo4j-admin server report --username=neo4j --to-path=./report all

Invoke neo4j-admin server report to gather only logs and thread dumps

The following command gathers only logs and thread dumps from the running Neo4j server and saves it to a specified location:

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

Obfuscate the query log

In Neo4j, it is possible to obfuscate sensitive literal values in the query log by setting db.logs.query.obfuscate_literals to true. However, there may be situations where you need the original query text, including literal values, to be available in your local query log. In such cases, you may choose not to enable query log obfuscation.

This introduces a potential risk when diagnostic data is shared outside your organization. For example, when creating a support package with neo4j-admin server report, the query log can be included in the collected data. If the query log contains unobfuscated literal values, sensitive information may be included in the support package.

To prevent this, use the --obfuscate-query-log option to mask the query log as part of data collection in neo4j-admin server report. This allows you to retain the original query text in your local query log while ensuring that sensitive literal values are obfuscated in the query log included in the support report.