オープンソースのデータコレクター(ログ収集ツール)である「Fluetnd」について、概要とインストール方法を解説します。
- ログ収集を効率的に行いたい
- 点在するログを集約させたい
- 障害に強いログ収集ツールを採用したい
とお考えの方に、参考になる内容かと思います。
はじめに
オープンソースのデータコレクター(収集ツール)であるFluentdについて、概要とインストール方法について紹介します。
インストール後の基本的な使い方については、以下の記事で紹介しています。
Fluentdとは
Fluentdは、データ収集・処理・転送を目的としたオープンソースのデータコレクターです。
アプリケーション、OS、ミドルウェア、各種機器等でログを取る際に、それらのログを一箇所に集約することができます。また、集めたログを別のサーバーへ転送することも可能です。
他にも、以下のような特徴があります。
Fluentdの特徴
Fluentdは以下のような特徴を持っています。
マルチプラットフォーム
Fluentdは、Rubyの動作環境があれば、Windows・Mac・LinuxなどOSの制限なく動きます。
ログはJSON形式
Fluentdにインプットされたログは、すべてJSON形式に変換されます。
そのため、構造が把握しやすく、アプリケーション側でのデータ変換も容易です。
バッファリング機能による信頼性
Fluentdのログはデータバッファに蓄積されます。そのため、ログの欠損を防ぐことができます。
フィルタ機能
Fluentdにはフィルタ機能があります。
設定ファイルに定義してフィルタリングを行います。正規表現によるマッチングも可能です。
スケーラビリティと高可用性
Fluentdは、分散型のアーキテクチャを持ち、大規模なデータ処理にも対応しています。
また、フェイルオーバーや冗長性の管理など、高可用性の要件にも対応しています。
Ruby・Cで動作するため軽量
Fluentdは、RubyまたはC言語で動かすことができます。
いずれも、学習や取り扱いが容易な軽量言語であり、導入・管理のハードルが低いと言えます。
公開されている種類の違い
公式ページには、Fluentdをベースとした変種が公開されています。それぞれは以下の特色があります。
Calyptia Fluentd (calyptia-fluentd)
Calyptia Fluentdは、フルマネージドのログ収集サービスである「Calyptia」によって開発・提供されています。高速なログ収集、リアルタイムな可視化、高いスケーラビリティなどの特徴を持つサービスです。
また、Calyptiaが提供するログ収集サービスに最適化されています。
Treasure Agent (td-agent)
Treasure Agentは、フルマネージドのログ収集サービス「Treasure Data」(現在はArm Treasure Data)によって開発・提供されています。Treasure Dataは、データの収集、処理、分析、可視化などの機能を提供するクラウドベースのサービスです。
Arm Treasure Dataのデータプラットフォームとのシームレスな統合を実現しています。
インストール方法
今回は上記の変種ではなくFluentdそのものをインストールします。
今回はWindowsに対して、以下の流れに沿ってインストールを実施します。
【事前準備】Rubyのインストール
FluentdはRuby(とC言語)で書かれているため、まずはRubyをインストールします。
Rubyについての詳細とインストール方法については以下の記事を参照ください。
Fluentdのインストール
GitHubサイトにアクセスし、ソースコードをダウンロードします。
もしくは、以下のコマンドでgitをcloneします。今回はcloneしたものとして進めます。
git clone https://github.com/fluent/fluentd.git
fluentdをcloneしたフォルダに移動して、以下のコマンドを入力します。
gem install fluentd
何もなければ、インストール完了の旨のコマンドが出力されます。
次に以下のコマンドを実行します。こちらもインストール終了の旨が出たらOKです。
fluentd -s conf
コマンドを実行した場所にconfフォルダができ、その中にfluent.confとpluginフォルダができます。
まとめ
Fluentdの概要とインストール方法を紹介しました。
軽量かつ扱いやすいFluentdを活用すると、今までよりもログ収集の効率が向上することが期待できます。本記事が参考になれば幸いです。
コメント