Fluentd 实战——收集 Docker 容器日志
以收集Docker容器日志的例子,介绍下Fluentd的用法。不考虑logstash,太占服务器资源了。
安装 Fluentd
Ubuntu 18.04上的安装命令(https://docs.fluentd.org/installation/install-by-deb):
root@ubuntu-parallel:~# curl -L https://toolbelt.treasuredata.com/sh/install-ubuntu-bionic-td-agent3.sh | sh
以Daemon方式启动:
root@ubuntu-parallel:~# systemctl start td-agent.service
root@ubuntu-parallel:~# systemctl status td-agent.service
fluentd的安装目录是在/opt/td-agent/下的。为演示方便,我们可以直接使用 /opt/td-agent/embedded/bin/fluentd
这个程序。
root@ubuntu-parallel:~# ps -ef | grep fluentd
td-agent 30596 1 0 17:10 ? 00:00:00 /opt/td-agent/embedded/bin/ruby /opt/td-agent/embedded/bin/fluentd --log /var/log/td-agent/td-agent.log --daemon /var/run/td-agent/td-agent.pid
td-agent 30602 30596 9 17:10 ? 00:00:00 /opt/td-agent/embedded/bin/ruby -Eascii-8bit:ascii-8bit /opt/td-agent/embedded/bin/fluentd --log /var/log/td-agent/td-agent.log --daemon /var/run/td-agent/td-agent.pid --under-supervisor
其他系统的安装参考:https://docs.fluentd.org/installation
小试牛刀
配置文件 test.conf,启动一个HTTP服务,并把接收到的日志,打印到标准输出。
<source>
@type http
port 9880
</source>
<match *.*>
@type stdout
</match>
启动fluentd进程。
root@ubuntu-parallel:~# /opt/td-agent/embedded/bin/fluentd -c test.conf
通过HTTP服务提交日志。可以看到fluentd终端打印出了输入的日志。