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