マジセミドライブ
ウェビナー関連のニュースやITサービス&ツールの最新情報を随時配信します。
OSS情報
2020.01.01
【OSS情報アーカイブ】fluentd


※当記事に記載されている情報は、古くなっている場合があります。オフィシャルサイトで最新情報をご確認ください。
コンテンツ
「fluentd」とは
「Fluentd」基本情報
■概要
Fluentd(フルエントディー)とは、データコレクタ(ログデータ収集管理ツール)です。
■基本説明
Fluentdはログデータを収集しJSONに変換して出力する機能を提供します。
「入力機能」や「出力機能」などはモジュール化されており、プラグインモジュールを追加することで、さまざまなデータソースや出力先に対応できます。
収集したログは「ファイル」「RDBMS」「NoSQL」「Hadoop」などに書き込むことが可能であるため、ロギングインフラストラクチャを統一できます。
「スキーマレス」「プラグイン機構」「バッファリング機構」などの特徴があります。
■オフィシャルサイト情報
オフィシャルサイト
→Fluentd(Fluentd | Open Source Data Collector | Unified Logging Layer)
ライセンス情報
Fluentdのライセンスは「Apache License 2.0」です。
詳細について、こちらを参照ください。
→GitHub →fluent/fluentd →fluentd/LICENSE
ダウンロード
Fluentdは「Linux」「Mac OSX」「Windows」で利用できます。
10分以内でセットアップできます。
導入事例
Fluentdは、5000以上のデータ駆動型企業で利用されています。
■同様製品
同様な機能を提供する製品として、次のようなものがあります。
オープンソース製品:「Logstash」「Graylog」など。
「Fluentd」の主な特徴
■JSONによるデータ構造化
Fluentdは、データをJSONとして可能な限り構造化して処理します。
■ユニファイドロギングレイヤ
Fluentdは、バックエンドシステムからデータソースを切り離し、その間に統一されたロギングレイヤを提供します。
このレイヤにより、複数のデータソースおよび出力先に関して、ログデータ処理を統一できます。
→Fluentd →Fluentd Blog →Unified Logging Layer: Turning Data into Action
■プラガブルアーキテクチャ
Fluentdには、コミュニティがその機能を拡張できる柔軟なプラグインシステムがあります。
さまざまなプラグインを活用することで、多様なケースに対応できます。
■「C言語のハイパフォーマンス」+「Rubyの柔軟性」
Fluentdのコア部分はC言語実装されています。その外側にユーザーに柔軟性を提供するRubyラッパーが配置されています。
Fluentdのパフォーマンスは、多くの大規模サービスでテストされており、平均的に18000メッセージ/秒を処理できます。
■軽量動作
Fluentdは、小さなメモリフットプリント(30〜40MB)で動作できます。
軽量フォワーダ「Fluent Bit」
「Fluent Bit」はFluentdをさらに軽量化したデータフォワーダです。
エッジデバイスへの搭載などに利用できます。
■高可用性
Fluentdは、ノード間データ損失を防ぐために、メモリおよびファイルベースのバッファリングをサポートしています。
また、高可用性を高めるフェールオーバーもサポートしています。
■スケーラビリティ
Fluentdのスケーラビリティは現場で実証されており、最大のユーザーは5万台以上のサーバからログを収集しています。
■CNCFメンバープロジェクト
Fluentdは、CNCF(Cloud Native Computing Foundation)のメンバープロジェクトです。
CNCFは持続可能なエコシステムを構築し、マイクロサービスアーキテクチャの一部としてコンテナを編成する高品質プロジェクトを中心にコミュニティを育成しています。
→Cloud Native Computing Foundation
「Fluentd」のユースケース
「Fluentd」のユースケース
■有料ログ検索ツール「Splunk」の無料代替
有料ログ検索ツール「Splunk」は高機能な優れたツールですが、コストの高さがネックになります。
「Elasticsearch」+「Kibana」+「Fluentd」の3つのオープンソースプロジェクトを組み合わせて、Splunkを代替するシステムを構築できます。
→Fluentd →Use Cases →Free Alternative to Splunk Using Fluentd
■GrepアラートEmailシステム
ApacheアクセスログにHTTPステータスコード「5xx」が検出された時に、警告メールを送信するシステムを作成できます。
→Fluentd →Use Cases →Splunk-like Grep-and-Alert-Email System Using Fluentd
■Treasure Dataによるクラウドビッグデータ分析
Treasure Dataは、クラウド上でデータの保存および分析ができるサービスを提供しています。
Fluentdを使用してHTTPからデータを受信し、Treasure Dataに対してストリーム配信できます。
→Fluentd →Use Cases →Cloud Big Data Analytics with Treasure Data
■ApacheログをMongoDBにインポート
Fluentdはログを半構造化データストリームとして処理するため、半構造化データを強力にサポートするドキュメント指向データベース「MongoDB」は理想的なデータベースです。
Fluentdを使用してApacheログをMongoDBにインポートできます。
→Fluentd →Use Cases →Store Apache Logs into MongoDB
■ビッグデータを「Hadoop HDFS」に集約
MongoDBでは扱いきれないほどの膨大なデータ量を格納し処理するには、「HDFS(Hadoop Distributed File System)」の利用が効果的です。
Fluentdの「WebHDFS Output」プラグインを使用することで、HTTPからデータを受信し、半構造化ログをHDFSにストリームできます。
→Fluentd →Use Cases →Fluentd + HDFS: Instant Big Data Collection
■Apacheログを「Amazon S3」に保存
Fluentdの「Amazon S3 Outputプラグイン」を使用して、Apacheログをクラウドオブジェクトストレージ「Amazon S3」にインポートします。
→Fluentd →Use Cases →Store Apache Logs into Amazon S3
「Fluentd」のプラグインシステム
「Fluentd」のプラグインシステム
■概要
Fluentdには500以上のプラグインが用意されており、コアをシンプルに保ちながら、多くのデータソースと出力に接続できます。コミュニティによって開発された多くのプラグインが公開されています。
Rubyで「既存プラグイン改造」「新規プラグイン開発」を行えます。また、他言語スクリプトプラグインを使って、Ruby以外の言語でも開発できます。
→Fluentd →Plugins(List of All Plugins)
■入力プラグイン
概要
入力プラグインは、Fluentdを拡張して、多様な外部データソースからログを取得します。
→Fluentd →Input Plugin Overview
プラグインリスト
・アプリケーションログ—Java、Ruby、Python
・ネットワークプロトコル—Syslog、HTTP、TCP、UDP
・IoTデバイス—RasperryPi
・その他—Docker、Twitter、MySQLクエリログ、Windowsイベントログ、AWS CloudWatch など
→Fluentd →List of Data Sources
■出力プラグイン
概要
出力プラグインは、収集したデータを用途に応じて出力する機能を提供します。
「同期バッファモード」と「非同期バッファモード」を選択できます。
→Fluentd →Output Plugin Overview
プラグインリスト
・ログ管理—ElasticSearch+Kibana、Splunk
・ビッグデータ—Hadoop DFS、Treasure Data、MongoDB
・データアーカイブ—File、AWS S3
・PubSub/Queue—AWS Kinesis、Kafka、AMQP、RabbitMQ
・データウェアハウス—BigQuery、MySQL、PostgreSQL、SQL Server、AWS RedShift
・監視システム—Datadog、Zabbix、Mackerel
・ミドルウェア—Norikra、CouchDB、HBase
・通知システム—Email、Slack、IRC、Twilio など
→Fluentd →List of Data Outputs
■バッファープラグイン
概要
バッファープラグインは、入力プラグインから出力プラグインに至るまでの間のデータ管理処理を行うプラグインです。
→Fluentd →Buffer Plugin Overview
■フィルタプラグイン
概要
フィルタプラグインを使用すると、イベントストリームを変更できます。
・1つ以上のフィールドの値をgrepしてイベントをフィルタリング
・新しいフィールドを追加
・特定フィールドの削除(マスク)—プライバシーおよびコンプライアンス対応 など
→Fluentd →Filter Plugin Overview
プラグインリスト
→Fluentd →Plugins(List of All Plugins) →Filter plugins
■パーサープラグイン
概要
パーサープラグインは、ユーザーが独自のパーサー形式を作成できるプラグインです。
→Fluentd →Parser Plugin Overview
プラグインリスト
→Fluentd →Plugins(List of All Plugins) →Parser plugin
■フォーマッタプラグイン
概要
フォーマッタプラグインは、ユーザーがカスタム出力形式を拡張して再利用できるようにするためのプラグインです。
プラグインリスト
→Fluentd →Plugins(List of All Plugins) →Formatter plugin
情報提供協力
このページは、SRA OSS, Inc. 日本支社の協力により作成しました。
参考元サイト
※定期的にメンテナンスを実施しておりますが、一部情報が古い場合がございます。ご了承ください。
この記事のタグ一覧
フリーワード検索
カテゴリー一覧
アクセスランキング
- 🏆ランク1位🏆
【OSS情報アーカイブ】Vyatta - 🏆ランク2位🏆
【無料で使える】「 翻訳 」ツールまとめ - 🏆ランク3位🏆
【OSS情報】ディスクイメージング(クローニング)ツール「 Clonezilla 」 - 🏆ランク4位🏆
【OSS情報アーカイブ】OTRS - 🏆ランク5位🏆
【OSS情報アーカイブ】Sympa - 🏆ランク6位🏆
【OSS情報アーカイブ】TensorFlow - 🏆ランク7位🏆
【ChatGPT探訪】ビルトイン画像生成AI「 DALL·E 3 」🖼️ - 🏆ランク8位🏆
【OSS情報アーカイブ】MosP - 🏆ランク9位🏆
【OSS情報アーカイブ】SonarQube - 🏆ランク10位🏆
【OSS情報アーカイブ】Hazelcast