1 Fluentd安裝方法

2022-06-11 04:03:10 字數 3764 閱讀 2542

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中,路徑是不同的,即/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,可以通過修改這個檔案進行業務配置。

預設配置(/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 ...