?
このドキュメントでは、 php中國語ネットマニュアル リリース
splunk
日志驅(qū)動(dòng)程序發(fā)送集裝箱日志HTTP事件收集器中的Splunk Enterprise和Splunk的云。
要將splunk
驅(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)程序設(shè)置為splunk
。
{ "log-driver": "splunk"}
重新啟動(dòng)Docker以使更改生效。
您可以使用以下--log-driver
選項(xiàng)來設(shè)置特定容器的日志記錄驅(qū)動(dòng)程序docker run
:
docker run --log-driver=splunk ...
您可以使用該--log-opt NAME=VALUE
標(biāo)志來指定這些額外的Splunk日志記錄驅(qū)動(dòng)程序選項(xiàng):
選項(xiàng) | 需要 | 描述 |
---|---|---|
splunk-token | 需要 | Splunk HTTP事件收集器令牌。 |
splunk-url | 需要 | 以下列格式之一指向您的Splunk Enterprise,自助服務(wù)Splunk Cloud實(shí)例或Splunk云托管群集(包括HTTP Event Collector使用的端口和方案)的路徑:https:// your_splunk_instance:8088或https:// input- prd-p-XXXXXXX.cloud.splunk.com:8088或https://http-inputs-XXXXXXXX.splunkcloud.com。 |
splunk-source | 可選的 | 事件源。 |
splunk-sourcetype | 可選的 | 事件源類型。 |
splunk-index | 可選的 | 事件索引。 |
splunk-capath | 可選的 | 根證書的路徑。 |
Splunk-caname | 可選的 | 用于驗(yàn)證服務(wù)器證書的名稱; 默認(rèn)情況下將使用splunk-url的主機(jī)名。 |
splunk-insecureskipverify | 可選的 | 忽略服務(wù)器證書驗(yàn)證。 |
splunk-format | 可選的 | 消息格式。可以是內(nèi)聯(lián),json或raw。默認(rèn)為內(nèi)聯(lián)。 |
splunk-verify-connection | 可選的 | 在開始時(shí)驗(yàn)證,該docker可以連接到Splunk服務(wù)器。默認(rèn)為true。 |
Splunk-gzip | 可選的 | 啟用/禁用gzip壓縮以將事件發(fā)送到Splunk Enterprise或Splunk Cloud實(shí)例。默認(rèn)為false。 |
splunk-gzip-level | 可選的 | 設(shè)置gzip的壓縮級(jí)別。有效值為-1(默認(rèn)),0(不壓縮),1(最佳速度)... 9(最佳壓縮)。默認(rèn)為DefaultCompression。 |
tag | 可選的 | 為消息指定標(biāo)簽,解釋某些標(biāo)記。默認(rèn)值是{{.ID}}(容器ID的12個(gè)字符)。請(qǐng)參閱日志標(biāo)記選項(xiàng)文檔以定制日志標(biāo)記格式。 |
labels | 可選的 | 如果這些標(biāo)簽是為容器指定的,則應(yīng)在消息中包含標(biāo)簽的鍵的逗號(hào)分隔列表。 |
env | 可選的 | 如果為容器指定了這些變量,則應(yīng)該在消息中包含環(huán)境變量的鍵的逗號(hào)分隔列表。 |
env-regex | 可選的 | 與env類似且兼容。一個(gè)正則表達(dá)式來匹配與日志相關(guān)的環(huán)境變量。用于高級(jí)日志標(biāo)記選項(xiàng)。 |
如果label
和env
鍵之間存在沖突,env
則優(yōu)先。這兩個(gè)選項(xiàng)都將附加字段添加到日志消息的屬性中。
以下是為Splunk Enterprise實(shí)例指定的日志記錄選項(xiàng)的示例。該實(shí)例本地安裝在運(yùn)行Docker守護(hù)程序的同一臺(tái)機(jī)器上。根證書和通用名稱的路徑是使用HTTPS方案指定的。這用于驗(yàn)證。SplunkServerDefaultCert
是由Splunk證書自動(dòng)生成的。
$ docker run --log-driver=splunk \ --log-opt splunk-token=176FCEBF-4CF5-4EDF-91BC-703796522D20 \ --log-opt splunk-url=https://splunkhost:8088 \ --log-opt splunk-capath=/path/to/cert/cacert.pem \ --log-opt splunk-caname=SplunkServerDefaultCert \ --log-opt tag="{{.Name}}/{{.FullID}}" \ --log-opt labels=location \ --log-opt env=TEST \ --env "TEST=false" \ --label location=west \ your/application
splunk-url
托管于云的Splunk Splunk的情況下,是在像格式https://http-inputs-XXXXXXXX.splunkcloud.com
,并且不包括端口說明。
默認(rèn)情況下,日志驅(qū)動(dòng)程序?qū)⑾l(fā)送給inline
格式,例如,每條消息將作為字符串嵌入其中。
{ "attrs": { "env1": "val1", "label1": "label1" }, "tag": "MyImage/MyContainer", "source": "stdout", "line": "my message"}{ "attrs": { "env1": "val1", "label1": "label1" }, "tag": "MyImage/MyContainer", "source": "stdout", "line": "{\"foo\": \"bar\"}"}
如果您的消息是JSON對(duì)象,您可能希望將它們嵌入到我們發(fā)送給Splunk的消息中。通過指定--log-opt splunk-format=json
驅(qū)動(dòng)程序?qū)L試將每一行解析為JSON對(duì)象,并將其作為嵌入式對(duì)象發(fā)送。如果它不能解析它-消息將作為inline
.例如
{ "attrs": { "env1": "val1", "label1": "label1" }, "tag": "MyImage/MyContainer", "source": "stdout", "line": "my message"}{ "attrs": { "env1": "val1", "label1": "label1" }, "tag": "MyImage/MyContainer", "source": "stdout", "line": { "foo": "bar" }}
第三種格式是raw
消息。您可以使用指定它--log-opt splunk-format=raw
。屬性(環(huán)境變量和標(biāo)簽)和標(biāo)簽將作為消息的前綴。例如
MyImage/MyContainer env1=val1 label1=label1 my message MyImage/MyContainer env1=val1 label1=label1 {"foo": "bar"}
Splunk日志記錄驅(qū)動(dòng)程序允許您通過為Docker守護(hù)進(jìn)程指定下一個(gè)環(huán)境變量來配置少數(shù)高級(jí)選項(xiàng)。
環(huán)境變量名稱 | 默認(rèn)值 | 描述 |
---|---|---|
SPLUNK_LOGGING_DRIVER_POST_MESSAGES_FREQUENCY | 5S | 如果沒有什么可以批量驅(qū)動(dòng)程序發(fā)布消息的頻率。您可以將此視為等待更多消息進(jìn)行批處理的最長時(shí)間。 |
SPLUNK_LOGGING_DRIVER_POST_MESSAGES_BATCH_SIZE | 1000 | 在一批發(fā)送驅(qū)動(dòng)程序之前,驅(qū)動(dòng)程序應(yīng)等待多少個(gè)消息。 |
SPLUNK_LOGGING_DRIVER_BUFFER_MAX | 10 * 1000 | 如果驅(qū)動(dòng)程序無法連接到遠(yuǎn)程服務(wù)器,它可以保存在緩沖區(qū)中以便重試的最大消息數(shù)量是多少。 |
SPLUNK_LOGGING_DRIVER_CHANNEL_SIZE | 4 * 1000 | 通道中有多少待處理消息可用于將消息發(fā)送給后臺(tái)記錄器工作人員,后者將對(duì)這些消息進(jìn)行批處理。 |