CentOS 7 gem 安裝fluentd

因爲ELK中的logstash 太過臃腫,CPU和內存使用過大,c++

咱們須要一個性能更好,資源消耗低的替代品。fluentd就是咱們想要的。centos

測試代表,在相同負載狀況下,fluentd的性能數倍於logstash。ruby


原日誌收集架構bash

filebeat >kafka > logstash > elasticsearch > kibana架構


新日誌收集架構併發

filebeat > kafka > fluentd > elasticsearch > kibana
elasticsearch


因爲CentOS7 自帶ruby版本太低,本文使用ruby 2.4.1 安裝fluentd .ide


一、卸載自帶的ruby性能

yum remove ruby -y


二、安裝ruby2.4.1測試

yum install http://120.24.7.75:8000/centos/7/x86_64/ruby2.4-2.4.1-1.el7.centos.x86_64.rpm


三、調整gem源

gem sources  #列出默認源
gem sources --remove https://rubygems.org/  #移除默認源
gem sources -a https://mirrors.ustc.edu.cn/rubygems/  #添加科大源


四、安裝編譯環境和軟件包依賴

yum install gcc gcc-c++ make automake autoconf libtool openssl-devel jemalloc-devel gmp-devel -y


五、安裝fluentd

gem install fluentd --no-ri --no-rdoc


六、安裝fluent插件

gem install fluent-plugin-kafka --no-ri --no-rdoc
gem install fluent-plugin-elasticsearch --no-ri --no-rdoc


七、初始化fluentd

fluentd --setup /etc/fluentd

前臺debug 測試,用於檢查配置文件

fluentd -c /etc/fluentd/fluentd/fluent.conf -vv


八、建立啓動腳本/usr/lib/systemd/system/fluentd.service

[Unit]
Description=Fluentd
Documentation=http://www.fluentd.org/
After=network.target

[Service]
Type=simple
ExecStart=/usr/bin/fluentd -c /etc/fluentd/fluent.conf
Restart=on-failure
User=fluentd
Group=fluentd

[Install]
WantedBy=multi-user.target


九、啓動fluentd

 systemctl daemon-reload
 systemctl enable fluentd
 systemctl start fluentd


fluentd 是cruby寫的,受限於GIL,沒法利用多核CPU,已知每一個CPU可處理5000個併發,

若是性能不能知足需求,能夠進程多開。

相關文章
相關標籤/搜索