docker - 你如何从 fluentd 访问 docker 标签
问题描述
我正在尝试从我的 docker 容器中获取 stdout/stderr 到loki
. 我有基本的工作,但我想用client
我的docker-compose.yaml
.
我的相关部分docker-compose.yml
x-logging-defaults: &logging_defaults
logging:
driver: "fluentd"
options:
fluentd-address: 10.10.10.1:24224
tag: docker.application
labels: "client=the-client" # here?
labels:
- client=the-client # or here?
部分fluent.conf
<filter docker.**>
@type record_transformer
<record>
hostname "#{Socket.gethostname}"
# I think magic goes here, I've tried many variations
# of the following examples
client $.client
client $.docker.label.client
client ${ record.dig("labels", "client") }
</record>
</filter>
<match docker.**>
@type loki
url "http://loki.service.consul:3100"
<label>
client $.client # more magic here?
</label>
extra_labels {
"client": "or maybe here?"
}
</match>
解决方案
推荐阅读
- reactjs - 反应更新数组的数据但未出现更改
- node.js - Sequelize sync() 不会创建所有的表模型
- mysql - 显示名称最短和最长的城市
- postgresql - 将两个表合并为一个物化视图
- python - Flask:request.referrer 从外部 URL 引用时不返回
- c# - 如何使用 C# 和 WPF 实现位于顶部并减少工作空间区域的窗口?
- python - 从 csv 文件调用数据并使用 django 显示到 html 页面中
- c - 查找非支配点的代码无法正常工作
- axon - JpaSagaStore 与 Jackson 一起无法正确存储状态
- html - 如何选择正确的元素来应用 CSS(准确地说是 SASS)