Reputation: 22329
The logs generated by Docker containers, created by Docker Compose using the Syslog driver, uses the following format "docker/Container_ID".
May 2 17:53:21 pe2enpmas300 docker/addfbda94974[1359]: 1:C 03 May 00:53:21.313 # Warning: no config file specified, using the default config. In order to specify a config file
use redis-server /path/to/redis.conf
May 2 17:53:21 pe2enpmas300 docker/addfbda94974[1359]: _._
May 2 17:53:21 pe2enpmas300 docker/addfbda94974[1359]: _.-``__ ''-._
May 2 17:53:21 pe2enpmas300 docker/addfbda94974[1359]: _.-`` `. `_. ''-._ Redis 3.0.7 (00000000/0) 64 bit
May 2 17:53:21 pe2enpmas300 docker/addfbda94974[1359]: .-`` .-```. ```\/ _.,_ ''-._
May 2 17:53:21 pe2enpmas300 docker/addfbda94974[1359]: ( ' , .-` | `, ) Running in standalone mode
May 2 17:53:21 pe2enpmas300 docker/addfbda94974[1359]: |`-._`-...-` __...-.``-._|'` _.-'| Port: 6379
May 2 17:53:21 pe2enpmas300 docker/addfbda94974[1359]: | `-._ `._ / _.-' | PID: 1
May 2 17:53:21 pe2enpmas300 docker/addfbda94974[1359]: `-._ `-._ `-./ _.-' _.-'
May 2 17:53:21 pe2enpmas300 docker/addfbda94974[1359]: |`-._`-._ `-.__.-' _.-'_.-'|
May 2 17:53:21 pe2enpmas300 docker/addfbda94974[1359]: | `-._`-._ _.-'_.-' | http://redis.io
May 2 17:53:21 pe2enpmas300 docker/addfbda94974[1359]: `-._ `-._`-.__.-'_.-' _.-'
May 2 17:53:21 pe2enpmas300 docker/addfbda94974[1359]: |`-._`-._ `-.__.-' _.-'_.-'|
May 2 17:53:21 pe2enpmas300 docker/addfbda94974[1359]: | `-._`-._ _.-'_.-' |
May 2 17:53:21 pe2enpmas300 docker/addfbda94974[1359]: `-._ `-._`-.__.-'_.-' _.-'
May 2 17:53:21 pe2enpmas300 docker/addfbda94974[1359]: `-._ `-.__.-' _.-'
This is just too bad if you are taking those logs to a log server such as Splunk.
How can we change the name of the tag?
That should be something like:
May 2 17:53:21 pe2enpmas300 docker/redis/redisservice/addfbda94974[1359]:
Upvotes: 1
Views: 5892
Reputation: 1819
The other answer is out of date for the current docker-compose
(1.24.1) syntax. To get the necessary logging set up, you'll want to use the following for the service in your docker-compose.yaml
file:
logging:
driver: syslog
options:
tag: "{{.ImageName}}/{{.Name}}/{{.ID}}"
Upvotes: 3
Reputation: 22329
As documented at https://docs.docker.com/engine/admin/logging/log_tags/, the way to change the name of the log tag can be using the variables defined there... So, you can use the following:
log_driver: syslog
log_opt:
tag: "{{.ImageName}}/{{.Name}}/{{.ID}}"
The output on /var/log/messages is as follows (or wherever your syslog outputs logs to)
May 3 11:40:47 pe2enpmas300 docker/redis/npmoserver_redis_1/d14fd2ad2666[44739]: 1:C 03 May 18:40:47.818 # Warning: no config file specified, using the default config. In order
to specify a config file use redis-server /path/to/redis.conf
May 3 11:40:47 pe2enpmas300 docker/redis/npmoserver_redis_1/d14fd2ad2666[44739]: _._
May 3 11:40:47 pe2enpmas300 docker/redis/npmoserver_redis_1/d14fd2ad2666[44739]: _.-``__ ''-._
May 3 11:40:47 pe2enpmas300 docker/redis/npmoserver_redis_1/d14fd2ad2666[44739]: _.-`` `. `_. ''-._ Redis 3.0.7 (00000000/0) 64 bit
May 3 11:40:47 pe2enpmas300 docker/redis/npmoserver_redis_1/d14fd2ad2666[44739]: .-`` .-```. ```\/ _.,_ ''-._
May 3 11:40:47 pe2enpmas300 docker/redis/npmoserver_redis_1/d14fd2ad2666[44739]: ( ' , .-` | `, ) Running in standalone mode
May 3 11:40:47 pe2enpmas300 docker/redis/npmoserver_redis_1/d14fd2ad2666[44739]: |`-._`-...-` __...-.``-._|'` _.-'| Port: 6379
May 3 11:40:47 pe2enpmas300 docker/redis/npmoserver_redis_1/d14fd2ad2666[44739]: | `-._ `._ / _.-' | PID: 1
May 3 11:40:47 pe2enpmas300 docker/redis/npmoserver_redis_1/d14fd2ad2666[44739]: `-._ `-._ `-./ _.-' _.-'
May 3 11:40:47 pe2enpmas300 docker/redis/npmoserver_redis_1/d14fd2ad2666[44739]: |`-._`-._ `-.__.-' _.-'_.-'|
May 3 11:40:47 pe2enpmas300 docker/redis/npmoserver_redis_1/d14fd2ad2666[44739]: | `-._`-._ _.-'_.-' | http://redis.io
May 3 11:40:47 pe2enpmas300 docker/redis/npmoserver_redis_1/d14fd2ad2666[44739]: `-._ `-._`-.__.-'_.-' _.-'
Upvotes: 2