[英]Image Name, Container Name in Docker Syslog Tag in Docker-Compose
The logs generated by Docker containers, created by Docker Compose using the Syslog driver, uses the following format "docker/Container_ID" .由 Docker Compose 使用 Syslog 驱动程序创建的 Docker 容器生成的日志使用以下格式"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.如果您将这些日志传送到诸如 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]:
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:如https://docs.docker.com/engine/admin/logging/log_tags/中所述,更改日志标签名称的方法可以使用在那里定义的变量......因此,您可以使用以下内容:
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) /var/log/messages上的输出如下(或您的 syslog 输出日志的任何位置)
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]: `-._ `-._`-.__.-'_.-' _.-'
The other answer is out of date for the current docker-compose
(1.24.1) syntax.另一个答案对于当前的 docker
docker-compose
(1.24.1) 语法来说已经过时了。 To get the necessary logging set up, you'll want to use the following for the service in your docker-compose.yaml
file:要设置必要的日志记录,您需要对
docker-compose.yaml
文件中的服务使用以下内容:
logging:
driver: syslog
options:
tag: "{{.ImageName}}/{{.Name}}/{{.ID}}"
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.