Skip to content

Instantly share code, notes, and snippets.

@0sc
Created July 14, 2019 23:21
Show Gist options
  • Save 0sc/ea9cd75061c91112455a98476237f879 to your computer and use it in GitHub Desktop.
Save 0sc/ea9cd75061c91112455a98476237f879 to your computer and use it in GitHub Desktop.
apiVersion: v1
kind: ConfigMap
metadata:
name: fluentd-logging
namespace: kube-system
labels:
app: fluentd-logging
data:
fluent.conf: |
<source>
@type tail
path /var/log/*.log
pos_file /var/log/fluentd/tmp/access.log.pos
tag foo.*
<parse>
@type json
</parse>
</source>
<source>
@type tail
@id in_tail_container_logs
path /var/log/containers/*.log
pos_file /var/log/fluentd-containers.log.pos
tag kubernetes.*
read_from_head true
<parse>
@type json
time_format %Y-%m-%dT%H:%M:%S.%NZ
</parse>
</source>
<match fluentd.**>
@type null
</match>
<match kubernetes.var.log.containers.**fluentd**.log>
@type null
</match>
<filter kubernetes.**>
@type kubernetes_metadata
@id filter_kube_metadata
</filter>
<filter kubernetes.var.log.containers.**>
@type record_transformer
enable_ruby
remove_keys kubernetes, docker
<record>
app ${ record.dig("kubernetes", "labels", "app") }
job ${ record.dig("kubernetes", "labels", "app") }
namespace ${ record.dig("kubernetes", "namespace_name") }
pod ${ record.dig("kubernetes", "pod_name") }
container ${ record.dig("kubernetes", "container_name") }
</record>
</filter>
<match kubernetes.var.log.containers.**>
@type copy
<store>
@type loki
url "http://loki.monitoring.svc.cluster.local:3100"
# extra_labels {"env":"dev"}
label_keys "app,job,namespace,pod"
flush_interval 10s
flush_at_shutdown true
buffer_chunk_limit 1m
</store>
<store>
@type stdout
</store>
</match>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment