我整天都用Google搜索,似乎我不知道要google什么;)
所以我想要做的是增强在google云中运行的容器的日志记录。 日志正在流利地收集。
我的具体yaml看起来像这样:
apiVersion: apps/v1beta2
kind: Deployment
metadata:
name: nginx-deployment
spec:
selector:
matchLabels:
app: nginx
replicas: 2
template:
metadata:
labels:
app: nginx
spec:
containers:
- env:
- name: TEST
value: "test123"
name: nginx
image: nginx:1.8
ports:
- containerPort: 80
正如你所看到的,我有一个名为'TEST'的环境变量,其值为'test123'。
我现在要做的是,流利的人将这个键/值对添加到每个日志行......这是如此困难还是我甚至无法做到这一点?
真的很感激任何帮助或链接。
提前致谢:)
答案 0 :(得分:0)
据我所知,我不认为让FluentD在pod容器中定义的环境变量添加到日志消息中是一种简单的方法(或任何方式,真的)由这些容器发送。
最好的办法是实际更改该窗格容器的Syslog配置,以便将这些环境变量添加到日志消息中。然后,您可以通过新的ConfigMap轻松过滤这些消息,默认情况下,在Google Cloud上托管的Kubernetes群集上运行默认的FluentD DaemonSet IF ,您希望对它们进行任何类型的额外处理。
通过过滤器,我的意思是实际上根据消息内容过滤消息。默认的FluentD部署使用的容器不包含fluent-plugin-kubernetes_metadata_filter
,因此您无法按容器名称AFAIK进行过滤。
答案 1 :(得分:0)
如果您使用的是从kubernetes流出的样本,其中包含流利的kubernetes元数据,那么不要将其添加到env中,而是将其添加为标签。从那里流利的默认情况下会在每个日志上添加kube元数据。