fluent/fluentd-kubernetes-daemonset
TopGit tracks fluent/fluentd-kubernetes-daemonset on GitHub. The project has 1.3k stars. Fluentd daemonset for Kubernetes and it Docker image
Snapshot summary built from the project's own GitHub metadata — there's no written TopGit review yet. The page will update automatically when a full review is published.
TopGit writes full reviews for the most-starred, most-requested repositories. This page is a snapshot until then — see the READ ME tab for the original README in full.
Snapshot
Top contributors
Show top contributors
Fluentd Daemonset for Kubernetes
[!CAUTION] README.md is generated from templates/README.md.erb
Supported tags and respective Dockerfile links
See also dockerhub tags page: https://hub.docker.com/r/fluent/fluentd-kubernetes-daemonset/tags
Debian
Current stable
[!TIP] Since v1.17.0, the container image build process has been migrated from automated builds on hub.docker.com to GitHub Actions. This is because there were limitation about the number of automated builds on hub.docker.com. Now, there is no limitation about the number of build pipelines.
Note that there were some restrictions to ship daemonset images for v1.16.5 or older ones before:
papertrail,syslogimages (x86_64/arm64) won't be published anymorelogentries,loggly,logzio,s3arm64 images won't be published anymore (x86_64 only supported) If you want to use above non published images, build it by yourself. Dockerfile itself is still maintained in this repository.
Multi-Arch images
Azureblobdocker pull fluent/fluentd-kubernetes-daemonset:v1.19.3-debian-azureblob-1.1docker pull fluent/fluentd-kubernetes-daemonset:v1.19-debian-azureblob-1
Cloudwatchdocker pull fluent/fluentd-kubernetes-daemonset:v1.19.3-debian-cloudwatch-1.1docker pull fluent/fluentd-kubernetes-daemonset:v1.19-debian-cloudwatch-1
Datadogdocker pull fluent/fluentd-kubernetes-daemonset:v1.19.3-debian-datadog-1.1docker pull fluent/fluentd-kubernetes-daemonset:v1.19-debian-datadog-1
Elasticsearch7docker pull fluent/fluentd-kubernetes-daemonset:v1.19.3-debian-elasticsearch7-1.1docker pull fluent/fluentd-kubernetes-daemonset:v1.19-debian-elasticsearch7-1docker pull fluent/fluentd-kubernetes-daemonset:v1-debian-elasticsearch
Elasticsearch8docker pull fluent/fluentd-kubernetes-daemonset:v1.19.3-debian-elasticsearch8-1.1docker pull fluent/fluentd-kubernetes-daemonset:v1.19-debian-elasticsearch8-1
Elasticsearch9docker pull fluent/fluentd-kubernetes-daemonset:v1.19.3-debian-elasticsearch9-1.1docker pull fluent/fluentd-kubernetes-daemonset:v1.19-debian-elasticsearch9-1
Forwarddocker pull fluent/fluentd-kubernetes-daemonset:v1.19.3-debian-forward-1.1docker pull fluent/fluentd-kubernetes-daemonset:v1.19-debian-forward-1
Gcsdocker pull fluent/fluentd-kubernetes-daemonset:v1.19.3-debian-gcs-1.1docker pull fluent/fluentd-kubernetes-daemonset:v1.19-debian-gcs-1
Graylogdocker pull fluent/fluentd-kubernetes-daemonset:v1.19.3-debian-graylog-1.1docker pull fluent/fluentd-kubernetes-daemonset:v1.19-debian-graylog-1
Kafka2docker pull fluent/fluentd-kubernetes-daemonset:v1.19.3-debian-kafka2-1.1docker pull fluent/fluentd-kubernetes-daemonset:v1.19-debian-kafka2-1
Kafkadocker pull fluent/fluentd-kubernetes-daemonset:v1.19.3-debian-kafka-1.1docker pull fluent/fluentd-kubernetes-daemonset:v1.19-debian-kafka-1
Kinesisdocker pull fluent/fluentd-kubernetes-daemonset:v1.19.3-debian-kinesis-1.1docker pull fluent/fluentd-kubernetes-daemonset:v1.19-debian-kinesis-1
Logentriesdocker pull fluent/fluentd-kubernetes-daemonset:v1.19.3-debian-logentries-1.1docker pull fluent/fluentd-kubernetes-daemonset:v1.19-debian-logentries-1
Logglydocker pull fluent/fluentd-kubernetes-daemonset:v1.19.3-debian-loggly-1.1docker pull fluent/fluentd-kubernetes-daemonset:v1.19-debian-loggly-1
Logziodocker pull fluent/fluentd-kubernetes-daemonset:v1.19.3-debian-logzio-1.1docker pull fluent/fluentd-kubernetes-daemonset:v1.19-debian-logzio-1
Opensearchdocker pull fluent/fluentd-kubernetes-daemonset:v1.19.3-debian-opensearch-1.1docker pull fluent/fluentd-kubernetes-daemonset:v1.19-debian-opensearch-1
Papertraildocker pull fluent/fluentd-kubernetes-daemonset:v1.19.3-debian-papertrail-1.1docker pull fluent/fluentd-kubernetes-daemonset:v1.19-debian-papertrail-1
S3docker pull fluent/fluentd-kubernetes-daemonset:v1.19.3-debian-s3-1.1docker pull fluent/fluentd-kubernetes-daemonset:v1.19-debian-s3-1
Syslogdocker pull fluent/fluentd-kubernetes-daemonset:v1.19.3-debian-syslog-1.1docker pull fluent/fluentd-kubernetes-daemonset:v1.19-debian-syslog-1
x86_64 images
AzureblobDockerfiledocker pull fluent/fluentd-kubernetes-daemonset:v1.19.3-debian-azureblob-amd64-1.1docker pull fluent/fluentd-kubernetes-daemonset:v1.19-debian-azureblob-amd64-1
CloudwatchDockerfiledocker pull fluent/fluentd-kubernetes-daemonset:v1.19.3-debian-cloudwatch-amd64-1.1docker pull fluent/fluentd-kubernetes-daemonset:v1.19-debian-cloudwatch-amd64-1
DatadogDockerfiledocker pull fluent/fluentd-kubernetes-daemonset:v1.19.3-debian-datadog-amd64-1.1docker pull fluent/fluentd-kubernetes-daemonset:v1.19-debian-datadog-amd64-1
Elasticsearch7Dockerfiledocker pull fluent/fluentd-kubernetes-daemonset:v1.19.3-debian-elasticsearch7-amd64-1.1docker pull fluent/fluentd-kubernetes-daemonset:v1.19-debian-elasticsearch7-amd64-1docker pull fluent/fluentd-kubernetes-daemonset:v1-debian-elasticsearch-amd64
Elasticsearch8Dockerfiledocker pull fluent/fluentd-kubernetes-daemonset:v1.19.3-debian-elasticsearch8-amd64-1.1docker pull fluent/fluentd-kubernetes-daemonset:v1.19-debian-elasticsearch8-amd64-1
Elasticsearch9Dockerfiledocker pull fluent/fluentd-kubernetes-daemonset:v1.19.3-debian-elasticsearch9-amd64-1.1docker pull fluent/fluentd-kubernetes-daemonset:v1.19-debian-elasticsearch9-amd64-1
ForwardDockerfiledocker pull fluent/fluentd-kubernetes-daemonset:v1.19.3-debian-forward-amd64-1.1docker pull fluent/fluentd-kubernetes-daemonset:v1.19-debian-forward-amd64-1
GcsDockerfiledocker pull fluent/fluentd-kubernetes-daemonset:v1.19.3-debian-gcs-amd64-1.1docker pull fluent/fluentd-kubernetes-daemonset:v1.19-debian-gcs-amd64-1
GraylogDockerfiledocker pull fluent/fluentd-kubernetes-daemonset:v1.19.3-debian-graylog-amd64-1.1docker pull fluent/fluentd-kubernetes-daemonset:v1.19-debian-graylog-amd64-1
Kafka2Dockerfiledocker pull fluent/fluentd-kubernetes-daemonset:v1.19.3-debian-kafka2-amd64-1.1docker pull fluent/fluentd-kubernetes-daemonset:v1.19-debian-kafka2-amd64-1
KafkaDockerfiledocker pull fluent/fluentd-kubernetes-daemonset:v1.19.3-debian-kafka-amd64-1.1docker pull fluent/fluentd-kubernetes-daemonset:v1.19-debian-kafka-amd64-1
KinesisDockerfiledocker pull fluent/fluentd-kubernetes-daemonset:v1.19.3-debian-kinesis-amd64-1.1docker pull fluent/fluentd-kubernetes-daemonset:v1.19-debian-kinesis-amd64-1
LogentriesDockerfiledocker pull fluent/fluentd-kubernetes-daemonset:v1.19.3-debian-logentries-amd64-1.1docker pull fluent/fluentd-kubernetes-daemonset:v1.19-debian-logentries-amd64-1
LogglyDockerfiledocker pull fluent/fluentd-kubernetes-daemonset:v1.19.3-debian-loggly-amd64-1.1docker pull fluent/fluentd-kubernetes-daemonset:v1.19-debian-loggly-amd64-1
LogzioDockerfiledocker pull fluent/fluentd-kubernetes-daemonset:v1.19.3-debian-logzio-amd64-1.1docker pull fluent/fluentd-kubernetes-daemonset:v1.19-debian-logzio-amd64-1
OpensearchDockerfiledocker pull fluent/fluentd-kubernetes-daemonset:v1.19.3-debian-opensearch-amd64-1.1docker pull fluent/fluentd-kubernetes-daemonset:v1.19-debian-opensearch-amd64-1
PapertrailDockerfiledocker pull fluent/fluentd-kubernetes-daemonset:v1.19.3-debian-papertrail-amd64-1.1docker pull fluent/fluentd-kubernetes-daemonset:v1.19-debian-papertrail-amd64-1
S3Dockerfiledocker pull fluent/fluentd-kubernetes-daemonset:v1.19.3-debian-s3-amd64-1.1docker pull fluent/fluentd-kubernetes-daemonset:v1.19-debian-s3-amd64-1
SyslogDockerfiledocker pull fluent/fluentd-kubernetes-daemonset:v1.19.3-debian-syslog-amd64-1.1docker pull fluent/fluentd-kubernetes-daemonset:v1.19-debian-syslog-amd64-1
arm64 images
AzureblobDockerfiledocker pull fluent/fluentd-kubernetes-daemonset:v1.19.3-debian-azureblob-arm64-1.1docker pull fluent/fluentd-kubernetes-daemonset:v1.19-debian-azureblob-arm64-1
CloudwatchDockerfiledocker pull fluent/fluentd-kubernetes-daemonset:v1.19.3-debian-cloudwatch-arm64-1.1docker pull fluent/fluentd-kubernetes-daemonset:v1.19-debian-cloudwatch-arm64-1
DatadogDockerfiledocker pull fluent/fluentd-kubernetes-daemonset:v1.19.3-debian-datadog-arm64-1.1docker pull fluent/fluentd-kubernetes-daemonset:v1.19-debian-datadog-arm64-1
Elasticsearch7Dockerfiledocker pull fluent/fluentd-kubernetes-daemonset:v1.19.3-debian-elasticsearch7-arm64-1.1docker pull fluent/fluentd-kubernetes-daemonset:v1.19-debian-elasticsearch7-arm64-1docker pull fluent/fluentd-kubernetes-daemonset:v1-debian-elasticsearch-arm64
Elasticsearch8Dockerfiledocker pull fluent/fluentd-kubernetes-daemonset:v1.19.3-debian-elasticsearch8-arm64-1.1docker pull fluent/fluentd-kubernetes-daemonset:v1.19-debian-elasticsearch8-arm64-1
Elasticsearch9Dockerfiledocker pull fluent/fluentd-kubernetes-daemonset:v1.19.3-debian-elasticsearch9-arm64-1.1docker pull fluent/fluentd-kubernetes-daemonset:v1.19-debian-elasticsearch9-arm64-1
ForwardDockerfiledocker pull fluent/fluentd-kubernetes-daemonset:v1.19.3-debian-forward-arm64-1.1docker pull fluent/fluentd-kubernetes-daemonset:v1.19-debian-forward-arm64-1
GcsDockerfiledocker pull fluent/fluentd-kubernetes-daemonset:v1.19.3-debian-gcs-arm64-1.1docker pull fluent/fluentd-kubernetes-daemonset:v1.19-debian-gcs-arm64-1
GraylogDockerfiledocker pull fluent/fluentd-kubernetes-daemonset:v1.19.3-debian-graylog-arm64-1.1docker pull fluent/fluentd-kubernetes-daemonset:v1.19-debian-graylog-arm64-1
Kafka2Dockerfiledocker pull fluent/fluentd-kubernetes-daemonset:v1.19.3-debian-kafka2-arm64-1.1docker pull fluent/fluentd-kubernetes-daemonset:v1.19-debian-kafka2-arm64-1
KafkaDockerfiledocker pull fluent/fluentd-kubernetes-daemonset:v1.19.3-debian-kafka-arm64-1.1docker pull fluent/fluentd-kubernetes-daemonset:v1.19-debian-kafka-arm64-1
KinesisDockerfiledocker pull fluent/fluentd-kubernetes-daemonset:v1.19.3-debian-kinesis-arm64-1.1docker pull fluent/fluentd-kubernetes-daemonset:v1.19-debian-kinesis-arm64-1
LogentriesDockerfiledocker pull fluent/fluentd-kubernetes-daemonset:v1.19.3-debian-logentries-arm64-1.1docker pull fluent/fluentd-kubernetes-daemonset:v1.19-debian-logentries-arm64-1
LogglyDockerfiledocker pull fluent/fluentd-kubernetes-daemonset:v1.19.3-debian-loggly-arm64-1.1docker pull fluent/fluentd-kubernetes-daemonset:v1.19-debian-loggly-arm64-1
LogzioDockerfiledocker pull fluent/fluentd-kubernetes-daemonset:v1.19.3-debian-logzio-arm64-1.1docker pull fluent/fluentd-kubernetes-daemonset:v1.19-debian-logzio-arm64-1
OpensearchDockerfiledocker pull fluent/fluentd-kubernetes-daemonset:v1.19.3-debian-opensearch-arm64-1.1docker pull fluent/fluentd-kubernetes-daemonset:v1.19-debian-opensearch-arm64-1
PapertrailDockerfiledocker pull fluent/fluentd-kubernetes-daemonset:v1.19.3-debian-papertrail-arm64-1.1docker pull fluent/fluentd-kubernetes-daemonset:v1.19-debian-papertrail-arm64-1
S3Dockerfiledocker pull fluent/fluentd-kubernetes-daemonset:v1.19.3-debian-s3-arm64-1.1docker pull fluent/fluentd-kubernetes-daemonset:v1.19-debian-s3-arm64-1
SyslogDockerfiledocker pull fluent/fluentd-kubernetes-daemonset:v1.19.3-debian-syslog-arm64-1.1docker pull fluent/fluentd-kubernetes-daemonset:v1.19-debian-syslog-arm64-1
You can also use v1-debian-PLUGIN tag to refer latest v1 image, e.g. v1-debian-elasticsearch. On production, strict tag is better to avoid unexpected update.
See dockerhub's tags page for older tags.
What is Fluentd?

Fluentd is an open source data collector, which lets you unify the data collection and consumption for a better use and understanding of data.
www.fluentd.org
Image versions
Fluentd versioning is as follows:
| Series | Description |
|---|---|
| v1.x | current stable |
Settings
Default image version
Default YAML uses latest v1 images like fluent/fluentd-kubernetes-daemonset:v1-debian-kafka. If you want to avoid unexpected image update, specify exact version for image like fluent/fluentd-kubernetes-daemonset:v1.8.0-debian-kafka-1.0.
Run as root
This is for v0.12 images.
In Kubernetes and default setting, fluentd needs root permission to read logs in /var/log and write pos_file to /var/log.
To avoid permission error, you need to set FLUENT_UID environment variable to 0 in your Kubernetes configuration.
Use your configuration
These images have default configuration and support some environment variables for parameters but it sometimes doesn't fit your case. If you want to use your configuration, use ConfigMap feature.
Each image has following configurations:
- fluent.conf: Destination setting, Elaticsearch, kafka and etc.
- kubernetes.conf: k8s specific setting.
tailinput for log files andkubernetes_metadatafilter - tail_container_parse.conf: parser setting for
/var/log/containers/*.log. See also "Use CRI parser for containerd/cri-o" logs section - prometheus.conf: prometheus plugin for fluentd monitoring
- systemd.conf: systemd plugin for collecting systemd-journal log. See also "Disable systemd input" section.
Overwrite conf file via ConfigMap. See also several examples:
- Cluster-level Logging in Kubernetes with Fluentd
- https://github.com/fluent/fluentd-kubernetes-daemonset/pull/349#issuecomment-579097659
Use CRI parser for containerd/cri-o logs
This feature is available since v1.12.0-xxx-1.1.
By default, these images use json parser for /var/log/containers/ files because docker generates json formatted logs.
On the other hand, containerd/cri-o use different log format. To parse such logs, you need to use cri parser instead.
You can use cri parser by overwriting tail_container_parse.conf via ConfigMap.
# configuration example
<parse>
@type cri
</parse>
See also CRI parser README
Use FLUENT_CONTAINER_TAIL_PATH to change container logs folder
You can update the default path for the container logs i.e /var/log/container/*.log and also one can add multiple path as defined in this fluentd document https://docs.fluentd.org/input/tail#path
Use FLUENT_CONTAINER_TAIL_EXCLUDE_PATH to exclude specific container logs
Since v1.9.3 or later images.
You can exclude container logs from /var/log/containers/ with FLUENT_CONTAINER_TAIL_EXCLUDE_PATH.
If you have a trouble with specific log, use this envvar, e.g. ["/var/log/containers/logname-*"].
exclude_pathparameter document: https://docs.fluentd.org/input/tail#exclude_path- Fluentd log issue with backslash: https://github.com/fluent/fluentd/issues/2545
Use LD_PRELOAD to enable jemalloc memory allocator
Since v1.17.0-1.3/v1.16.5-1.3, jemalloc memory allocator is disabled by default.
This is because that combination of systemd plugin and jemalloc memory allocator causes a crash bug.
(free(): invalid pointer in typical)
If you don't use systemd plugin at all, you can enable jemalloc memory allocator explicitly via env: parameter.
env:
...
LD_PRELOAD="/usr/lib/libjemalloc.so.2"
Disable systemd input
If you don't setup systemd in the container, fluentd shows following messages by default configuration.
[warn]: #0 [in_systemd_bootkube] Systemd::JournalError: No such file or directory retrying in 1s
[warn]: #0 [in_systemd_kubelet] Systemd::JournalError: No such file or directory retrying in 1s
[warn]: #0 [in_systemd_docker] Systemd::JournalError: No such file or directory retrying in 1s
You can suppress these messages by setting disable to FLUENTD_SYSTEMD_CONF environment variable in your kubernetes configuration.
Disable prometheus input plugins
By default, latest images launch prometheus plugins to monitor fluentd.
You can disable prometheus input plugin by setting disable to FLUENTD_PROMETHEUS_CONF environment variable in your kubernetes configuration.
Disable sed execution on elasticsearch image
This is for older images. Latest elasticsearch images don't use sed.
By historical reason, elasaticsearch image executes sed command during startup phase when FLUENT_ELASTICSEARCH_USER or FLUENT_ELASTICSEARCH_PASSWORD is specified. This sometimes causes a problem with read only mount.
To avoid this problem, set "true" to FLUENT_ELASTICSEARCH_SED_DISABLE environment variable in your kubernetes configuration.
Running on OpenShift
This daemonset setting mounts /var/log as service account fluentd so you need to run containers as privileged container.
Here is command example:
oc project kube-system
oc create -f https://raw.githubusercontent.com/fluent/fluentd-kubernetes-daemonset/master/fluentd-daemonset-elasticsearch-rbac.yaml
oc adm policy add-scc-to-user privileged -z fluentd
oc patch ds fluentd -p "spec:
template:
spec:
containers:
- name: fluentd
securityContext:
privileged: true"
oc delete pod -l k8s-app=fluentd-logging
This is from nekop's japanese article.
Multiple fluentd
When you want to have multiple fluentd. For example push to multiple destination like: elsticsearch + S3.
You need to use FLUENT_POS_EXTRA_DIR add additional directory for pos file.
Otherwise they share same pos file. You may found some log only on one destination.
Note
kafka image doesn't support zookeeper parameters
zookeeper gem doesn't work on Debian 10, so kafka image doesn't include zookeeper gem.
Windows k8s daemonset not supported in this repository
Maintainers don't have k8s experience on Windows. Some users create k8s daemonset on Windows:
- https://github.com/bgsilvait/k8s-fluentd-windows
- https://github.com/k1nger/fluentd-windows-daemon
Please check them out.
kafka image suggestion
Using debian-kafka2/debian-kafka2-arm64 images are better than using debian-kafka/debian-kafka-arm64 images.
Because debian-kafka2/debian-kafka2-arm64 images use out_kafka2 plugin but debian-kafka/debian-kafka-arm64 images use deprecated out_kafka_buffered plugin.
Maintainers
Some images are contributed by users. If you have a problem/question for following images, ask it to contributors.
- azureblob : @elsesiy
- papertrail : @alexouzounis
- kafka : @erhudy
- graylog : @rtnpro
- gcs : @andor-pierdelacabeza
- Amazon Kinesis : @shiftky
- logz.io : @SaMnCo / @jamielennox
- splunkhec: @FutureSharks
- Datadog : @nbifrye
Currently, we don't accept new destination request without contribution. See https://github.com/fluent/fluentd-kubernetes-daemonset/issues/293
References
Kubernetes Logging with Fluentd
Issues
We can't notice comments in the DockerHub so don't use them for reporting issues or asking question.
If you have any problems with or questions about this image, please contact us through a GitHub issue.
Pull Request
Update templates files instead of docker-image files.
docker-image files are automatically generated from templates.
Note: This file is generated from templates/README.md.erb
Related repositories
Master programming by recreating your favorite technologies from scratch.
A curated meta-list of curated lists organized by technology domain. The repository acts as a directory pointing to hundreds of specialized awesome lists covering programming languages, platforms, frameworks, and tooling. All content is community-contributed under the CC0 public domain dedication.
Public APIs is a community-curated GitHub repository listing free, publicly accessible APIs across a wide range of categories, with auth type, HTTPS, and CORS noted for each entry. It's a browsable reference, not a library to install.
freeCodeCamp.org's open-source codebase and curriculum. Learn math, programming, and computer science for free.
Quick answers
How active is development on fluent/fluentd-kubernetes-daemonset?
The most recent commit recorded on fluent/fluentd-kubernetes-daemonset was 7 days ago, based on the GitHub push timestamp. The repository has 969 forks — one of the better signals of community interest.
How many stars does fluent/fluentd-kubernetes-daemonset have?
fluent/fluentd-kubernetes-daemonset has 1.3k GitHub stars — refresh the page for the live number, or check github.com/fluent/fluentd-kubernetes-daemonset. TopGit mirrors GitHub's count but does not claim minute-by-minute accuracy.
Is fluent/fluentd-kubernetes-daemonset open source?
Yes — fluent/fluentd-kubernetes-daemonset ships under the Apache-2.0 license, which makes its source code freely readable (and, depending on license terms, forkable and reusable). Source: github.com/fluent/fluentd-kubernetes-daemonset.
What is fluent/fluentd-kubernetes-daemonset?
fluent/fluentd-kubernetes-daemonset (fluent/fluentd-kubernetes-daemonset) is a Ruby project on GitHub. From the project's own README: Fluentd daemonset for Kubernetes and it Docker image
What language is fluent/fluentd-kubernetes-daemonset written in?
fluent/fluentd-kubernetes-daemonset is written primarily in Ruby. GitHub's language field is based on the largest share of bytes in the default branch.
What license does fluent/fluentd-kubernetes-daemonset use?
fluent/fluentd-kubernetes-daemonset is released under the Apache-2.0 license. Always verify the LICENSE file directly on GitHub for the authoritative terms — license strings can be edited out of sync with a project's actual stance.
Where do I read more about fluent/fluentd-kubernetes-daemonset?
This TopGit page is a snapshot — the READ ME tab shows the project's own README content (links stripped, images preserved). The GitHub repository at github.com/fluent/fluentd-kubernetes-daemonset is the definitive source.
Read full README in the tab above.
Curious whether fluentd-kubernetes-daemonset is right for you?
Let ChatGPT, Claude, or Perplexity look into it — click below and see what AI actually says about fluentd-kubernetes-daemonset.