K8S EFK (особенно Fluentd) демон для драйвера ведения журнала докера
Вопрос
Известен ли доступный набор демонов Fluentd для драйвера журналирования journald, чтобы я мог отправлять журналы модулей K8S в Elasticsearch?
Фон
Как и в случае добавления поддержки для входа в систему kubeadm, драйвер регистрации по умолчанию для K8S, установленный kubeadm, - journald.
сообщество коллективно отходит от файлов на диске в любом возможном месте в целом, и это, к сожалению, будет шагом назад....
Вы можете отредактировать ваш файл /etc/docker/daemon.json, чтобы установить в его журнале по умолчанию файлы json, а также установить максимальный размер и максимальное количество файлов, чтобы заботиться о ротации журнала. После этого журналы не будут записываться в journald, и вы сможете отправлять файлы журналов в ES.
Однако аддон K8S EFK и Fluentd K8S или Aggregated Logging в Tectonic по- прежнему ожидают поиск файлов в / var / log / container на хосте, если я правильно понял.
Похоже, что альтернативное изображение док-станции fluentd, разработанное в качестве замены для fluentd-es-image, похоже, принимает журнал journald. Однако не мог заставить его работать стручки.
1 ответ
драйвер журнала докеров
journald
отправить журналы докеров на
systemd-journald.service
Итак, нам нужно сделать
systemd-journald
постоянное сохранение в
/var/log/journal
редактировать
/etc/systemd/journald.conf
:
...
[Journal]
Storage=persistent
#Compress=yes
...
затем перезапустите, чтобы применить изменения:
systemctl restart systemd-journald
ls -l /var/log/journal
в виде
/var/log
был установлен в модуль fluentd, все готово, перезапустите модуль fluentd, он работает у меня @202104.
кстати, я использую fluentd yaml из:
и env
FLUENTD_SYSTEMD_CONF
значение не должно быть
disable