85

Have Redis setup with ruby on ubuntu server, but can't figure out how to access its log file. Tutorial says it should be here:

/var/log/redis_6379.log

But can't even find the /var/ folder

halfer
20.2k19 gold badges110 silver badges207 bronze badges
asked May 2, 2013 at 11:38
5
  • can you find the config file that your redis uses? Commented May 2, 2013 at 12:20
  • @akonsu No not that either. I can start and stop it, access it with redis-cli, but no idea how to find the config or log file. And can't find anyone explaining it neither on redis.io or anywhere else Commented May 2, 2013 at 12:58
  • is there /etc directory on your system? can you run which redis-server to find out where it is installed? Commented May 2, 2013 at 13:35
  • @akonsu found it another way. Still don't know how to "cd" my way to it though Commented May 2, 2013 at 14:10
  • You can also use: locate *redis*log to quickly find an existing installation. If you just installed it, you may need to run updatedb first, which may turn out to be slower than looking over conf :) Commented May 30, 2017 at 20:49

6 Answers 6

101

Found it with:

sudo tail /var/log/redis/redis-server.log -n 100

So if the setup was more standard that should be:

sudo tail /var/log/redis_6379.log -n 100

This outputs the last 100 lines of the file.

Where your log file is located is in your configs that you can access with:

redis-cli CONFIG GET *

The log file may not always be shown using the above. In that case use

tail -f `less /etc/redis/redis.conf | grep logfile|cut -d\ -f2`
answered May 2, 2013 at 14:09
Sign up to request clarification or add additional context in comments.

4 Comments

Using cat to read a log file can be a very bad if it is too long (which happens a lot in log files). Using less or tail will be safer
use '*' instead of * as * would be interpreted by terminal
This is a known, but someone may find it useful: When looking for signs of crash/issues, Redis log may not help much...it may just show normal op then service online messages. So check the webserver (apache?) error log, logs for handlers such as FCGI, and in the syslog for proc kills or other alerts. Also check any tracked/historical resource useage (like Cloudlinux or newrelic graphs) in order to have insight for future -- example, a massive nightly MySQL backup happening at the same time as an SEO crawler speeding the entire site (gen all cache) may cause destruction, redis out of mem, etc
user is redis and group is also redis can't run cd /var/log/redis
51

You can also login to the redis-cli and use the MONITOR command to see what queries are happening against Redis.

answered Feb 4, 2016 at 17:43

1 Comment

You saved my day. My use-case was to start Redis-docker and from inside the container I needed to run a script to populate the sample data. But after running docker-server in the background, and injecting data, the container was exiting. So at the end after all my commands I added the Redis-CLI monitor and it worked. Thanks.
16
vi /usr/local/etc/redis.conf

Look for dir, logfile

# The working directory.
#
# The DB will be written inside this directory, with the filename specified
# above using the 'dbfilename' configuration directive.
#
# The Append Only File will also be created inside this directory.
#
# Note that you must specify a directory here, not a file name.
dir /usr/local/var/db/redis/
# Specify the log file name. Also the empty string can be used to force
# Redis to log on the standard output. Note that if you use standard
# output for logging but daemonize, logs will be sent to /dev/null 
logfile "redis_log"

So the log file is created at /usr/local/var/db/redis/redis_log with the name redis_log

You can also try MONITOR command from redis-cli to review the number of commands executed.

answered May 2, 2017 at 19:05

1 Comment

even after changing the conf file and running ther redis-server again & doing some oeprations, I couldn't fine the log at this dir /usr/local/var/db/redis/, the dir is still empty.
13

The log file will be where the configuration file (usually /etc/redis/redis.conf) says it is :)

By default, logfile stdout which probably isn't what you are looking for. If redis is running daemonized, then that log configuration means logs will be sent to /dev/null, i.e. discarded.

Summary: set logfile /path/to/my/log/file.log in your config and redis logs will be written to that file.

answered Jul 17, 2013 at 18:30

Comments

13

I recommend you to use redis-cli monitoring tool. Simple type the following command:

redis-cli monitor

It gives you a real-time access log which helps you troubleshoot the problems and...

answered Dec 29, 2022 at 12:16

Comments

-1

Check your error log file and then use the tail command as:

tail -200f /var/log/redis_6379.log

or

 tail -200f /var/log/redis.log

According to your error file name..

answered Jun 23, 2015 at 7:02

Comments

Your Answer

Draft saved
Draft discarded

Sign up or log in

Sign up using Google
Sign up using Email and Password

Post as a guest

Required, but never shown

Post as a guest

Required, but never shown

By clicking "Post Your Answer", you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.