概览
1. 快速上手
让我们开始使用Fluentd!Fluentd是一个完全免费和完全开源的日志采集工具,可以使您立即拥有一个125多种类型系统的“Log Everything”架构。
Fluentd将日志视为JSON,一种流行的机器阅读格式。它主要是用C编写附带一个轻量级的Ruby封装器来给用户灵活性。Fluentd的性能已经在实践中证明:最大的用户目前从5000多个服务器收集日志,每天5TB的数据,在高峰期处理50000消息/秒(msgs/sec)。
2. 安装Fluentd
请根据你机器的环境查看合适的安装向导文档
2.1 通过RPM包 (Redhat Linux)
Fluentd是用Ruby编写的,为了灵活性,性能要求高的部分是用C编写。然而对于大家来讲,安装和操作Ruby守护进程是一件麻烦的事。
这就是为什么Treasure Data公司提供Fluentd的稳定分发版,称为td-agent。Fluentd和td-agent之间的差异可以在这里找到:http://www.fluentd.org/faqs。
以下文档适用于td-agent v2版本,目前不推荐使用v1版本
2.1.1 安装前
1)设置时间同步NTP:
同步internet时间保证时间戳是对的
2)增加最大文件打开数:
查看最大文件打开数限制,通过以下命令查看:
$ ulimit -n
65535
如果你的控制台显示 1024,这个数是不够的,请增加以下配置到你的/etc/security/limits.conf 文件并且重启你的机器。
root soft nofile 65536
root hard nofile 65536
soft nofile 65536
hard nofile 65536
3)优化你的网络内核参数:
为了多个Fluentd的高性能实例环境考虑请增加这些参数到你的/etc/sysctl.conf文件中,键入sysctl –p 或者重启你的节点来使修改生效。如果你的环境没有遇到TCP_WAIT的问题,那么你的修改是不需要的。
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.ip_local_port_range = 10240 65535