1、fluentd安装

    技术2022-07-16  79

    文章目录

    1.安装准备工作2.安装3.配置文件4.指定fluentd的配置文件fluentd和td-agent 的联系

    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。她两是一样的

    Processed: 0.013, SQL: 9