?
本文檔使用 php中文網(wǎng)手冊(cè) 發(fā)布
syslog
日志記錄驅(qū)動(dòng)程序?qū)⑷罩韭酚傻?code>syslog服務(wù)器。syslog
協(xié)議使用原始字符串作為日志消息并支持一組有限的元數(shù)據(jù)。系統(tǒng)日志消息必須以特定方式格式化才能生效。從有效的消息中,接收者可以提取以下信息:
優(yōu)先級(jí):日志記錄級(jí)別,如debug
,warning
,error
,info
。
時(shí)間戳:事件發(fā)生的時(shí)間。
主機(jī)名:事件發(fā)生的位置。
設(shè)施:哪個(gè)子系統(tǒng)記錄了消息,例如mail
或kernel
。
進(jìn)程名稱(chēng)和進(jìn)程ID(PID):生成日志的進(jìn)程的名稱(chēng)和ID。
格式在RFC 5424中定義,Docker的syslog驅(qū)動(dòng)程序按以下方式實(shí)現(xiàn)ABNF引用:
TIMESTAMP SP HOSTNAME SP APP-NAME SP PROCID SP MSGID + + + | + | | | | | | | | | | +------------+ +----+ | +----+ +---------+ v v v v v2017-04-01T17:41:05.616647+08:00 a.vm {taskid:aa,version:} 1787791 {taskid:aa,version:}
要將syslog
驅(qū)動(dòng)程序用作默認(rèn)日志記錄驅(qū)動(dòng)程序,請(qǐng)將該鍵log-driver
和log-opt
鍵設(shè)置daemon.json
為位于/etc/docker/
Linux主機(jī)或C:\ProgramData\docker\config\daemon.json
Windows Server 上的文件中的適當(dāng)值。有關(guān)使用Docker配置的更多信息daemon.json
,請(qǐng)參閱daemon.json。
以下示例將日志驅(qū)動(dòng)程序syslog
設(shè)置為并設(shè)置syslog-address
選項(xiàng)。
{ "log-driver": "syslog", "log-opts": { "syslog-address": "udp://1.2.3.4:1111" }}
重新啟動(dòng)Docker以使更改生效。
注系統(tǒng)日志地址支持UDP和TCP.
您可以通過(guò)設(shè)置特定容器的記錄駕駛員--log-driver
標(biāo)志docker create
或docker run
:
docker run \ -–log-driver syslog –-log-opt syslog-address=udp://1.2.3.4:1111 \ alpine echo hello world
支持以下日志記錄選項(xiàng)作為syslog
日志記錄驅(qū)動(dòng)程序的選項(xiàng)??梢?code>daemon.json通過(guò)將它們作為鍵值對(duì)添加到log-opts
JSON數(shù)組中將它們?cè)O(shè)置為默認(rèn)值。它們也可以通過(guò)--log-opt <key>=<value>
在啟動(dòng)容器時(shí)為每個(gè)選項(xiàng)添加一個(gè)標(biāo)志來(lái)設(shè)置給定的容器。
選項(xiàng) | 描述 | 示例值 |
---|---|---|
系統(tǒng)日志地址 | 外部系統(tǒng)日志服務(wù)器的地址。URI說(shuō)明符可能是tcp | udp | tcp + tls://主機(jī):端口,unix://路徑或unixgram://路徑。如果傳輸是tcp,udp或tcp + tls,則默認(rèn)端口是514。 | --log-opt syslog-address = tcp + tls://192.168.1.3:514,--log-opt syslog-address = unix:///tmp/syslog.sock |
系統(tǒng)日志 - 設(shè)施 | 要使用的系統(tǒng)日志工具??梢允侨魏斡行У南到y(tǒng)日志工具的編號(hào)或名稱(chēng)。請(qǐng)參閱syslog文檔。 | --log-opt syslog-facility = daemon |
系統(tǒng)日志-TLS-CA證書(shū) | 由CA簽署的信任證書(shū)的絕對(duì)路徑。如果地址協(xié)議不是tcp + tls,則忽略。 | --log-opt syslog-tls-ca-cert = / etc / ca-certificates / custom / ca.pem |
系統(tǒng)日志-TLS證書(shū) | TLS證書(shū)文件的絕對(duì)路徑。如果地址協(xié)議不是tcp + tls,則忽略。 | --log-opt syslog-tls-cert = / etc / ca-certificates / custom / cert.pem |
系統(tǒng)日志-TLS鍵 | TLS密鑰文件的絕對(duì)路徑。如果地址協(xié)議不是tcp + tls,則忽略。 | --log-opt syslog -tls -key = / etc / ca-certificates / custom / key.pem |
系統(tǒng)日志-TLS-跳過(guò)驗(yàn)證 | 如果設(shè)置為true,則連接到syslog守護(hù)程序時(shí)會(huì)跳過(guò)TLS驗(yàn)證。默認(rèn)為false。如果地址協(xié)議不是tcp + tls,則忽略。 | --log-opt syslog-tls-skip-verify = true |
標(biāo)簽 | 系統(tǒng)日志消息中附加到APP-NAME的字符串。默認(rèn)情況下,Docker使用容器ID的前12個(gè)字符來(lái)標(biāo)記日志消息。請(qǐng)參閱日志標(biāo)記選項(xiàng)文檔以定制日志標(biāo)記格式。 | --log-opt標(biāo)簽=郵件程序 |
系統(tǒng)日志格式 | 要使用的系統(tǒng)日志消息格式。如果未指定,則使用本地UNIX系統(tǒng)日志格式,而不使用指定的主機(jī)名。指定rfc3164為RFC-3164兼容格式,rfc5424為RFC-5424兼容格式,或rfc5424micro為RFC-5424兼容格式,并帶有微秒時(shí)間戳分辨率。 | --log-opt syslog-format = rfc5424micro |
標(biāo)簽 | 在啟動(dòng)Docker守護(hù)進(jìn)程時(shí)適用。此守護(hù)程序?qū)⒔邮艿呐c日志相關(guān)的標(biāo)簽的逗號(hào)分隔列表。用于高級(jí)日志標(biāo)記選項(xiàng)。 | --log-opt labels = production_status,地理位置 |
env | 在啟動(dòng)Docker守護(hù)進(jìn)程時(shí)適用。這個(gè)守護(hù)程序?qū)⒔邮艿呐c日志相關(guān)的環(huán)境變量的逗號(hào)分隔列表。用于高級(jí)日志標(biāo)記選項(xiàng)。 | --log-opt env = os,客戶 |
ENV正則表達(dá)式 | 在啟動(dòng)Docker守護(hù)進(jìn)程時(shí)適用。與env類(lèi)似且兼容。一個(gè)正則表達(dá)式來(lái)匹配與日志相關(guān)的環(huán)境變量。用于高級(jí)日志標(biāo)記選項(xiàng)。 | --log-opt env-regex = ^(os | customer) |