mirror of
https://github.com/marcel-dempers/docker-development-youtube-series.git
synced 2025-06-06 17:01:30 +00:00
83 lines
3.2 KiB
YAML
83 lines
3.2 KiB
YAML
#@include file-fluent.conf
|
|
|
|
apiVersion: v1
|
|
kind: ConfigMap
|
|
metadata:
|
|
name: fluentd-config
|
|
namespace: fluentd
|
|
data:
|
|
fluent.conf: |-
|
|
################################################################
|
|
# This source gets all logs from local docker host
|
|
@include pods-kind-fluent.conf
|
|
#@include pods-fluent.conf
|
|
#@include file-fluent.conf
|
|
@include elastic-fluent.conf
|
|
pods-kind-fluent.conf: |-
|
|
<source>
|
|
@type tail
|
|
read_from_head true
|
|
tag kubernetes.*
|
|
path /var/log/containers/*.log
|
|
pos_file /var/log/fluentd-containers.log.pos
|
|
exclude_path ["/var/log/containers/fluent*"]
|
|
<parse>
|
|
@type regexp
|
|
#https://regex101.com/r/ZkOBTI/1
|
|
expression ^(?<time>\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}.[^Z]*Z)\s(?<stream>[^\s]+)\s(?<character>[^\s])\s(?<message>.*)$
|
|
#time_format %Y-%m-%dT%H:%M:%S.%NZ
|
|
</parse>
|
|
</source>
|
|
|
|
<filter kubernetes.**>
|
|
@type kubernetes_metadata
|
|
@id filter_kube_metadata
|
|
kubernetes_url "#{ENV['FLUENT_FILTER_KUBERNETES_URL'] || 'https://' + ENV.fetch('KUBERNETES_SERVICE_HOST') + ':' + ENV.fetch('KUBERNETES_SERVICE_PORT') + '/api'}"
|
|
verify_ssl "#{ENV['KUBERNETES_VERIFY_SSL'] || true}"
|
|
ca_file "#{ENV['KUBERNETES_CA_FILE']}"
|
|
skip_labels "#{ENV['FLUENT_KUBERNETES_METADATA_SKIP_LABELS'] || 'false'}"
|
|
skip_container_metadata "#{ENV['FLUENT_KUBERNETES_METADATA_SKIP_CONTAINER_METADATA'] || 'false'}"
|
|
skip_master_url "#{ENV['FLUENT_KUBERNETES_METADATA_SKIP_MASTER_URL'] || 'false'}"
|
|
skip_namespace_metadata "#{ENV['FLUENT_KUBERNETES_METADATA_SKIP_NAMESPACE_METADATA'] || 'false'}"
|
|
</filter>
|
|
pods-fluent.conf: |-
|
|
<source>
|
|
@type tail
|
|
read_from_head true
|
|
tag kubernetes.*
|
|
path /var/log/containers/*.log
|
|
pos_file /var/log/fluentd-containers.log.pos
|
|
exclude_path ["/var/log/containers/fluent*"]
|
|
<parse>
|
|
@type kubernetes
|
|
@type "#{ENV['FLUENT_CONTAINER_TAIL_PARSER_TYPE'] || 'json'}"
|
|
time_format "%Y-%m-%dT%H:%M:%S.%NZ"
|
|
</parse>
|
|
</source>
|
|
|
|
<filter kubernetes.**>
|
|
@type kubernetes_metadata
|
|
@id filter_kube_metadata
|
|
kubernetes_url "#{ENV['FLUENT_FILTER_KUBERNETES_URL'] || 'https://' + ENV.fetch('KUBERNETES_SERVICE_HOST') + ':' + ENV.fetch('KUBERNETES_SERVICE_PORT') + '/api'}"
|
|
verify_ssl "#{ENV['KUBERNETES_VERIFY_SSL'] || true}"
|
|
ca_file "#{ENV['KUBERNETES_CA_FILE']}"
|
|
skip_labels "#{ENV['FLUENT_KUBERNETES_METADATA_SKIP_LABELS'] || 'false'}"
|
|
skip_container_metadata "#{ENV['FLUENT_KUBERNETES_METADATA_SKIP_CONTAINER_METADATA'] || 'false'}"
|
|
skip_master_url "#{ENV['FLUENT_KUBERNETES_METADATA_SKIP_MASTER_URL'] || 'false'}"
|
|
skip_namespace_metadata "#{ENV['FLUENT_KUBERNETES_METADATA_SKIP_NAMESPACE_METADATA'] || 'false'}"
|
|
</filter>
|
|
file-fluent.conf: |-
|
|
<match **>
|
|
@type file
|
|
path /tmp/file-test.log
|
|
</match>
|
|
elastic-fluent.conf: |-
|
|
<match **>
|
|
@type elasticsearch
|
|
host "#{ENV['FLUENT_ELASTICSEARCH_HOST'] || 'elasticsearch.elastic-kibana'}"
|
|
port "#{ENV['FLUENT_ELASTICSEARCH_PORT'] || '9200'}"
|
|
index_name fluentd-k8s
|
|
type_name fluentd
|
|
include_timestamp true
|
|
</match>
|