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スタックのデータフロー
関連する規格・RFC
| 規格・RFC番号 | 内容 |
|---|---|
| Apache Lucene | Elasticsearchが内部で利用する全文検索ライブラリ |
| NDJSON(Newline-Delimited JSON) | Elasticsearchがバルク操作で使用するデータ形式 |
| Elastic Common Schema(ECS) | Elasticスタックでのログフィールド命名標準 |
関連用語
- OpenTelemetry — テレメトリデータの統一収集標準。ELKとの統合も可能
- Prometheus・Grafana — メトリクス特化の監視・可視化コンビ
- セキュリティテスト(SAST/DAST) — コードやアプリの脆弱性を自動検出する手法
- クラウドネイティブ — クラウドの特性を最大活用する設計思想
- マイクロサービス — 複数サービスのログを一元管理する必要が生じるアーキテクチャ
- DevSecOps — 監査ログ活用もセキュリティの一部