1. fluentd是什么?
fluentd是一款开源的日志收集工具。它拥有非常多的插件,可以满足的我们对各种格式的日志进行收集,过滤,解析等。把日志信息变成我们想要的格式。并且,没有找到满足我们的插件,我们可以自己写插件。
fluentd收集日志时,将所有日志看做JSON格式的数据。并且用正则表达式去匹配日志。
fluentd是ruby和C语言写的。
2. fluentd安装
之前使用的是td-agent
安装fluentd。td-agent
自带ruby环境。由于版本较低,我需要的插件不能识别。因此,改成软件包安装Fluentd。
这里介绍软件包安装Fluentd。
前面说了,Fluentd是用ruby语言写的日志收集工具。因此需要ruby环境,安装ruby默认是2.0版本的,需要升级版本。
2.1 在线安装ruby
yum install ruby
查看版本
ruby -v
添加ruby仓库
gem sources -a http://mirrors.aliyun.com/rubygems/
安装RVM
RVM(Ruby Version Manager )是一款RVM的命令行工具,可以使用RVM轻松安装,管理Ruby版本。RVM包含了Ruby的版本管理和Gem库管理(gemset)
gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB
curl -sSL https://get.rvm.io | bash -s stable
配置使其生效
source /etc/profile.d/rvm.sh
查看RVM版本信息
rvm -v
安装Ruby
rvm install 2.5
验证
ruby -v
注意
如果使用rvm安装发现下载缓慢,可以考虑删除原来的仓库地址,只保留阿里云镜像。
gem sources --remove https://rubygems.org/
2.2 安装Fluentd
安装编译环境和软件包
yum install gcc gcc-c++ make automake autoconf libtool openssl-devel jemalloc-devel gmp-devel -y
安装Fluentd
gem install fluentd --no-ri --no-rdoc
安装fluentd插件
gem install fluent-plugin-kafka --no-ri --no-rdoc
gem install fluent-plugin-elasticsearch --no-ri --no-rdoc
初始化Fluentd
fluentd --setup /etc/fluentd
启动
fluentd -c /etc/fluentd/fluent.conf
2.3 丰富的日志格式
fluentd自带丰富的日志收集格式。以及可以将日志收集到各种存储的数据库。
Fluentd有7种类型的插件:输入、解析器、过滤器、输出、格式化程序、存储和缓冲区。
参考文献
[1] https://docs.fluentd.org/v1.0/articles/quickstart 官方网站
[2] https://blog.csdn.net/qq_26440803/article/details/82717244 CentOS7升级Ruby