Diagnostic logging
Diagnostic logs can help troubleshoot Redis Enterprise Software.
Redis Enterprise Software |
---|
The diagnostic logging service collects detailed system logs, which you can use to troubleshoot Redis Enterprise Software.
View diagnostic logs
Diagnostic logs are collected at scheduled intervals and saved in the /var/opt/redislabs/log/diagnostics/
directory. Each diagnostic log file is overwritten with the new data at the scheduled collection interval.
View log collector settings
To view the current log collection schedule and parameters for each log collector, use the REST API to get the diagnostic logging service configuration.
GET /v1/diagnostics
Example response:
{
"bdb_client_list_target": {
"cron_expression": "*/10 * * * *"
},
"bdb_info_target": {
"cron_expression": "*/10 * * * *"
},
"bdb_target": {
"cron_expression": "*/10 * * * *"
},
"command_stats_target": {
"cron_expression": "*/30 * * * *"
},
"network_stats_target": {
"cron_expression": "*/30 * * * *"
},
"persistent_files_target": {
"cron_expression": "*/10 * * * *"
},
"rladmin_status_target": {
"cron_expression": "*/10 * * * *"
},
"shard_info_target": {
"cron_expression": "*/10 * * * *"
},
"shard_latency_histogram_target": {
"cron_expression": "*/10 * * * *"
},
"shard_latency_target": {
"cron_expression": "*/10 * * * *"
},
"shard_target": {
"cron_expression": "*/10 * * * *"
},
"slowlog_target": {
"cron_expression": "*/10 * * * *",
"max_entries": 100
},
"socket_files_target": {
"cron_expression": "*/10 * * * *"
}
}
Change log collector settings
To change how often a log is collected, set the cron_expression
when you update the diagnostic logging service configuration with the REST API.
PUT /v1/diagnostics
{
"<log_collector>_target": {
"cron_expression": "*/5 * * * *"
}
}
-
Replace
<log_collector>
with the name of the log collector you want to turn off. -
Use standard cron syntax to set the collection interval in the
cron_expression
.
For the slowlog collector only, you can also set max_entries
to change the maximum number of slow log entries to collect:
PUT /v1/diagnostics
{
"slowlog_target": {
"cron_expression": "*/5 * * * *",
"max_entries": 200
}
}
Turn off log collectors
To turn off a log collector, set its cron_expression
to an empty string when you update the diagnostic logging service configuration with the REST API.
PUT /v1/diagnostics
{
"<log_collector>_target": {
"cron_expression": ""
}
}
Replace <log_collector>
with the name of the log collector you want to turn off.
Log collectors
Each log collector runs independently and writes a separate log file. The following table describes the log collectors.
Default cron_expression
values:
-
*/10 * * * *
: Logs are collected every 10 minutes. -
*/30 * * * *
: Logs are collected every 30 minutes.
Log collector | Description |
---|---|
bdb | Logs database metadata similar to GET /bdbs . Each entry is in JSON format.Default settings:
|
bdb_client_list | Logs database client lists, with a separate file for each database. Each entry is in JSON format. Default settings:
|
bdb_info | Logs the result of running INFO ALL on a database, excluding commandstats , with a separate file for each database. Each entry is in JSON format.Default settings:
|
command_stats | Logs INFO commandstats for each database, with a separate file for each database. Each entry is in JSON format.Default settings:
|
network_stats | Logs the node's network statistics. Default settings:
|
persistent_files | Lists persistent files from /var/opt/redislabs/persist/redis Default settings:
|
rladmin_status | Logs data about nodes, databases, endpoints, and shards from rladmin status . Each entry is in JSON format.Default settings:
|
shard | Logs shard status similar to GET /shards . Each entry is in JSON format.Default settings:
|
shard_info | Logs the result of running INFO ALL on a shard, with a separate file for each shard. Each entry is in JSON format. Default settings:
|
shard_latency | Logs the result of running latency latest on a shard, with a separate file for each shard.Default settings:
|
shard_latency_histogram |
Logs the result of running latency histogram on a shard, with a separate file for each shard.Default settings:
|
slowlog | Logs slow commands from the databases using SLOWLOG GET , with a separate file for each database. Each entry is in JSON format.Default settings:
|
socket_files | Lists socket files used by Redis Enterprise Software. Default settings:
|