我按照本指南配置了EKS集群上的Fluent位和Cloudwatch,但目前所有的日志都属于一个日志组。我试着遵循一个单独的教程,它使用kubernetes插件(用于Fluent位)在到达输出配置之前标记服务。这导致了问题,因为Fargate目前并不像这个医生的底端那样处理Fluent位输入配置。
以前有人遇到过这种情况吗?我想把日志分成不同的服务部门。
这是我现在的YAML文件。我添加了解析器和过滤器,以查看是否可以获得在Cloudwatch上使用over的任何其他信息。
kind: Namespace
apiVersion: v1
metadata:
name: aws-observability
labels:
aws-observability: enabled
---
kind: ConfigMap
apiVersion: v1
metadata:
name: aws-logging
namespace: aws-observability
data:
parsers.conf: |
[PARSER]
Name docker
Format json
Time_Key time
Time_Format %Y-%m-%dT%H:%M:%S.%L
Time_Keep On
filters.conf: |
[FILTER]
Name kubernetes
Match kube.*
Kube_CA_File /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
Kube_Token_File /var/run/secrets/kubernetes.io/serviceaccount/token
# Kube_Tag_Prefix kube.var.log.containers.
Kube_URL https://kubernetes.default.svc:443
Merge_Log On
Merge_Log_Key log_processed
Use_Kubelet true
Buffer_Size 0
Dummy_Meta true
output.conf: |
[OUTPUT]
Name cloudwatch_logs
Match *
region us-east-1
log_group_name fluent-bit-cloudwatch2
log_stream_prefix from-fluent-bit-
auto_create_group On发布于 2021-06-24 14:28:40
所以我发现这样做其实很简单。
fluent位上输入的默认标记包含您要记录的服务的名称,因此您实际上可以在服务名称周围使用通配符来堆叠多个输出块。我所要做的就是让流被发送到不同的日志组。这是我的YAML,以供参考。
kind: Namespace
apiVersion: v1
metadata:
name: aws-observability
labels:
aws-observability: enabled
---
kind: ConfigMap
apiVersion: v1
metadata:
name: aws-logging
namespace: aws-observability
data:
output.conf: |
[OUTPUT]
Name cloudwatch_logs
Match *logger*
region us-east-1
log_group_name logger-fluent-bit-cloudwatch
log_stream_prefix from-fluent-bit-
auto_create_group On
[OUTPUT]
Name cloudwatch_logs
Match *alb*
region us-east-1
log_group_name alb-fluent-bit-cloudwatch
log_stream_prefix from-fluent-bit-
auto_create_group Onhttps://stackoverflow.com/questions/68090788
复制相似问题