システム開発

ELKスタック いーえるけーすたっく

ログ管理ElasticsearchLogstashKibana全文検索可視化
ELKスタックについて教えて

簡単に言うとこんな感じ!

ELKスタックはシステムが毎秒吐き出す大量のログを「集めて・整理して・見やすく表示する」3点セットだよ! 膨大なログの山から「このエラーはいつ何回起きたか」を秒速で見つけられる、いわばログの司書さんみたいな存在なんだ!


ELKスタックとは

ELKスタックは、Elasticsearch・Logstash・Kibanaという3つのオープンソースツールを組み合わせたログ管理・検索・可視化の統合ソリューションです。Elastic社が開発・提供しており、現在はBeats(軽量データ収集エージェント)を加えた「ELKBスタック」や「Elasticスタック」とも呼ばれます。

大規模なシステムでは、1分間に数万件ものログが生成されます。このような大量ログをテキストファイルで管理していると、障害時に原因究明に数時間かかることも珍しくありません。ELKスタックを使うことで、全文検索・集計・可視化を数秒で行えるようになります。

発注するシステムにELKスタックや同等のログ管理基盤が整備されているかは、障害対応の迅速さ(MTTR:平均修復時間)に直結する重要な指標です。


ELKスタックの3コンポーネント

コンポーネント役割特徴
Elasticsearchログの格納・全文検索・集計転置インデックスによる高速検索
Logstashログの収集・変換・送信多様なデータソースに対応
Kibana検索・可視化・ダッシュボードブラウザで操作できるUI
Beats(追加)軽量データ収集エージェント各サーバーにインストール

Beatsの種類

Beat収集するデータ
Filebeatログファイル
Metricbeatシステムメトリクス(CPU・メモリ等)
Packetbeatネットワークトラフィック
Auditbeatセキュリティ監査ログ

歴史と背景

  • 2004年 — Shay Banonが検索エンジン「Compass」を開発。後にElasticsearchへと発展
  • 2010年Elasticsearchがオープンソース公開。Luceneベースの分散検索エンジン
  • 2011年Logstashが公開。ログのETLツールとして普及
  • 2013年Kibanaが公開。Logstash・Elasticsearchとの組み合わせで「ELKスタック」という呼称が定着
  • 2015年 — Elastic社がBeat群を追加。「Elasticスタック」として統合提供開始
  • 2019年 — Elastic社がElastic Cloud(マネージドサービス)を強化。クラウド採用が加速
  • 2021年 — ライセンス変更(Apache 2.0→SSPL)でAWSと対立。OpenSearchが派生

ELKスタックのデータフロー

ELKスタック データフロー データソース Webサーバーログ アプリログ システムログ Filebeat 軽量エージェント ログを拾い上げる 転送 Logstash パース・変換 フィルタリング エンリッチメント Elasticsearch 格納・インデックス 全文検索 集計・分析 Kibana ダッシュボード・検索UI・アラート

関連する規格・RFC

規格・RFC番号内容
Apache LuceneElasticsearchが内部で利用する全文検索ライブラリ
NDJSON(Newline-Delimited JSON)Elasticsearchがバルク操作で使用するデータ形式
Elastic Common Schema(ECSElasticスタックでのログフィールド命名標準

関連用語