Beats(ビーツ)とは、オープンソースデータ収集/転送プラットフォームです。Elastic社のプロダクト群で、サーバからあらゆる種類のオペレーショナルデータを収集して、Elasticsearch/Logstashなどに情報を転送します。
Beatsはサーバに常駐して、リソース情報、ログファイル、HTTPリクエスト、発行したSQLなどを取得して、Elasticsearchなどに情報を転送します。
「モニタリングエージェント」として機能し、それぞれの用途ごとのインプットに特化したシンプル/軽量なデータ取り込み機能を提供します。
・Elasticsearch:Elastic社のオープンソースサーチエンジン
・Kibana:ダッシュボード機能 「Elasticsearch」+「Kibana」などでデータを可視化
・Logstash:Elastic社のデータ取り込みツール
・シンプル機能
・軽量動作
・Go言語実装
・軽量フットプリント
・JVM不要
・YAML形式設定ファイル
・マルチプラットフォーム
・出力処理は共通ライブラリ利用
Beatsのライセンスは「Apache License Version 2.0」です。
詳細について、こちらを参照ください。
→GitHub →elastic/beats →LICENSE.txt
同様な機能を提供する製品として、次のようなものがあります。
オープンソース製品:「Fluentd」「Apache Flume」など。
「libbeat」は、全Beatで共通するタスク処理のための「共通Goライブラリ」です。Logstash/Elasticsearchに、セキュア/効率的に情報を送信する基盤機能です。
新しいBeatを作成する場合、開発者は取り組みたい処理だけに集中でき、拡張を容易にします。
「Topbeat」は、各サーバから各種リソース情報を取得し、定期的にLogstash/Elasticsearchに送信します。
システム負荷、空き/使用中メモリ、ディスク使用状況、スワップ状況、各プロセス情報などの指標を収集します。
「Filebeat」は、ログファイルのメッセージを取り込むツールです。
設定ファイルで指定したログファイルを取り込み、Elasticsearchなどへデータを送信します。
「Packetbeat」は、ネットワークパケットをキャプチャして解析を行う「ネットワークアナリティクス」ツールです。
トランザクション要求と応答を関連付けて、各トランザクションに関するデータをElasticsearchに転送します。分散型リアルタイムな「Wireshark」のようなイメージです。Webサーバ側にインストールします。
HTTPパケット(リクエストURL、HTTPステータスなど)、MySQLパケット(発行SQL、発行結果)などを取得できます。
コミュニティによって、さまざまな用途のBeats製品が開発されています。
・dockerbeat
・nginxbeat
・pingbeat
・uwsgibeat
・httpbeat
・phpfpmbeat など
OSS×Cloud ACCESS RANKING