• 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"}
    
  • 相关阅读:
    hdu2795-Billboard(线段树应用好题)
    AC自动机模板
    kmp模板
    字符串Hash模板
    (可持久化)带修莫队的实现方法
    HZNU1544众数问题
    NOIP2006提高组第二题-金明的预算方案
    Python学习笔记
    (模板)唯一分解定理
    Java 7 源码学习系列(二)——Enum
  • 原文地址:https://www.cnblogs.com/sanduzxcvbnm/p/13919801.html
Copyright © 2020-2023  润新知