# ConfigMap for Fluent Bit with the specified configurations, including configured values from values.yaml. {{- if .Values.fluentbit.enabled }} apiVersion: v1 kind: ConfigMap metadata: name: {{ .Values.fluentbit.configName }} namespace: {{ include "aws-for-fluent-bit.namespace" . }} labels: k8s-app: {{ .Values.fluentbit.name }} data: fluent-bit.conf: | [SERVICE] Flush 5 Log_Level info Daemon off Parsers_File parsers.conf HTTP_Server {{ .Values.fluentbit.env.httpServer }} HTTP_Listen 0.0.0.0 HTTP_Port {{ .Values.fluentbit.env.httpPort }} storage.path /var/fluent-bit/state/flb-storage/ storage.sync normal storage.checksum off storage.backlog.mem_limit 5M @INCLUDE application-log.conf @INCLUDE dataplane-log.conf @INCLUDE host-log.conf application-log.conf: | [INPUT] Name tail Tag {{ .Values.fluentbit.input.applicationLog.tag }} Exclude_Path {{ .Values.fluentbit.input.applicationLog.excludePath }} Path {{ .Values.fluentbit.input.applicationLog.path }} Docker_Mode {{ .Values.fluentbit.input.applicationLog.dockerMode }} Docker_Mode_Flush {{ .Values.fluentbit.input.applicationLog.dockerModeFlush }} Docker_Mode_Parser {{ .Values.fluentbit.input.applicationLog.dockerModeParser }} Parser {{ .Values.fluentbit.input.applicationLog.parser }} DB {{ .Values.fluentbit.input.applicationLog.db }} Mem_Buf_Limit {{ .Values.fluentbit.input.applicationLog.memBufLimit }} Skip_Long_Lines {{ .Values.fluentbit.input.applicationLog.skipLongLines }} Refresh_Interval {{ .Values.fluentbit.input.applicationLog.refreshInterval }} Rotate_Wait {{ .Values.fluentbit.input.applicationLog.rotateWait }} storage.type {{ .Values.fluentbit.input.applicationLog.storageType }} Read_from_Head {{ .Values.fluentbit.env.readFromHead }} [INPUT] Name tail Tag {{ .Values.fluentbit.input.applicationLog.tag }} Path {{ .Values.fluentbit.input.applicationLog.fluentbit.path }} Parser {{ .Values.fluentbit.input.applicationLog.parser }} DB {{ .Values.fluentbit.input.applicationLog.fluentbit.db }} Mem_Buf_Limit {{ .Values.fluentbit.input.applicationLog.fluentbit.memBufLimit }} Skip_Long_Lines {{ .Values.fluentbit.input.applicationLog.skipLongLines }} Refresh_Interval {{ .Values.fluentbit.input.applicationLog.refreshInterval }} Read_from_Head {{ .Values.fluentbit.env.readFromHead }} [INPUT] Name tail Tag {{ .Values.fluentbit.input.applicationLog.tag }} Path {{ .Values.fluentbit.input.applicationLog.cloudwatchAgent.path }} Docker_Mode {{ .Values.fluentbit.input.applicationLog.dockerMode }} Docker_Mode_Flush {{ .Values.fluentbit.input.applicationLog.dockerModeFlush }} Docker_Mode_Parser {{ .Values.fluentbit.input.applicationLog.cloudwatchAgent.dockerModeParser }} Parser {{ .Values.fluentbit.input.applicationLog.parser }} DB {{ .Values.fluentbit.input.applicationLog.cloudwatchAgent.db }} Mem_Buf_Limit {{ .Values.fluentbit.input.applicationLog.cloudwatchAgent.memBufLimit }} Skip_Long_Lines {{ .Values.fluentbit.input.applicationLog.skipLongLines }} Refresh_Interval {{ .Values.fluentbit.input.applicationLog.refreshInterval }} Read_from_Head {{ .Values.fluentbit.env.readFromHead }} [FILTER] Name kubernetes Match {{ .Values.fluentbit.kubernetesFilter.match }} Kube_URL {{ .Values.fluentbit.kubernetesFilter.kubeURL }} Kube_Tag_Prefix {{ .Values.fluentbit.kubernetesFilter.kubeTagPrefix }} Merge_Log {{ .Values.fluentbit.kubernetesFilter.mergeLog }} Merge_Log_Key {{ .Values.fluentbit.kubernetesFilter.mergeLogKey }} K8S-Logging.Parser {{ .Values.fluentbit.kubernetesFilter.k8sLoggingParser }} K8S-Logging.Exclude {{ .Values.fluentbit.kubernetesFilter.k8sLoggingExclude }} Labels {{ .Values.fluentbit.kubernetesFilter.labels }} Annotations {{ .Values.fluentbit.kubernetesFilter.annotations }} [OUTPUT] Name cloudwatch_logs Match application.* region {{ .Values.awsRegion }} log_group_name /aws/containerinsights/{{ .Values.clusterName }}/application log_stream_prefix ${HOST_NAME}- auto_create_group true extra_user_agent container-insights dataplane-log.conf: | [INPUT] Name systemd Tag {{ .Values.fluentbit.input.dataplaneLog.systemd.tag }} Systemd_Filter {{ .Values.fluentbit.input.dataplaneLog.systemd.dockerUnit }} Systemd_Filter {{ .Values.fluentbit.input.dataplaneLog.systemd.kubeletUnit }} DB {{ .Values.fluentbit.input.dataplaneLog.systemd.db }} Path {{ .Values.fluentbit.input.dataplaneLog.systemd.path }} Read_From_Tail {{ .Values.fluentbit.env.readFromTail }} [INPUT] Name tail Tag {{ .Values.fluentbit.input.dataplaneLog.tail.tag }} Path {{ .Values.fluentbit.input.dataplaneLog.tail.path }} Docker_Mode {{ .Values.fluentbit.input.dataplaneLog.tail.dockerMode }} Docker_Mode_Flush {{ .Values.fluentbit.input.dataplaneLog.tail.dockerModeFlush }} Docker_Mode_Parser {{ .Values.fluentbit.input.dataplaneLog.tail.dockerModeParser }} Parser {{ .Values.fluentbit.input.dataplaneLog.tail.parser }} DB {{ .Values.fluentbit.input.dataplaneLog.tail.db }} Mem_Buf_Limit {{ .Values.fluentbit.input.dataplaneLog.tail.memBufLimit }} Skip_Long_Lines {{ .Values.fluentbit.input.dataplaneLog.tail.skipLongLines }} Refresh_Interval {{ .Values.fluentbit.input.dataplaneLog.tail.refreshInterval }} Rotate_Wait {{ .Values.fluentbit.input.dataplaneLog.tail.rotateWait }} storage.type {{ .Values.fluentbit.input.dataplaneLog.tail.storageType }} Read_from_Head {{ .Values.fluentbit.env.readFromHead }} [FILTER] Name modify Match dataplane.systemd.* Rename _HOSTNAME hostname Rename _SYSTEMD_UNIT systemd_unit Rename MESSAGE message Remove_regex ^((?!hostname|systemd_unit|message).)*$ [FILTER] Name aws Match dataplane.* imds_version v1 [OUTPUT] Name cloudwatch_logs Match dataplane.* region {{ .Values.awsRegion }} log_group_name /aws/containerinsights/{{ .Values.clusterName }}/dataplane log_stream_prefix ${HOST_NAME}- auto_create_group true extra_user_agent container-insights host-log.conf: | [INPUT] Name tail Tag {{ .Values.fluentbit.input.hostLog.dmesg.tag }} Path {{ .Values.fluentbit.input.hostLog.dmesg.path }} Parser {{ .Values.fluentbit.input.hostLog.parser }} DB {{ .Values.fluentbit.input.hostLog.dmesg.db }} Mem_Buf_Limit {{ .Values.fluentbit.input.hostLog.memBufLimit }} Skip_Long_Lines {{ .Values.fluentbit.input.hostLog.skipLongLines }} Refresh_Interval {{ .Values.fluentbit.input.hostLog.refreshInterval }} Read_from_Head {{ .Values.fluentbit.env.readFromHead }} [INPUT] Name tail Tag {{ .Values.fluentbit.input.hostLog.messages.tag }} Path {{ .Values.fluentbit.input.hostLog.messages.path }} Parser {{ .Values.fluentbit.input.hostLog.parser }} DB {{ .Values.fluentbit.input.hostLog.messages.db }} Mem_Buf_Limit {{ .Values.fluentbit.input.hostLog.memBufLimit }} Skip_Long_Lines {{ .Values.fluentbit.input.hostLog.skipLongLines }} Refresh_Interval {{ .Values.fluentbit.input.hostLog.refreshInterval }} Read_from_Head {{ .Values.fluentbit.env.readFromHead }} [INPUT] Name tail Tag {{ .Values.fluentbit.input.hostLog.secure.tag }} Path {{ .Values.fluentbit.input.hostLog.secure.path }} Parser {{ .Values.fluentbit.input.hostLog.parser }} DB {{ .Values.fluentbit.input.hostLog.secure.db }} Mem_Buf_Limit {{ .Values.fluentbit.input.hostLog.memBufLimit }} Skip_Long_Lines {{ .Values.fluentbit.input.hostLog.skipLongLines }} Refresh_Interval {{ .Values.fluentbit.input.hostLog.refreshInterval }} Read_from_Head {{ .Values.fluentbit.env.readFromHead }} [FILTER] Name aws Match host.* imds_version v1 [OUTPUT] Name cloudwatch_logs Match host.* region {{ .Values.awsRegion }} log_group_name /aws/containerinsights/{{ .Values.clusterName }}/host log_stream_prefix ${HOST_NAME}. auto_create_group true extra_user_agent container-insights parsers.conf: | [PARSER] Name docker Format json Time_Key time Time_Format %Y-%m-%dT%H:%M:%S.%LZ [PARSER] Name syslog Format regex Regex ^(?