簡體   English   中英

在logstash中使用docker GELF驅動程序env / labels

[英]Using docker GELF driver env/labels in logstash

Docker GELF日志驅動程序允許envlabels log-opts:

gelf日志記錄驅動程序支持標簽和env選項。 它在額外字段上添加了額外的鍵,以下划線(_)為前綴( ref

我想在彈性搜索輸出的索引名稱中使用它,但我無法弄清楚如何訪問這些值或說出extra字段。

假設我有這些選項運行容器,

docker run -it \
  --log-driver gelf \
  --log-opt gelf-address=udp://127.0.0.1:12201 \
  --log-opt tag=some-app \
  --log-opt env=staging \
  --log-opt labels=staging \
  ubuntu:16.04 /bin/bash -c 'echo Hello World'

我想使用我在logstash配置中傳遞的env值:

input {
  gelf { }
}

output {
  elasticsearch {
    hosts => ["http://127.0.0.1:9200"]
    index => "logstash-%{env-value-here}-%{tag}-%{+YYYY.MM.dd}"
  }
}

關於使用Graylog的env /標簽似乎還有另一個問題: Docker GELF驅動程序env選項

在閱讀添加此選項的PR之后,我意識到我誤解了它應該如何工作。

--log-opt labels=a,b,c (與env相同)定義要包含在GELF事件中的鍵。 實際上,這些值分別從docker標簽和環境變量中檢索。

--log-opt labels=foo --label foo=bar將在事件中包含foo: bar

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM