我正在使用fluentd daemonset docker image并通过使用以下代码段将fluentd发送日志到ES正常工作:
containers:
- name: fluentd
image: fluent/fluentd-kubernetes-daemonset:v1.4.2-debian-elasticsearch-1.1
env:
- name: FLUENT_ELASTICSEARCH_HOST
value: "my-aws-es-endpoint"
- name: FLUENT_ELASTICSEARCH_PORT
value: "443"
- name: FLUENT_ELASTICSEARCH_SCHEME
value: "https"
- name: FLUENT_ELASTICSEARCH_USER
value: null
- name: FLUENT_ELASTICSEARCH_PASSWORD
value: null
但是发生的问题是针对DR / HA的,我们也将日志保存到S3中。我的问题是,无论如何,我们可以在kubernetes中的fluentd-kubernetes-daemonset中添加多个输出,例如S3,Kinesis等? 最佳答案
这取决于如何将Fluentd部署到群集。您是否使用Helm或Skaffold等模板引擎?
如果是这样,则它们内部应具有configmap /配置选项,以自定义部署并提供您自己的输入。例如,可以通过在此处添加输出来定义 Helm 流利度:
https://github.com/helm/charts/blob/master/stable/fluentd/values.yaml#L97
这应该允许您创建多个流,以便将流畅的数据输出到多个位置。
我注意到在您特定的Docker Image中,您提供了它们在Ruby中有一些模板项。该配置专门允许您将卷安装到fluentd文件夹中的conf.d/
:https://github.com/fluent/fluentd-kubernetes-daemonset/blob/master/templates/conf/fluent.conf.erb#L9
也许是/etc/fluentd
,但我建议在本地运行该镜像并检查一下自己。
只要您的配置文件以.conf
结尾,您就可以添加所需的任何内容。
关于amazon-s3 - 如何在kubernetes中的fluentd-kubernetes-daemonset中添加多个输出,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/63804907/