原标题:云计算核心技术Docker教程:Docker使用syslog日志驱动程序
syslog日志驱动程序将日志路由到syslog服务器。该syslog协议使用原始字符串作为日志消息并支持有限的元数据集。系统日志消息必须以特定方式格式化才能有效。从有效消息中,接收方可以提取以下信息:
优先级:日志级别,例如debug、warning、error、info。
时间戳:事件发生的时间。
主机名:事件发生的地方。
设施:哪个子系统记录了消息,例如mail或kernel。
进程名称和进程 ID (PID):生成日志的进程的名称和 ID。
该格式在RFC 5424 中定义,Docker 的 syslog 驱动程序通过以下方式实现 ABNF 引用:
用法
要将syslog驱动程序用作默认日志记录驱动程序,请将log-driver 和log-opt键设置为daemon.json文件中的适当值,该文件位于/etc/docker/Linux 主机或 C:\ProgramData\docker\config\daemon.jsonWindows 服务器上。有关使用 配置 Docker 的更多信息daemon.json,请参阅 daemon.json。
以下示例将日志驱动程序syslog设置为并设置 syslog-address选项。该syslog-address选项支持UDP和TCP; 此示例使用 UDP。
{
"log-driver": "syslog",
"log-opts": {
"syslog-address": "udp://1.2.3.4:1111"
}
}
重新启动 Docker 以使更改生效。
提示
log-opts配置daemon.json文件中的配置选项必须以字符串形式提供。因此,数字和布尔值(例如 的值 syslog-tls-skip-verify)必须用引号 ( ")括起来。
您可以通过设置特定容器记录 --log-driver标志docker container create或docker run:
docker run \
--log-driver syslog --log-opt syslog-address=udp://1.2.3.4:1111 \
alpine echo hello world