@@ -656,7 +656,7 @@ module "aws_for_fluentbit" {
656656 namespace = local. aws_for_fluentbit_namespace
657657 create_namespace = try (var. aws_for_fluentbit . create_namespace , false )
658658 chart = try (var. aws_for_fluentbit . chart , " aws-for-fluent-bit" )
659- chart_version = try (var. aws_for_fluentbit . chart_version , " 0.1.28 " )
659+ chart_version = try (var. aws_for_fluentbit . chart_version , " 0.1.30 " )
660660 repository = try (var. aws_for_fluentbit . repository , " https://aws.github.io/eks-charts" )
661661 values = try (var. aws_for_fluentbit . values , [])
662662
@@ -750,6 +750,232 @@ module "aws_for_fluentbit" {
750750 tags = var. tags
751751}
752752
753+ resource "kubernetes_config_map_v1_data" "aws_for_fluentbit_containerinsights" {
754+ count = var. enable_aws_for_fluentbit && try (var. aws_for_fluentbit . enable_containerinsights , false ) ? 1 : 0
755+ depends_on = [module . aws_for_fluentbit ]
756+ force = true
757+
758+ metadata {
759+ name = " aws-for-fluent-bit"
760+ namespace = local. aws_for_fluentbit_namespace
761+ }
762+
763+ data = {
764+ " fluent-bit.conf" = try (
765+ var. aws_for_fluentbit . fluentbit_conf ,
766+ <<- EOT
767+ [SERVICE]
768+ Flush 5
769+ Grace 30
770+ Log_Level info
771+ Daemon off
772+ Parsers_File parsers.conf
773+ HTTP_Server On
774+ HTTP_Listen 0.0.0.0
775+ HTTP_Port 2020
776+ storage.path /var/fluent-bit/state/flb-storage/
777+ storage.sync normal
778+ storage.checksum off
779+ storage.backlog.mem_limit 5M
780+
781+ @INCLUDE application-log.conf
782+ @INCLUDE dataplane-log.conf
783+ @INCLUDE host-log.conf
784+ EOT
785+ )
786+ " application-log.conf" = try (
787+ var. aws_for_fluentbit . application_log_conf ,
788+ <<- EOT
789+ [INPUT]
790+ Name tail
791+ Tag application.*
792+ Exclude_Path /var/log/containers/cloudwatch-agent*, /var/log/containers/fluent-bit*, /var/log/containers/aws-node*, /var/log/containers/kube-proxy*
793+ Path /var/log/containers/*.log
794+ multiline.parser docker, cri
795+ DB /var/fluent-bit/state/flb_container.db
796+ Mem_Buf_Limit 50MB
797+ Skip_Long_Lines On
798+ Refresh_Interval 10
799+ Rotate_Wait 30
800+ storage.type filesystem
801+ Read_from_Head Off
802+
803+ [INPUT]
804+ Name tail
805+ Tag application.*
806+ Path /var/log/containers/fluent-bit*
807+ multiline.parser docker, cri
808+ DB /var/fluent-bit/state/flb_log.db
809+ Mem_Buf_Limit 5MB
810+ Skip_Long_Lines On
811+ Refresh_Interval 10
812+ Read_from_Head Off
813+
814+ [INPUT]
815+ Name tail
816+ Tag application.*
817+ Path /var/log/containers/cloudwatch-agent*
818+ multiline.parser docker, cri
819+ DB /var/fluent-bit/state/flb_cwagent.db
820+ Mem_Buf_Limit 5MB
821+ Skip_Long_Lines On
822+ Refresh_Interval 10
823+ Read_from_Head Off
824+
825+ [FILTER]
826+ Name kubernetes
827+ Match application.*
828+ Kube_URL https://kubernetes.default.svc:443
829+ Kube_Tag_Prefix application.var.log.containers.
830+ Merge_Log On
831+ Merge_Log_Key log_processed
832+ K8S-Logging.Parser On
833+ K8S-Logging.Exclude Off
834+ Labels Off
835+ Annotations Off
836+ Use_Kubelet On
837+ Kubelet_Port 10250
838+ Buffer_Size 0
839+
840+ [OUTPUT]
841+ Name cloudwatch_logs
842+ Match application.*
843+ region ${ local . region }
844+ log_group_name /aws/containerinsights/${ local . cluster_name } /application
845+ log_stream_prefix $${HOSTNAME}-
846+ auto_create_group true
847+ extra_user_agent container-insights
848+ workers 1
849+ EOT
850+ )
851+ " dataplane-log.conf" = try (
852+ var. aws_for_fluentbit . dataplane_log_conf ,
853+ <<- EOT
854+ [INPUT]
855+ Name systemd
856+ Tag dataplane.systemd.*
857+ Systemd_Filter _SYSTEMD_UNIT=docker.service
858+ Systemd_Filter _SYSTEMD_UNIT=containerd.service
859+ Systemd_Filter _SYSTEMD_UNIT=kubelet.service
860+ DB /var/fluent-bit/state/systemd.db
861+ Path /var/log/journal
862+ Read_From_Tail On
863+
864+ [INPUT]
865+ Name tail
866+ Tag dataplane.tail.*
867+ Path /var/log/containers/aws-node*, /var/log/containers/kube-proxy*
868+ multiline.parser docker, cri
869+ DB /var/fluent-bit/state/flb_dataplane_tail.db
870+ Mem_Buf_Limit 50MB
871+ Skip_Long_Lines On
872+ Refresh_Interval 10
873+ Rotate_Wait 30
874+ storage.type filesystem
875+ Read_from_Head Off
876+
877+ [FILTER]
878+ Name modify
879+ Match dataplane.systemd.*
880+ Rename _HOSTNAME hostname
881+ Rename _SYSTEMD_UNIT systemd_unit
882+ Rename MESSAGE message
883+ Remove_regex ^((?!hostname|systemd_unit|message).)*$
884+
885+ [FILTER]
886+ Name aws
887+ Match dataplane.*
888+ imds_version v2
889+
890+ [OUTPUT]
891+ Name cloudwatch_logs
892+ Match dataplane.*
893+ region ${ local . region }
894+ log_group_name /aws/containerinsights/${ local . cluster_name } /dataplane
895+ log_stream_prefix $${HOSTNAME}-
896+ auto_create_group true
897+ extra_user_agent container-insights
898+ EOT
899+ )
900+ " host-log.conf" = try (
901+ var. aws_for_fluentbit . host_log_conf ,
902+ <<- EOT
903+ [INPUT]
904+ Name tail
905+ Tag host.dmesg
906+ Path /var/log/dmesg
907+ Key message
908+ DB /var/fluent-bit/state/flb_dmesg.db
909+ Mem_Buf_Limit 5MB
910+ Skip_Long_Lines On
911+ Refresh_Interval 10
912+ Read_from_Head Off
913+
914+ [INPUT]
915+ Name tail
916+ Tag host.messages
917+ Path /var/log/messages
918+ Parser syslog
919+ DB /var/fluent-bit/state/flb_messages.db
920+ Mem_Buf_Limit 5MB
921+ Skip_Long_Lines On
922+ Refresh_Interval 10
923+ Read_from_Head Off
924+
925+ [INPUT]
926+ Name tail
927+ Tag host.secure
928+ Path /var/log/secure
929+ Parser syslog
930+ DB /var/fluent-bit/state/flb_secure.db
931+ Mem_Buf_Limit 5MB
932+ Skip_Long_Lines On
933+ Refresh_Interval 10
934+ Read_from_Head Off
935+
936+ [FILTER]
937+ Name aws
938+ Match host.*
939+ imds_version v2
940+
941+ [OUTPUT]
942+ Name cloudwatch_logs
943+ Match host.*
944+ region ${ local . region }
945+ log_group_name /aws/containerinsights/${ local . cluster_name } /host
946+ log_stream_prefix $${HOSTNAME}.
947+ auto_create_group true
948+ extra_user_agent container-insights
949+ EOT
950+ )
951+ " parsers.conf" = try (
952+ var. aws_for_fluentbit . parsers_conf ,
953+ <<- EOT
954+ [PARSER]
955+ Name syslog
956+ Format regex
957+ Regex ^(?<time>[^ ]* {1,2}[^ ]* [^ ]*) (?<host>[^ ]*) (?<ident>[a-zA-Z0-9_\/\.\-]*)(?:\[(?<pid>[0-9]+)\])?(?:[^\:]*\:)? *(?<message>.*)$
958+ Time_Key time
959+ Time_Format %b %d %H:%M:%S
960+
961+ [PARSER]
962+ Name container_firstline
963+ Format regex
964+ Regex (?<log>(?<="log":")\S(?!\.).*?)(?<!\\)".*(?<stream>(?<="stream":").*?)".*(?<time>\d{4}-\d{1,2}-\d{1,2}T\d{2}:\d{2}:\d{2}\.\w*).*(?=})
965+ Time_Key time
966+ Time_Format %Y-%m-%dT%H:%M:%S.%LZ
967+
968+ [PARSER]
969+ Name cwagent_firstline
970+ Format regex
971+ Regex (?<log>(?<="log":")\d{4}[\/-]\d{1,2}[\/-]\d{1,2}[ T]\d{2}:\d{2}:\d{2}(?!\.).*?)(?<!\\)".*(?<stream>(?<="stream":").*?)".*(?<time>\d{4}-\d{1,2}-\d{1,2}T\d{2}:\d{2}:\d{2}\.\w*).*(?=})
972+ Time_Key time
973+ Time_Format %Y-%m-%dT%H:%M:%S.%LZ
974+ EOT
975+ )
976+ }
977+ }
978+
753979# ###############################################################################
754980# AWS FSX CSI DRIVER
755981# ###############################################################################
0 commit comments