日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Fluentd初探 简介与安装

發布時間:2025/3/21 编程问答 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Fluentd初探 简介与安装 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Fluentd是一個開源的數據收集器,專為處理數據流設計,有點像?syslogd?,但是使用JSON作為數據格式。它采用了插件式的架構,具有高可擴展性高可用性,同時還實現了高可靠的信息轉發。

據分(Y)析(Y),Fluentd是由Fluent+d得來,d生動形象地標明了它是以一個守護進程的方式運行。官網上將其描述為data collector,在使用上,我們可以把各種不同來源的信息,首先發送給Fluentd,接著Fluentd根據配置通過不同的插件把信息轉發到不同的地方,比如文件、SaaS Platform、數據庫,甚至可以轉發到另一個Fluentd。

總結一下,數據流殊途,同歸與Fluentd,Fluentd做一些諸如過濾、緩存、路由等工作,將其轉發到不同的最終接收方。

用Fluentd處理數據還能保證一定的實時性,其提供種類豐富的客戶端lib,很適合處理單位時間emit出log數量巨大的場景。從v10后,Fluentd?不支持?Windows。

其采用Ruby編寫,比較注重性能的地方采用C編寫,Ruby的創始人松本老師這樣評價Fluentd:

Fluentd proves you can achieve programmer happiness and performance at the same time. A great example of Ruby beyond the Web.

Heroku的聯合創始人Adam Wiggins說的挺有道理:

Logs are streams, not files. I love that Fluentd puts this concept front-and-center, with a developer-friendly approach for distributed systems logging.

更多信息請看?這里?。

安裝

安裝前的準備工作

  • 安裝?ntpd

    ntpd?,以d結尾,是一個守護進程,全稱是Network Time Protocol (NTP) daemon,它通過與一個Internet標準時鐘服務器同步來維護系統時鐘,同時也可以將本機做為一個時鐘服務器對外提供時鐘同步服務。更多信息請man一下ntpd。

    安裝ntpd是為了防止Fluentd在收集log的時候出現非法的時間戳。

    在Ubuntu下,apt-get即可安裝:

    $ sudo apt-get install ntp

    之后查看ntpd是否啟動成功(pgrep返回進程號):

    $ pgrep ntpd
  • 增加系統文件描述符的最大數量

    通過ulimit查看當前的文件描述符的最大數量:

    $ ulimit -n

    如果是1024,那是遠遠不夠的,將下面4行添加到?/etc/security/limits.conf?中,重啟機器。

    root soft nofile 65536 root hard nofile 65536 * soft nofile 65536 * hard nofile 65536

    之后用ulimit查看,應該是65536了。

  • (Optional)優化機器內核TCP/IP參數

    如果Fluentd處于一個高負載的運行環境,比如一個機器中運行了多個Fluentd實例,那么最好將下面的參數添加到?/etc/sysctl.conf?中:

    net.ipv4.tcp_tw_recycle = 1 net.ipv4.tcp_tw_reuse = 1 net.ipv4.ip_local_port_range = 10240 65535

    然后執行?sysctl?-w?或者重啟機器使之生效。

    這個跟TCP/IP的細節有關系,我沒有深究,貌似是為了防止短連接數過多,機器處于?TIME_WAIT?狀態的TCP連接數過多,開啟快速回收與重用。具體請參考?這里?。

  • 安裝Fluentd

    寫在前面

    有?很多種方式?來安裝Fluentd,比如通過Ruby的Gem,以及Ubuntu的deb、OS X的Homebrew。

    采用Ruby的Gem安裝比較簡單,安裝的是基本版的Fluentd,即不自帶?/etc/init.d?腳本,在運行時內存分配采用的是操作系統默認的方式;

    而采用.rpm/.deb for Linux的方式安裝呢,安裝的是一個由?Treasure Data, Inc?維護的穩定版本Fluentd,又被稱為td-agent。為了保持一個良好的靈活性,Fluentd采用Ruby編寫,性能要求比較高的地方采用C編寫,考慮到一般的用戶可能安裝操作Ruby有困難,因此該公司維護并提供了一個穩定版本的Fluentd。該版本的Fluentd在內存分配上采用了著重避免內存碎片分配實現?jemalloc?。兩個版本的區別可以在這?查看?。

    那么我們到底選用哪種方式呢,根據官方的文檔。td-agent強調new features的穩定性,如果希望自己控制Fluentd的features,自己手動去更新,采用gem的方式安裝。如果是第一次使用Fluentd或者在大規模的生產環境使用,推薦安裝td-agent,每2-3個月,td-agent就會發布一個新的版本。

    在Ubuntu 12.04上安裝Fluentd

    注意?這種方式截止到筆者發稿僅支持一下兩個Ubuntu的版本:

    • Ubuntu 12.04 LTS / Precise
    • Ubuntu 10.04 LTS / Lucid

    可以在?這里?查看最新進展。

  • (Optional but Recommend)設置GPG Key

    deb包使用?Treasure Data GPG key?簽名,首先將?GPG key?導入apt:

    $ apt-key add /path/to/RPM-GPG-KEY-td-agent
  • 執行下面的腳本

    echo "This script requires superuser access to install apt packages." echo "You will be prompted for your password by sudo."# clear any previous sudo permission sudo -k# run inside sudo sudo sh <<SCRIPT# add treasure data repository to apt echo "deb http://packages.treasure-data.com/precise/ precise contrib" > /etc/apt、sources.list.d/treasure-data.list# update your sources apt-get update# install the toolbelt apt-get install -y --force-yes td-agentSCRIPT

    即安裝完畢。

    也可執行下面的的命令:

    $ curl -L http://toolbelt.treasuredata.com/sh/install-ubuntu-precise.sh | sh

    其實腳本內容就是上面的,我粘過去的。

  • 啟動Fluentd的守護進程

    因為我們安裝的是td-agent,自帶?/etc/init.d/td-agent?腳本,通過該腳本啟動Fluentd服務。

    $ /etc/init.d/td-agent restart * Restarting td-agent td-agent $ /etc/init.d/td-agent status * ruby is running

    同時還支持以下命令:

    $ /etc/init.d/td-agent start $ /etc/init.d/td-agent stop $ /etc/init.d/td-agent restart $ /etc/init.d/td-agent status

    配置文件在:?/etc/td-agent/td-agent.conf

  • 測試

    默認在配置文件中td-agent在8888端口監聽,接收來自HTTP的log信息,并把其路由到stdout(?/var/log/td-agent/td-agent.log?),可以用curl命令測試:

    $ curl -X POST -d ‘json={"json":"message"}‘ http://localhost:8888/debug.test

    之后可以打開?/var/log/td-agent/td-agent.log查看。

  • 總結

    以上是生活随笔為你收集整理的Fluentd初探 简介与安装的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。