1. Fluentd安裝方法


Fluentd是一個跨平台的開源系統,支持在Linux(Redhat、Ubuntu、Debian)、Windows平台上運行。MacOS呢?官方並沒有明顯指出,但是在安裝說明中列出了通過Ruby Gem進行安裝的方法,想必也支持MacOS系統。

Fluentd是用C+Ruby來開發的,考慮到很多開發者並不熟悉Ruby,官方體貼地提供了穩定的發布版本,這就是td-agent。我們安裝后看到的可執行文件就叫這個名字,而不是叫作fluentd。

Fluentd分v3和v4兩個版本

官方RPM安裝文檔:https://docs.fluentd.org/installation/install-by-rpm

安裝准備

1.配置NTP,這個是為了保證實時數據的准確性,對於生產環境非常關鍵。
2.增加文件描述符的數值。通過ulimit -n查看當前文件描述符的數目,如果顯示為1024,則需要進行修改。方法為:向/etc/security/limits.conf中添加以下配置,並重啟服務器。

root soft nofile 65536
root hard nofile 65536
* soft nofile 65536
* hard nofile 65536

3.優化網絡內核參數。向/etc/sysctl.conf中添加以下配置,重啟或者執行sysctl -p使其生效。

net.core.somaxconn = 1024
net.core.netdev_max_backlog = 5000
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
net.ipv4.tcp_wmem = 4096 12582912 16777216
net.ipv4.tcp_rmem = 4096 12582912 16777216
net.ipv4.tcp_max_syn_backlog = 8096
net.ipv4.tcp_slow_start_after_idle = 0
net.ipv4.tcp_tw_reuse = 1
net.ipv4.ip_local_port_range = 10240 65535

開始安裝

通過rpm進行安裝,很簡單,一條命令就行了:

# td-agent 4
$ curl -L https://toolbelt.treasuredata.com/sh/install-redhat-td-agent4.sh | sh

# td-agent 3
$ curl -L https://toolbelt.treasuredata.com/sh/install-redhat-td-agent3.sh | sh

執行此腳本將自動在您的計算機上安裝td-agent。這個shell腳本注冊一個新的rpm存儲庫/etc/yum.repos.d/td.repo,並安裝td-agent。

啟動守護進程

分兩種情況
1.systemd
使用/usr/lib/systemd/system/td-agent,可通過輸入start、stop、restart等參數來控制進程的運行.

$ sudo systemctl start td-agent.service
$ sudo systemctl status td-agent.service
● td-agent.service - td-agent: Fluentd based data collector for Treasure Data
   Loaded: loaded (/lib/systemd/system/td-agent.service; disabled; vendor preset: enabled)
   Active: active (running) since Thu 2017-12-07 15:12:27 PST; 6min ago
     Docs: https://docs.treasuredata.com/articles/td-agent
  Process: 53192 ExecStart = /opt/td-agent/embedded/bin/fluentd --log /var/log/td-agent/td-agent.log --daemon /var/run/td-agent/td-agent.pid (code = exited, statu
 Main PID: 53198 (fluentd)
   CGroup: /system.slice/td-agent.service
           ├─53198 /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
           └─53203 /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 /v

Dec 07 15:12:27 ubuntu systemd[1]: Starting td-agent: Fluentd based data collector for Treasure Data...
Dec 07 15:12:27 ubuntu systemd[1]: Started td-agent: Fluentd based data collector for Treasure Data.

要定制systemd行為,請將td-agent.service服務放在/etc/systemd/system中。

注意:在td-agent 4中,路徑是不同的,即/opt/td-agent/bin而不是/opt/td-agent/embedded/bin

2.init.d
這是用於CentOS 6,非systemd系統。

/etc/init.d/td-agent就是td-agent的運行控制腳本,可通過輸入start、stop、restart等參數來控制進程的運行。

$ sudo /etc/init.d/td-agent start
Starting td-agent: [  OK  ]
$ sudo /etc/init.d/td-agent status
td-agent (pid  21678) is running...

$ sudo /etc/init.d/td-agent start
$ sudo /etc/init.d/td-agent stop
$ sudo /etc/init.d/td-agent restart
$ sudo /etc/init.d/td-agent status

td-agent默認的配置文件為/etc/td-agent/td-agent.conf,可以通過修改這個文件進行業務配置。

通過HTTP的方式簡單測試

默認配置(/etc/td-agent/td-agent.conf)在HTTP端點接收日志並將其路由到stdout。有關td-agent代理日志,可以看/var/log/td-agent/td-agent.log.

可以使用curl命令發布示例日志記錄:

$ curl -X POST -d 'json={"json":"message"}' http://localhost:8888/debug.test
$ tail -n 1 /var/log/td-agent/td-agent.log
2018-01-01 17:51:47 -0700 debug.test: {"json":"message"}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM