The cockroach debug merge-logs command merges log files from multiple nodes into a single time-ordered stream of messages with an added per-message prefix to indicate the corresponding node. You can use it in conjunction with logs collected using the debug zip command to aid in debugging.
The file produced by cockroach debug zip can contain highly sensitive, identifiable information, such as usernames, hashed passwords, and possibly your table's data. You can use the --redact flag to redact the sensitive data out of log files and crash reports before sharing them with Cockroach Labs.
Subcommands
While the cockroach debug command has a few subcommands, users are expected to use only the zip, encryption-active-key, merge-logs, list-files, tsdump, and ballast subcommands.
We recommend using the encryption-decrypt and job-trace subcommands only when directed by the Cockroach Labs support team.
The other debug subcommands are useful only to Cockroach Labs. Output of debug commands may contain sensitive or secret information.
Synopsis
$ cockroach debug merge-logs [log file directory] [flags]
Flags
The debug merge-logs subcommand supports the following flags:
| Flag | Description |
|---|---|
--format |
Required The format of the logs in the log file directory. The logs in a .zip generated using cockroach debug zip are of type crdb-v1. |
--filter |
Limit the results to the specified regular expression |
--from |
Start time for the time range filter. |
--to |
End time for the time range filter. |
--redact |
Redact sensitive data from the log files. |
Example
Generate a debug zip file:
cockroach debug zip ./cockroach-data/logs/debug.zip --insecure
Unzip the file:
unzip ./cockroach-data/logs/debug.zip
Merge the logs in the debug folder:
cockroach debug merge-logs debug/nodes/*/logs/* --format=crdb-v1
Alternatively, filter the merged logs for a specified time range:
cockroach debug merge-logs debug/nodes/*/logs/* --format=crdb-v1 --from="231031 19:19:50.917185" --to="231031 19:19:57.189263"
You can also filter the merged logs for a regular expression:
cockroach debug merge-logs debug/nodes/*/logs/* --format=crdb-v1 --filter="ALL SECURITY CONTROLS HAVE BEEN DISABLED"
You can redact sensitive information from the merged logs:
cockroach debug merge-logs debug/nodes/*/logs/* --format=crdb-v1 --redact
Considerations
As of v23.2, logs can be configured to use a timezone with formats crdb-v1 or crdb-v2. This is a backward-incompatible change. cockroach debug merge-logs requires v23.2 or later if run against logs with the timezone configured. With versions prior to v23.2, cockroach debug merge-logs will return an error if run against logs with the timezone configured.