From 5080ef24ce4ee97dcbae172703e113ac317b0d78 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Bauer?= Date: Wed, 10 Jan 2018 10:39:28 +0100 Subject: [PATCH 1/6] added fluent-plugin-detect-exceptions plugin to fluentd-es-image added configmap changes raised fluentd-es-configmap version fixed missing version match --- .../fluentd-es-configmap.yaml | 14 ++++++++++++-- .../fluentd-elasticsearch/fluentd-es-ds.yaml | 2 +- .../fluentd-elasticsearch/fluentd-es-image/Gemfile | 1 + 3 files changed, 14 insertions(+), 3 deletions(-) diff --git a/cluster/addons/fluentd-elasticsearch/fluentd-es-configmap.yaml b/cluster/addons/fluentd-elasticsearch/fluentd-es-configmap.yaml index 09fbad0ebf4..28ffb1c03b1 100644 --- a/cluster/addons/fluentd-elasticsearch/fluentd-es-configmap.yaml +++ b/cluster/addons/fluentd-elasticsearch/fluentd-es-configmap.yaml @@ -105,7 +105,7 @@ data: path /var/log/containers/*.log pos_file /var/log/es-containers.log.pos time_format %Y-%m-%dT%H:%M:%S.%NZ - tag kubernetes.* + tag raw.kubernetes.* read_from_head true format multi_format @@ -118,6 +118,16 @@ data: time_format %Y-%m-%dT%H:%M:%S.%N%:z + # Detect exceptions in the log output and forward them as one log entry. + + @type detect_exceptions + remove_tag_prefix raw + message log + stream stream + multiline_flush_interval 5 + max_bytes 500000 + max_lines 1000 + system.input.conf: |- # Example: # 2015-12-21 23:17:22,066 [salt.state ][INFO ] Completed state [net.ipv4.ip_forward] at time 23:17:22.066081 @@ -367,7 +377,7 @@ data: num_threads 2 metadata: - name: fluentd-es-config-v0.1.1 + name: fluentd-es-config-v0.1.2 namespace: kube-system labels: addonmanager.kubernetes.io/mode: Reconcile diff --git a/cluster/addons/fluentd-elasticsearch/fluentd-es-ds.yaml b/cluster/addons/fluentd-elasticsearch/fluentd-es-ds.yaml index 74242adce74..82e7933ff62 100644 --- a/cluster/addons/fluentd-elasticsearch/fluentd-es-ds.yaml +++ b/cluster/addons/fluentd-elasticsearch/fluentd-es-ds.yaml @@ -112,4 +112,4 @@ spec: path: /usr/lib64 - name: config-volume configMap: - name: fluentd-es-config-v0.1.1 + name: fluentd-es-config-v0.1.2 diff --git a/cluster/addons/fluentd-elasticsearch/fluentd-es-image/Gemfile b/cluster/addons/fluentd-elasticsearch/fluentd-es-image/Gemfile index c936b40f3c4..1fab8f51f78 100644 --- a/cluster/addons/fluentd-elasticsearch/fluentd-es-image/Gemfile +++ b/cluster/addons/fluentd-elasticsearch/fluentd-es-image/Gemfile @@ -5,6 +5,7 @@ gem 'activesupport', '~>4.2.6' gem 'fluent-plugin-kubernetes_metadata_filter', '~>0.27.0' gem 'fluent-plugin-elasticsearch', '~>1.9.5' gem 'fluent-plugin-systemd', '~>0.0.8' +gem 'fluent-plugin-detect-exceptions', '~>0.0.8' gem 'fluent-plugin-prometheus', '~>0.3.0' gem 'fluent-plugin-multi-format-parser', '~>0.1.1' gem 'oj', '~>2.18.1' From e457d6c14bce080c64752fe395a6227f119bfd1c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Bauer?= Date: Fri, 19 Jan 2018 17:20:30 +0100 Subject: [PATCH 2/6] updated fluentd-es-image to use fluentd 1.1.0 --- .../fluentd-es-image/Dockerfile | 2 ++ .../fluentd-es-image/Gemfile | 16 ++++++++-------- .../fluentd-es-image/Makefile | 2 +- .../fluentd-es-image/fluent.conf | 2 +- 4 files changed, 12 insertions(+), 10 deletions(-) diff --git a/cluster/addons/fluentd-elasticsearch/fluentd-es-image/Dockerfile b/cluster/addons/fluentd-elasticsearch/fluentd-es-image/Dockerfile index d0f1e42979b..25c8a120271 100644 --- a/cluster/addons/fluentd-elasticsearch/fluentd-es-image/Dockerfile +++ b/cluster/addons/fluentd-elasticsearch/fluentd-es-image/Dockerfile @@ -21,6 +21,8 @@ FROM debian:stretch-slim +ARG DEBIAN_FRONTEND=noninteractive + COPY clean-apt /usr/bin COPY clean-install /usr/bin COPY Gemfile /Gemfile diff --git a/cluster/addons/fluentd-elasticsearch/fluentd-es-image/Gemfile b/cluster/addons/fluentd-elasticsearch/fluentd-es-image/Gemfile index 1fab8f51f78..9e45e486d1d 100644 --- a/cluster/addons/fluentd-elasticsearch/fluentd-es-image/Gemfile +++ b/cluster/addons/fluentd-elasticsearch/fluentd-es-image/Gemfile @@ -1,11 +1,11 @@ source 'https://rubygems.org' -gem 'fluentd', '~>0.12.32' -gem 'activesupport', '~>4.2.6' -gem 'fluent-plugin-kubernetes_metadata_filter', '~>0.27.0' -gem 'fluent-plugin-elasticsearch', '~>1.9.5' -gem 'fluent-plugin-systemd', '~>0.0.8' -gem 'fluent-plugin-detect-exceptions', '~>0.0.8' +gem 'fluentd', '<=1.1.0' +gem 'activesupport', '~>5.1.4' +gem 'fluent-plugin-kubernetes_metadata_filter', '~>1.0.0' +gem 'fluent-plugin-elasticsearch', '~>2.4.1' +gem 'fluent-plugin-systemd', '~>0.3.1' +gem 'fluent-plugin-detect-exceptions', git: 'https://github.com/monotek/fluent-plugin-detect-exceptions' gem 'fluent-plugin-prometheus', '~>0.3.0' -gem 'fluent-plugin-multi-format-parser', '~>0.1.1' -gem 'oj', '~>2.18.1' +gem 'fluent-plugin-multi-format-parser', '~>1.0.0' +gem 'oj', '~>3.3.1.0' diff --git a/cluster/addons/fluentd-elasticsearch/fluentd-es-image/Makefile b/cluster/addons/fluentd-elasticsearch/fluentd-es-image/Makefile index 0b5fa8a487c..651e6e0d50c 100644 --- a/cluster/addons/fluentd-elasticsearch/fluentd-es-image/Makefile +++ b/cluster/addons/fluentd-elasticsearch/fluentd-es-image/Makefile @@ -16,7 +16,7 @@ PREFIX = gcr.io/google-containers IMAGE = fluentd-elasticsearch -TAG = v2.0.2 +TAG = v2.0.4 build: docker build --pull -t $(PREFIX)/$(IMAGE):$(TAG) . diff --git a/cluster/addons/fluentd-elasticsearch/fluentd-es-image/fluent.conf b/cluster/addons/fluentd-elasticsearch/fluentd-es-image/fluent.conf index a73db5d7c70..646d5288c4c 100644 --- a/cluster/addons/fluentd-elasticsearch/fluentd-es-image/fluent.conf +++ b/cluster/addons/fluentd-elasticsearch/fluentd-es-image/fluent.conf @@ -2,7 +2,7 @@ # Do not collect fluentd's own logs to avoid infinite loops. - type null + @type null @include /etc/fluent/config.d/*.conf From 9ab59becbf18bc3e32665965df8b9f2628036788 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Bauer?= Date: Fri, 19 Jan 2018 18:06:03 +0100 Subject: [PATCH 3/6] updated fluentd configmap with 1.1.0 compatible version --- .../fluentd-es-configmap.yaml | 169 +++++++++++------- 1 file changed, 106 insertions(+), 63 deletions(-) diff --git a/cluster/addons/fluentd-elasticsearch/fluentd-es-configmap.yaml b/cluster/addons/fluentd-elasticsearch/fluentd-es-configmap.yaml index fc2079c5864..11acd0c9b11 100644 --- a/cluster/addons/fluentd-elasticsearch/fluentd-es-configmap.yaml +++ b/cluster/addons/fluentd-elasticsearch/fluentd-es-configmap.yaml @@ -1,6 +1,16 @@ kind: ConfigMap apiVersion: v1 +metadata: + name: fluentd-es-config-v0.1.2 + namespace: kube-system + labels: + addonmanager.kubernetes.io/mode: Reconcile data: + system.conf: |- + + root_dir /tmp/fluentd-buffers/ + + containers.input.conf: |- # This configuration file for Fluentd / td-agent is used # to watch changes to Docker log files. The kubelet creates symlinks that @@ -101,25 +111,19 @@ data: # CRI Log Example: # 2016-02-17T00:04:05.931087621Z stdout F [info:2016-02-16T16:04:05.930-08:00] Some log text here - type tail + @id fluentd-containers.log + @type tail path /var/log/containers/*.log - pos_file /var/log/es-containers.log.pos + pos_file /var/log/fluentd-containers.log.pos time_format %Y-%m-%dT%H:%M:%S.%NZ tag raw.kubernetes.* + format json read_from_head true - format multi_format - - format json - time_key time - time_format %Y-%m-%dT%H:%M:%S.%NZ - - - format /^(? + # Detect exceptions in the log output and forward them as one log entry. + @id raw.kubernetes @type detect_exceptions remove_tag_prefix raw message log @@ -128,14 +132,28 @@ data: max_bytes 500000 max_lines 1000 + system.input.conf: |- + # Example: + # 2015-12-21 23:17:22,066 [salt.state ][INFO ] Completed state [net.ipv4.ip_forward] at time 23:17:22.066081 + + @id minion + @type tail + format /^(?