diff --git a/src/ClusterBootstrap/params.py b/src/ClusterBootstrap/params.py index a9e4e1b0f..6f6c06d06 100755 --- a/src/ClusterBootstrap/params.py +++ b/src/ClusterBootstrap/params.py @@ -661,7 +661,6 @@ "phpmyadmin":{"fullname":"dlws/phpmyadmin:4.7.6"}, "elasticsearch":{"fullname":"dlws/elasticsearch:6.8.5"}, "elasticsearch-exporter":{"fullname":"dlws/elasticsearch-exporter:1.1.0"}, - "fluentd-kubernetes-daemonset":{"fullname":"dlws/fluentd-kubernetes-daemonset:v1.7.4-debian-elasticsearch6-1.1"}, "kibana":{"fullname":"dlws/kibana:6.8.5"}, "fluentd-elasticsearch":{"fullname":"dlws/fluentd-elasticsearch:v2.0.2"}, "binstore":{"fullname":"dlws/binstore:v1.0"}, diff --git a/src/ClusterBootstrap/services/logging/fluent-bit-config.yaml b/src/ClusterBootstrap/services/logging/fluent-bit-config.yaml new file mode 100644 index 000000000..fb7a42cde --- /dev/null +++ b/src/ClusterBootstrap/services/logging/fluent-bit-config.yaml @@ -0,0 +1,123 @@ +apiVersion: v1 +kind: ConfigMap +metadata: + name: fluent-bit-config + namespace: kube-system + labels: + k8s-app: fluent-bit +data: + # Configuration files: server, input, filters and output + # ====================================================== + fluent-bit.conf: | + [SERVICE] + Flush 1 + Log_Level info + Daemon off + Parsers_File parsers.conf + HTTP_Server On + HTTP_Listen 0.0.0.0 + HTTP_Port 2020 + + @INCLUDE input-kubernetes.conf + @INCLUDE filter-kubernetes.conf + @INCLUDE filter-time_nsec.conf + @INCLUDE output-elasticsearch.conf + + input-kubernetes.conf: | + [INPUT] + Name tail + Tag kube.* + Path /var/log/containers/*.log + Parser docker + DB /var/log/flb_kube.db + Mem_Buf_Limit 5MB + Skip_Long_Lines On + Refresh_Interval 1 + + filter-kubernetes.conf: | + [FILTER] + Name kubernetes + Match kube.* + Kube_URL https://${KUBERNETES_SERVICE_HOST}:${KUBERNETES_SERVICE_PORT} + 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. + Merge_Log On + Merge_Log_Key log_processed + K8S-Logging.Parser On + K8S-Logging.Exclude Off + tls.verify Off + + filter-time_nsec.conf: | + [FILTER] + NAME lua + Match kube.* + Script time_nsec.lua + Call time_nsec + Type_int_key time_nsec + + time_nsec.lua: | + function time_nsec(tag, timestamp, record) + sec, nsec = math.modf(timestamp) + record['time_nsec'] = nsec * 1e9 + return 1, timestamp, record + end + + output-elasticsearch.conf: | + [OUTPUT] + Name es + Match * + Host ${FLUENT_ELASTICSEARCH_HOST} + Port ${FLUENT_ELASTICSEARCH_PORT} + Buffer_Size False + Type fluentd + Logstash_Format On + Replace_Dots On + Retry_Limit False + + parsers.conf: | + [PARSER] + Name apache + Format regex + Regex ^(?[^ ]*) [^ ]* (?[^ ]*) \[(?