fluentd是乙個跨平台的開源系統,支援在linux(redhat、ubuntu、debian)、windows平台上執行。macos呢?官方並沒有明顯指出,但是在安裝說明中列出了通過ruby gem進行安裝的方法,想必也支援macos系統。
fluentd是用c+ruby來開發的,考慮到很多開發者並不熟悉ruby,官方體貼地提供了穩定的發布版本,這就是td-agent。我們安裝後看到的可執行檔案就叫這個名字,而不是叫作fluentd。
fluentd分v3和v4兩個版本
官方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 | sh
# td-agent 3
$ curl -l | 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:
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中,路徑是不同的,即2.init.d/opt/td-agent/bin
而不是/opt/td-agent/embedded/bin
。
這是用於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
,可以通過修改這個檔案進行業務配置。
預設配置(/etc/td-agent/td-agent.conf
)在http端點接收日誌並將其路由到stdout。有關td-agent**日誌,可以看/var/log/td-agent/td-agent.log
.
可以使用curl命令發布示例日誌記錄:
fluentd學習 安裝使用
fluentd是非常強大的logging工具,幾句話簡單認識下。1.提供日誌的蒐集,過濾,路由功能 2.使用ruby c開發 3.支援多種資料來源的輸入,比如apache的access log,syslogd,業務log 4.支援多種輸出,file,amazon s3,mongodb,mysql,h...
Fluentd收集Docker日誌(1)
1.配置docker全域性變數 1 vi etc docker daemon.json log driver fluentd log opts 2 檢查 etc sysconfig docker中配置的log server 是否已經配置 2.部署fluentd 注意配置檔案 和 log存放路徑 需要...
Fluentd安裝 通過rpm方式
為了靈活性,fluentd用ruby寫的,其中一些效能敏感的部件使用c寫的。普通的使用者直接安裝和使用ruby程序可能有困難,這樣就把它封裝成fluentd的穩定版本 td agent.直接執行 install redhat td agent2.sh指令碼,就會自動安裝上td agent curl ...