Neo4j Admin report

Use the report command of neo4j-admin to gather information about a Neo4j installation and save it to an archive.

neo4j-admin report [--force] [--list] [--verbose] [--database=<database>] [--pid=<pid>] [--to=<path>] [<classifier>…​]

The intended usage of the report tool is to simplify the support process by collecting the relevant information in a standard way. This tool does not send any information automatically. To share this information with the Neo4j Support organization, you have to send it manually.

Starting from Neo4j version 4.4.31, 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 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.

Table 1. Options
Option Default Description

--to

reports/

Specify to target directory where the report should be written to.

--list

List available classifiers.

--verbose

Instruct the tool to print more verbose output.

--force

Disable the available disk space check.

--pid

Specify process id of a running Neo4j instance. Only applicable when used together with the Online classifiers. See the Classifiers table.

--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.

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 the compression. Therefore, if you are confident that you do have enough disk space, you can disable this check with the option --force.

Table 2. Classifiers
Classifier Online Description

all

Include all of the available classifiers.

ccstate

Include the current cluster state.

config

Include the neo4j.conf file.

heap

Include a heap dump.

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.

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 instance that the tool can find.

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

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.

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

Example 1. Invoke neo4j-admin report against a running Neo4j instance using the default classifiers

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

$neo4j-home> bin/neo4j-admin report --pid=47369
Example 2. Invoke neo4j-admin report against a running Neo4j instance using all classifiers

The following command gathers information about a Neo4j instance using all classifiers and saves it to a specified location:

$neo4j-home> bin/neo4j-admin report --pid=47369 --to=./report all
Example 3. Invoke neo4j-admin report against running Neo4j to gather only logs and thread dumps

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

$neo4j-home> bin/neo4j-admin report --pid=47369 --to=./report threads logs