Cloudバリューを最大化してエクスペリエンスを最適化Elasticの全サービスをあらゆるクラウドに、数分でデプロイ&スケールしましょう。とき、サーバーからあらゆる種類のオペレーショナルデータを収集してLogstashとElasticsearchに転送する軽量のデータ転送フレームワークを構築したいという構想が生まれ、「Beats」と名付けられました。本日、いよいよ初のBeatsプラットフォーム本番対応バージョンと、初の正式サポートBeatであるTopbeat、Filebeat、Packetbeatがリリースされます。ダウンロードし、「はじめてみよう」に従ってくださいBeatsプラットフォーム私たちの目標は、コミュニティが新しいBeatを簡単に作成できるプラットフォームを構築することでした。libbeatを開発しました。同期および非同期モードでのイベント送信など、全Beatで共通するタスクを処理するための共通パーツが含まれるGoライブラリです。libbeatプラットフォームには、ダウンストリームサーバーの過負荷や中継するネットワークの輻輳などを検出するメカニズムも含まれているため、送信レートを抑えることができます。libbeatは、LogstashおよびElasticsearchにイベントを安全・セキュア・効率的に送信するすべてを備えています。構成、CLIフラグ、ログなどの機能もあるため、新しいBeatを作成するときに、開発者は関心のあるデータの収集だけに集中できます。分析プラットフォームの残りの部分は、libbeat、Logstash、Elasticsearch、Kibanaに任せてください。独自のBeatの開発が始まっています。ご興味のある方向けに開発者ガイドも用意されています。TopbeatTopbeatに着手したのは、他の開発者が初めてBeatを作成する際に参考となるシンプルなBeatの例が必要だと考えたからですが、結果的にそのシンプルな提案が多くの人に気に入られました。Topbeatは、すべてのサーバーに対する分散型のtopコマンドのようなものです。指標を画面に出力せずに、定期的にLogstashまたはElasticsearchに送信します。システム負荷、空き/使用中メモリ、ディスク使用状況など、システム全体のデータやプロセスごとの指標が中央管理されるのです(全指標のリストを参照)。SSHであちこちを調べてRAMを消費しているプロセスを確認する必要はありません。XとWindowsもサポートしています。そのため、どのサポート対象オペレーティングシステムを使用しているかを問わず、ネットワークの各サーバーにインストールして同じオペレーティングシステム指標を収集できます。Topbeatは、サーバーにインストールされると、Elasticsearchに定期的に指標を送信し始めます。実行している場合、データを視覚化して独自のカスタマイズ可能なダッシュボードを構成できます。プロセス、プロセス単位のメモリ/CPU使用状況、ディスク使用状況概要、ディスク使用状況などを使用できます。FilebeatFilebeatは、多くの企業の本番環境で長年使用されてきた軽量のデータ転送ツールであるLogstash-Forwarderの後継ソフトウェアです。Logstash-Forwarderは、シンプルで軽量なGoアプリケーションで、サーバーのすべてのログを中央管理する場所に送信して追加処理できるようにします。Sisselが開発を開始し、Logstash開発者が保守してきましたが、Logstash本体と比べ、改良やバグ修正という点で後れを取りがちでした。Logstash-Forwarderは明らかにBeatと似ているため、私たちは、今後の最善の道はBeatに移行することだと判断しました。そこで、Forwarderのコードを分解し、古くなった部分は置き換え、追加の単体テストを実施し、すべてをまとめ直してFilebeatにしました。Filebeatは簡単に構成できます。サーバーにインストールした後、クロールするパスを設定するだけで、Filebeatは、追加処理ができるようにログをLogstash経由でElasticsearchに送信し始めます。ログの循環使用、ファイルの名前変更、ダウンストリームサーバーの一時的な使用不能状況にも対応しているため、ログは1行たりとも失われません。Forwarderユーザーは、移行ガイドに従ってFilebeatの使用を開始してください。PacketbeatPacketbeatは、すべての始まりとなった最初のBeatです。複雑な分散システムを監視してトラブルシューティングすることを想像してみてください。各コンポーネントでばらばらのプログラミング言語、Webフレームワーク、データベーステクノロジーが使用されています。共通するのは、コンポーネント間の通信がネットワーク経由で行われることぐらいです。APIコールのHTTPのような標準プロトコルが使用されます。Packetbeatは、分散型でリアルタイムのWiresharkのようなもので、トランザクションの要求と応答を相関付け、各トランザクションに関するデータをElasticsearchに挿入します。Packetbeatは、ネットワークのサーバー間の通信を調べてアプリケーションを可視化します。ネットワークトラフィックをパッシブにスニッフして機能するため、アプリケーションを妨げません。Packetbeatは、そのオープンソースとしての本領を十分に発揮しています。誰でも新しいプロトコルのサポートを追加でき、専有プロトコルも例外ではありません。TCPなどのサポートが追加され、現在も何件かのコントリビューションが進行中です。Elasticは、いつでもコントリビュータの皆さんがコードをPacketbeatに追加できるようにサポートを惜しみません。最近、新しいプロトコル用の開発者ガイドを作成しましたのでぜひご利用ください。正式リリースまでの道のり1.0.0リリースまでの全体の流れにご興味がある場合は、中間リリースに関する過去のブログ記事をお読みください。リリースコードの提供、問題の報告、ベータステージでのBeats試用をしてくださった皆さんに心から感謝します。1.0.0を使用して、ご意見やご感想をディスカッション、Twitterでお寄せください。Foundationの商標です。