我使用Google Kubernetes Engine,它是一个共享集群(不同的团队/应用程序使用它)。
我想将日志导出到stackdriver,所以基本集成不符合我的需求,因为每个人都可以看到所有日志。
因此,我找到了一种解决方法,该方法是在每个Pod的docker映像中使用堆栈驱动程序插件烘焙流利的代理。
然后,该代理将日志发送到具有自己的stackdriver工作区的其他GCP项目中,然后我只能将访问权限授予负责此pod的团队。
我的问题是我在Stackdriver控制台中收到此警告消息:
似乎此问题与插件在每个日志上放置的标签有关:
它与Google文档中描述的内容不符:
https://cloud.google.com/monitoring/kubernetes-engine/migration
所以我想知道我是否在fluentd文件中使用了正确的参数(或正确的代理版本),但是我找不到关于它的任何文档。
这是我的配置文件:
<source>
@type tail
path /app/logs/server.log
pos_file /app/logs/server.log.pos
read_from_head true
tag app.server
<parse>
@type none
</parse>
</source>
<match app.server>
@type google_cloud
vm_id app-server
vm_name app-server
detect_json true
<buffer>
flush_mode interval
retry_type exponential_backoff
@type file
path /var/log/google-fluentd/buffers
flush_thread_count 8
flush_interval 1s
retry_forever false
retry_max_times 3
retry_max_interval 300
chunk_limit_size 1M
</buffer>
</match>
很明显它不是在VM中运行,但是我发现没有什么可以更好地区分应用程序的。