非常教程

Docker 17参考手册

引擎: 管理员指南 | Engine: Admin Guide

Syslog日志记录驱动程序(引擎) | Syslog logging driver (Engine)

syslog日志记录驱动程序将日志路由到syslog服务器。syslog协议使用原始字符串作为日志消息并支持一组有限的元数据。系统日志消息必须以特定方式格式化才能生效。从有效的消息中,接收者可以提取以下信息:

  • 优先级:日志记录级别,如debugwarningerrorinfo
  • 时间戳:事件发生的时间。
  • 主机名:事件发生的位置。
  • 设施:哪个子系统记录了消息,例如mailkernel
  • 进程名称进程ID(PID):生成日志的进程的名称和ID。

格式在RFC 5424中定义,Docker的syslog驱动程序按以下方式实现ABNF引用:

                TIMESTAMP SP HOSTNAME SP APP-NAME SP PROCID SP MSGID
                    +          +             +           |        +
                    |          |             |           |        |
                    |          |             |           |        |
       +------------+          +----+        |           +----+   +---------+
       v                            v        v                v             v
2017-04-01T17:41:05.616647+08:00 a.vm {taskid:aa,version:} 1787791 {taskid:aa,version:}

使用

要将syslog驱动程序用作默认日志记录驱动程序,请将该键log-driverlog-opt键设置daemon.json为位于/etc/docker/Linux主机或C:\ProgramData\docker\config\daemon.jsonWindows Server 上的文件中的适当值。有关使用Docker配置的更多信息daemon.json,请参阅daemon.json。

以下示例将日志驱动程序syslog设置为并设置syslog-address选项。

{
  "log-driver": "syslog",
  "log-opts": {
    "syslog-address": "udp://1.2.3.4:1111"
  }
}

重新启动Docker以使更改生效。

系统日志地址支持UDP和TCP.

您可以通过设置特定容器的记录驾驶员--log-driver标志docker createdocker run

docker run \
      -–log-driver syslog –-log-opt syslog-address=udp://1.2.3.4:1111 \
      alpine echo hello world

备选方案

支持以下日志记录选项作为syslog日志记录驱动程序的选项。可以daemon.json通过将它们作为键值对添加到log-optsJSON数组中将它们设置为默认值。它们也可以通过--log-opt <key>=<value>在启动容器时为每个选项添加一个标志来设置给定的容器。

选项

描述

示例值

系统日志地址

外部系统日志服务器的地址。URI说明符可能是tcp | udp | tcp + tls://主机:端口,unix://路径或unixgram://路径。如果传输是tcp,udp或tcp + tls,则默认端口是514。

--log-opt syslog-address = tcp + tls://192.168.1.3:514,--log-opt syslog-address = unix:///tmp/syslog.sock

系统日志 - 设施

要使用的系统日志工具。可以是任何有效的系统日志工具的编号或名称。请参阅syslog文档。

--log-opt syslog-facility = daemon

系统日志-TLS-CA证书

由CA签署的信任证书的绝对路径。如果地址协议不是tcp + tls,则忽略。

--log-opt syslog-tls-ca-cert = / etc / ca-certificates / custom / ca.pem

系统日志-TLS证书

TLS证书文件的绝对路径。如果地址协议不是tcp + tls,则忽略。

--log-opt syslog-tls-cert = / etc / ca-certificates / custom / cert.pem

系统日志-TLS键

TLS密钥文件的绝对路径。如果地址协议不是tcp + tls,则忽略。

--log-opt syslog -tls -key = / etc / ca-certificates / custom / key.pem

系统日志-TLS-跳过验证

如果设置为true,则连接到syslog守护程序时会跳过TLS验证。默认为false。如果地址协议不是tcp + tls,则忽略。

--log-opt syslog-tls-skip-verify = true

标签

系统日志消息中附加到APP-NAME的字符串。默认情况下,Docker使用容器ID的前12个字符来标记日志消息。请参阅日志标记选项文档以定制日志标记格式。

--log-opt标签=邮件程序

系统日志格式

要使用的系统日志消息格式。如果未指定,则使用本地UNIX系统日志格式,而不使用指定的主机名。指定rfc3164为RFC-3164兼容格式,rfc5424为RFC-5424兼容格式,或rfc5424micro为RFC-5424兼容格式,并带有微秒时间戳分辨率。

--log-opt syslog-format = rfc5424micro

标签

在启动Docker守护进程时适用。此守护程序将接受的与日志相关的标签的逗号分隔列表。用于高级日志标记选项。

--log-opt labels = production_status,地理位置

env

在启动Docker守护进程时适用。这个守护程序将接受的与日志相关的环境变量的逗号分隔列表。用于高级日志标记选项。

--log-opt env = os,客户

ENV正则表达式

在启动Docker守护进程时适用。与env类似且兼容。一个正则表达式来匹配与日志相关的环境变量。用于高级日志标记选项。

--log-opt env-regex = ^(os | customer)

syslog, docker, logging, driver

引擎: 管理员指南 | Engine: Admin Guide相关

1.Amazon CloudWatch记录日志记录驱动程序(引擎) | Amazon CloudWatch logs logging driver (Engine)
2. 绑定挂载 | Bind mounts (Engine)
3.使用Prometheus(引擎)收集Docker指标 | Collect Docker metrics with Prometheus (Engine)
4.配置和运行Docker(引擎) | Configuring and running Docker (Engine)
5.配置日志记录驱动程序 | Configuring logging drivers (Engine)
6.使用systemd控制和配置Docker(引擎) | Control and configure Docker with systemd (Engine)
7.ETW日志记录驱动程序(引擎) | ETW logging driver (Engine)
8.流利的日志驱动程序(引擎) | Fluentd logging driver (Engine)
9.格式化命令和日志输出(引擎) | Format command and log output (Engine)
10.Google Cloud日志记录驱动程序(引擎) | Google Cloud logging driver (Engine)
11.Graylog扩展格式(GELF)日志记录驱动程序(引擎) | Graylog Extended Format (GELF) logging driver (Engine)
12.Journald日志记录驱动程序(引擎) | Journald logging driver (Engine)
13.JSON文件日志记录驱动程序(引擎) | JSON File logging driver (Engine)
14.在守护进程停机期间保持容器处于活动状态(引擎) | Keep containers alive during daemon downtime (Engine)
15.限制容器的资源(引擎) | Limit a container's resources (Engine)
16.通过大使容器链接(引擎) | Link via an ambassador container (Engine)
17.记录驱动程序的日志标记(引擎) | Log tags for logging driver (Engine)
18.Logentries日志驱动程序(引擎) | Logentries logging driver (Engine)
19.PowerShell DSC用法(引擎) | PowerShell DSC usage (Engine)
20.修剪未使用的Docker对象(引擎) | Prune unused Docker objects (Engine)
21.在容器中运行多个服务(引擎) | Run multiple services in a container (Engine)
22.运行时指标(引擎) | Runtime metrics (Engine)
23.Splunk日志记录驱动程序(引擎) | Splunk logging driver (Engine)
24.自动启动容器(引擎) | Start containers automatically (Engine)
25.存储概述(引擎) | Storage overview (Engine)
26.tmpfs mounts
27.解决卷问题(引擎) | Troubleshoot volume problems (Engine)
28.使用日志驱动程序插件(引擎) | Use a logging driver plugin (Engine)
29.使用Ansible(引擎) | Using Ansible (Engine)
30.使用Chef(引擎) | Using Chef (Engine)
31.使用Puppet(引擎) | Using Puppet (Engine)
32.查看容器的日志(引擎) | View a container's logs (Engine)
33.Volumes (Engine)
Docker 17

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。

主页 https://docker.com/
源码 https://github.com/docker/docker
版本 17
发布版本 17.06