Не работает передача логов из Fluentd на монтированный диск
У меня есть Fluentd, который поднят в кластере K8s и собирает логи с остальных pod k8s.
apiVersion: v1
kind: ConfigMap
metadata:
labels:
stack: app
name: config-fluent
namespace: kube-system
data:
kubernetes.conf: |-
disable_chain_optimization true
<source>
@type tail
path /var/log/containers/*.log
pos_file /var/log/fluentd-containers.log.pos
refresh_interval 60
skip_refresh_on_startup true
read_from_head true
tag kubernetes.*
<parse>
@type multi_format
<pattern>
format json
time_key time
time_type string
time_format "%Y-%m-%dT%H:%M:%S.%NZ"
keep_time_key false
</pattern>
<pattern>
format regexp
expression /^(?<time>.+) (?<stream>stdout|stderr)( (?<logtag>.))? (?<log>.*)$/
time_format '%Y-%m-%dT%H:%M:%S.%N%:z'
keep_time_key false
</pattern>
</parse>
@label @INPUT
</source>
<label @INPUT>
<filter kubernetes.**>
@type kubernetes_metadata
</filter>
<match fluent.**>
@type null
</match>
<match kubernetes.var.log.containers.**kube-logging**.log>
@type null
</match>
...
<match kubernetes.**>
@type copy
<store>
@type relabel
@label @MainLABEL
</store>
</store>
...
</store>
</match>
</label>
...
Если зайти в директорию /var/log/containers/ в контейнере fluentd, там все логи есть (файлы .log), они пополняются и ротируются.
Далее я хочу их передавать на сервер с логами, я примонтировал директорию /logserver и она так же открывается из pod fluentd.
Затем я начинаю матчить собранные логи в файл и писать их в эту директорию следующим образом (в этом же configmap.yaml ниже):
...
<label @MainLABEL>
<filter>
@type record_transformer
<record>
tag ${tag}
</record>
</filter>
<match **>
@type file
append true
path /logserver/${tag[0]}/${tag[1]}.log.%Y-%m-%d
<buffer tag,time>
timekey 1d
timekey_wait 5m
path /var/log/fluentd-buffers/mainlabel
flush_mode immediate
flush_thread_count 16
chunk_limit_size 512m
</buffer>
<format>
@type single_value
message_key message
</format>
</match>
</label>
Но к сожалению файлов в перемонтированной директории /logserver нет, хотя права на создания файла корректные и из контейнера fluentd можно спокойно создать файл в /logserver. Подскажите, в чём проблема? Что сделал не так?