diff --git a/incubator/fluentd-elasticsearch/Chart.yaml b/incubator/fluentd-elasticsearch/Chart.yaml index 439f8cb53e..314997a815 100644 --- a/incubator/fluentd-elasticsearch/Chart.yaml +++ b/incubator/fluentd-elasticsearch/Chart.yaml @@ -1,5 +1,5 @@ name: fluentd-elasticsearch -version: 0.2.3 +version: 0.3.0 appVersion: 2.0.4 home: https://www.fluentd.org/ description: A Fluentd Helm chart for Kubernetes with Elasticsearch output diff --git a/incubator/fluentd-elasticsearch/README.md b/incubator/fluentd-elasticsearch/README.md index 72fa29df51..6342c5b1f0 100644 --- a/incubator/fluentd-elasticsearch/README.md +++ b/incubator/fluentd-elasticsearch/README.md @@ -42,15 +42,14 @@ The following table lists the configurable parameters of the Fluentd elasticsear | Parameter | Description | Default | | ---------------------------------- | ------------------------------------------ | ---------------------------------------------------------- | -| `annotations` | Optional daemonset annotations | `NULL` | -| `configMaps` | Fluentd configmaps | `output.conf` | +| `annotations` | Optional daemonset annotations | `NULL` | +| `configMaps` | Fluentd configmaps | `default conf files` | | `elasticsearch.host` | Elstaicsearch Host | `elasticsearch-client` | | `elasticsearch.port` | Elasticsearch Port | `9200` | | `elasticsearch.buffer_chunk_limit` | Elasticsearch buffer chunk limit | `2M` | | `elasticsearch.buffer_queue_limit` | Elasticsearch buffer queue limit | `8` | | `extraVolumeMounts` | Mount an extra volume, required to mount ssl certificates when elasticsearch has tls enabled | | | `extraVolume` | Extra volume | | -| `fluentdcustomconfig` | Optional custom configmaps | `NULL` | | `image` | Image | `gcr.io/google-containers/fluentd-elasticsearch` | | `imageTag` | Image tag | `v2.0.4 | | `imagePullPolicy` | Image pull policy | `Always` if `imageTag` is `imagePullPolicy` | diff --git a/incubator/fluentd-elasticsearch/templates/configmap.yaml b/incubator/fluentd-elasticsearch/templates/configmap.yaml index 63087d6ab7..6fc1a19be9 100644 --- a/incubator/fluentd-elasticsearch/templates/configmap.yaml +++ b/incubator/fluentd-elasticsearch/templates/configmap.yaml @@ -9,390 +9,7 @@ metadata: release: {{ .Release.Name | quote }} 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 - # capture the pod name, namespace, container name & Docker container ID - # to the docker logs for pods in the /var/log/containers directory on the host. - # If running this fluentd configuration in a Docker container, the /var/log - # directory should be mounted in the container. - # - # These logs are then submitted to Elasticsearch which assumes the - # installation of the fluent-plugin-elasticsearch & the - # fluent-plugin-kubernetes_metadata_filter plugins. - # See https://github.com/uken/fluent-plugin-elasticsearch & - # https://github.com/fabric8io/fluent-plugin-kubernetes_metadata_filter for - # more information about the plugins. - # - # Example - # ======= - # A line in the Docker log file might look like this JSON: - # - # {"log":"2014/09/25 21:15:03 Got request with path wombat\n", - # "stream":"stderr", - # "time":"2014-09-25T21:15:03.499185026Z"} - # - # The time_format specification below makes sure we properly - # parse the time format produced by Docker. This will be - # submitted to Elasticsearch and should appear like: - # $ curl 'http://elasticsearch-logging:9200/_search?pretty' - # ... - # { - # "_index" : "logstash-2014.09.25", - # "_type" : "fluentd", - # "_id" : "VBrbor2QTuGpsQyTCdfzqA", - # "_score" : 1.0, - # "_source":{"log":"2014/09/25 22:45:50 Got request with path wombat\n", - # "stream":"stderr","tag":"docker.container.all", - # "@timestamp":"2014-09-25T22:45:50+00:00"} - # }, - # ... - # - # The Kubernetes fluentd plugin is used to write the Kubernetes metadata to the log - # record & add labels to the log record if properly configured. This enables users - # to filter & search logs on any metadata. - # For example a Docker container's logs might be in the directory: - # - # /var/lib/docker/containers/997599971ee6366d4a5920d25b79286ad45ff37a74494f262e3bc98d909d0a7b - # - # and in the file: - # - # 997599971ee6366d4a5920d25b79286ad45ff37a74494f262e3bc98d909d0a7b-json.log - # - # where 997599971ee6... is the Docker ID of the running container. - # The Kubernetes kubelet makes a symbolic link to this file on the host machine - # in the /var/log/containers directory which includes the pod name and the Kubernetes - # container name: - # - # synthetic-logger-0.25lps-pod_default_synth-lgr-997599971ee6366d4a5920d25b79286ad45ff37a74494f262e3bc98d909d0a7b.log - # -> - # /var/lib/docker/containers/997599971ee6366d4a5920d25b79286ad45ff37a74494f262e3bc98d909d0a7b/997599971ee6366d4a5920d25b79286ad45ff37a74494f262e3bc98d909d0a7b-json.log - # - # The /var/log directory on the host is mapped to the /var/log directory in the container - # running this instance of Fluentd and we end up collecting the file: - # - # /var/log/containers/synthetic-logger-0.25lps-pod_default_synth-lgr-997599971ee6366d4a5920d25b79286ad45ff37a74494f262e3bc98d909d0a7b.log - # - # This results in the tag: - # - # var.log.containers.synthetic-logger-0.25lps-pod_default_synth-lgr-997599971ee6366d4a5920d25b79286ad45ff37a74494f262e3bc98d909d0a7b.log - # - # The Kubernetes fluentd plugin is used to extract the namespace, pod name & container name - # which are added to the log message as a kubernetes field object & the Docker container ID - # is also added under the docker field object. - # The final tag is: - # - # kubernetes.var.log.containers.synthetic-logger-0.25lps-pod_default_synth-lgr-997599971ee6366d4a5920d25b79286ad45ff37a74494f262e3bc98d909d0a7b.log - # - # And the final log record look like: - # - # { - # "log":"2014/09/25 21:15:03 Got request with path wombat\n", - # "stream":"stderr", - # "time":"2014-09-25T21:15:03.499185026Z", - # "kubernetes": { - # "namespace": "default", - # "pod_name": "synthetic-logger-0.25lps-pod", - # "container_name": "synth-lgr" - # }, - # "docker": { - # "container_id": "997599971ee6366d4a5920d25b79286ad45ff37a74494f262e3bc98d909d0a7b" - # } - # } - # - # This makes it easier for users to search for logs by pod name or by - # the name of the Kubernetes container regardless of how many times the - # Kubernetes pod has been restarted (resulting in a several Docker container IDs). - - # Json Log Example: - # {"log":"[info:2016-02-16T16:04:05.930-08:00] Some log text here\n","stream":"stdout","time":"2016-02-17T00:04:05.931087621Z"} - # CRI Log Example: - # 2016-02-17T00:04:05.931087621Z stdout F [info:2016-02-16T16:04:05.930-08:00] Some log text here - - @id fluentd-containers.log - @type tail - path /var/log/containers/*.log - 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 - - - # 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 - 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 - - @id minion - @type tail - format /^(?