syslog
syslog日志驱动程序将日志路由到syslog服务器。
syslog协议使用原始字符串作为日志消息并支持有限的元数据集。
syslog消息必须按特定方式格式化才能有效。
- 优先级:日志级别,例如debug,warning,error,info。
- 时间戳:事件发生的时间。
- 主机名:事件发生的位置。
- 设施:记录消息的子系统,例如邮件或内核。
- 进程名称和进程ID(PID):生成日志的进程的名称和ID。
日志格式如下所示:
2017-04-01T17:41:05.616647+08:00 a.vm {taskid:aa,version:} 1787791 {taskid:aa,version:}
使用方法
- 修改daemon.json
Linux:/etc/docker/
Windows Server:C:\ProgramData\docker\config\daemon.json{ “log-driver”:“syslog”, “log-opts”:{ “gelf-address”:“udp://1.2.3.4:1111” } }
- 重新启动 Docker 以使新创建的容器生效更改。现有容器不使用新的日志配置。
docker run \ --log-driver syslog --log-opt syslog-address = udp://1.2.3.4:1111 \ alpine echo hello world
参数
-
syslog-address
外部syslog服务器的地址。
URI说明符可以是[tcp | udp | tcp + tls]:// host:port (默认端口是514)
unix:// path或unixgram://