(レポート) Elastic{ON} 2016: What’s Brewing in Beats #elasticon

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

はじめに

本記事はElastic{ON} 2016のセッション、「What's Brewing in Beats」のレポートです。

スピーカーはElasticのMonica SarbuとTudor Golubenco。

DSC_0101

DSC_0107

レポート

Beats = Lightweight shipper ・様々なオペレーションデータを可視化。
Packetbeatでwire dataを、Topbeatでシステムデータを、Filebeatwinlogbeatでログデータを。

・ネットワークトラフィックのsniff。ユースケースとしてセキュリティ、ネットワークやアプリケーションのトラブルシューティング、パフォーマンス計測。
・wiresharkやsnort、tcpdumpといったツールがある。

DSC_0102

・Packetbeatはリアルタイムなアプリケーションモニタリング。ネットワークトラフィックをキャプチャし、タグ付けしてJSONでElasticsearchに投入。
・プロトコル別にdecode。
・Elastic{ON}のトラフィックもデモで展示中。

・Topbeat、Unixコマンドのtopライクにデータを取得。
・システム単位、プロセスごと、ディスクUsageデータを取得。

・Filebeat。ログ行をElasticsearchに投入。
・ファイルに対してリードポインタを持ち、行をキューのように管理。Logstashに送る。

DSC_0103

・Filebeatはパースしていないログ行を取得、Logstashのフィルタでパースする。
・5.0では直接Elasticsearch(Ingest Node)に投入できる。

DSC_0104

・Winlogbeat。WindowsイベントログをElasticsearchに投入。

DSC_0105

・デモ。Packetbeat、Topbeat、Winlogbeatを動かし可視化。MySQLのSlow query logなども見れる。

DSC_0108

・現時点で14のCommunity beatsがある。

DSC_0109

・Community Beatsを作る基盤となるライブラリ、libbeat。Golangのlibrary。ElasticsearchとLogstashにアウトプットできる。暗号化及び認証に対応。

DSC_0110

・Pingbeat。ICMP pingsをリストにあるホストに対して送信。UDP pingの送信も可能。DNSで名前解決もできる。
・Unifiedbeat。IDSのログ(Unified2 binary)をパース。Kibana dashboardもある。
・Dockerbeat。Docker APIを使ってコンテナをモニタリング。
・Magioscheckbeat。Nagios pluginとして導入。アラートをElasticsearchに投入。

・Beatを作るのは?Beat generatorがある。pip install cookiecutterから導入。

DSC_0111

・Beats Packer。クロスコンパイルに対応。RPMとDEBのパッケージとして提供。

DSC_0112

・Metricbeat。様々なシステムに対応したモジュール。Metricbeat自体もライブラリ。これを使ったdf2beatというものもある。

DSC_0113

・Queueを追加した構成。RedisかKafkaを使う。 Beats 5.05.0ではKafkaをプラグインでサポート。

さいごに

Beatsは様々な可能性を秘めています。幾つかは知っていましたが、14もプロダクトができているとは知りませんでした。ぜひ試してみたいです。