1、fluentd安裝

1.安裝準備工作

第一步:

ulimit -n
65536

# 如果顯示 1024 需要在/etc/security/limits.conf 下面添加如下:
root soft nofile 65536
root hard nofile 65536
* soft nofile 65536
* hard nofile 65536

第二步:

# 在/etc/sysctl.conf 文件下面添加如下字段
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

第三步:重啓計算機

2.安裝

第一步:配置阿里源
第二步:

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

第三步:

systemctl start td-agent
tail -f /var/log/td-agent/td-agent.log

第四步:

curl -X POST -d 'json={"json":"message"}' http://localhost:8888/debug.test
# 然後會發現td-agent.log 出現了對應的數據

3.配置文件

第一步:先看下td-agent.conf文件

# 爲啥憑空多出來8888 端口???下面進行解釋
netstat -pan | grep 8888

# 配置文件所在的位置如下
/etc/td-agent/td-agent.conf
# 我們看下面的主要內容
<source>            # 表示監控8888端口
  @type http
  @id input_http
  port 8888
</source>
<match debug.**>   # 表示匹配 debug.** 然後進行輸出
  @type stdout
  @id output_stdout
</match>

# 說明:當執行systemctl start td-agent,就會加載td-agent.conf配置文件,實際上會執行如下命令:
# 備註:執行如下命令之前,請先關閉systemctl stop td-agent
/opt/td-agent/embedded/bin/fluentd -c /etc/td-agent/td-agent.conf

第二步:看下這個配置文件/usr/lib/systemd/system/td-agent.service

[Unit]
Description=td-agent: Fluentd based data collector for Treasure Data
Documentation=https://docs.treasuredata.com/articles/td-agent
After=network-online.target
Wants=network-online.target

[Service]
User=td-agent
Group=td-agent
LimitNOFILE=65536
Environment=LD_PRELOAD=/opt/td-agent/embedded/lib/libjemalloc.so
Environment=GEM_HOME=/opt/td-agent/embedded/lib/ruby/gems/2.4.0/
Environment=GEM_PATH=/opt/td-agent/embedded/lib/ruby/gems/2.4.0/
Environment=FLUENT_CONF=/etc/td-agent/td-agent.conf   # 這個就是我們的配置文件
Environment=FLUENT_PLUGIN=/etc/td-agent/plugin
Environment=FLUENT_SOCKET=/var/run/td-agent/td-agent.sock
Environment=TD_AGENT_LOG_FILE=/var/log/td-agent/td-agent.log
Environment=TD_AGENT_OPTIONS=
EnvironmentFile=-/etc/sysconfig/td-agent
PIDFile=/var/run/td-agent/td-agent.pid
RuntimeDirectory=td-agent
Type=forking
 # 我猜測執行這個命令,同時會加載td-agent.conf文件
ExecStart=/opt/td-agent/embedded/bin/fluentd --log $TD_AGENT_LOG_FILE --daemon /var/run/td-agent/td-agent.pid $TD_AGENT_OPTIONS
ExecStop=/bin/kill -TERM ${MAINPID}
ExecReload=/bin/kill -HUP ${MAINPID}
Restart=always
TimeoutStopSec=120

[Install]
WantedBy=multi-user.target

4.指定fluentd的配置文件

Fluentd默認使用的配置文件爲/etc/td-agent/td-agent.conf。如果我們有多個配置文件,如何指定使用哪一個作爲主配置呢?答案就在啓動腳本中。
在/etc/init.d/td-agent這個文件中,有如下配置:

TD_AGENT_OPTIONS="--use-v1-config"

只需要在這個配置項中增加-c選項,就可以指定配置文件。本質上是傳遞-c參數給td-agent.

TD_AGENT_OPTIONS="--use-v1-config -c /etc/td-agent/td-agent-test.conf"

fluentd和td-agent 的聯繫

簡單理解:fluentd就是td-agent。她兩是一樣的

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章