Skip to content
Latchkey

Grafana Loki vs Elasticsearch: どちらのログストアを選ぶか

Lokiはラベルのみをインデックスし、圧縮したログのチャンクを安価に保存します。Elasticsearchは全文検索のためにログ内容を完全にインデックスします。

Grafana Lokiは、少数のラベルのみをインデックスし、残りを圧縮チャンクとしてobject storageに保存することでコストを低く保ちます。これによりインジェストは安価になりますが、アドホックな内容検索は遅くなります。Elasticsearchはすべてのフィールドをインデックスし、高速な全文クエリ、集計、分析を可能にしますが、より重いストレージと運用オーバーヘッドを伴います。Lokiはラベル駆動のログにおけるコストとシンプルさで優れ、Elasticsearchは検索の深さと分析で優れます。

LokiElasticsearch
インデックスモデルラベルのみ全内容
ストレージコスト低い(object store)より高い
検索ラベル + grep豊富な全文検索
運用オーバーヘッドより軽いより重い
最適な用途安価でラベル付きのログ深い検索、分析

ユースケースとコスト

Lokiは、すでにGrafanaを運用しており、検索クラスタを管理せずにPrometheusスタイルのラベル付きログを安価に保存したいチームに適しています。Elasticsearchは、高カーディナリティのフィールドにわたる任意の全文クエリ、集計、構造化された分析を必要とし、ストレージとチューニングのコストを支払う意思のあるチームに適しています。

運用とCIへの適合

Lokiは運用が軽く、object storage上で水平にスケールします。Elasticsearchはshard、heap、インデックスライフサイクルの慎重な管理が必要です。どちらもCIでbuildおよび統合テストされるコンテナとして配布され、より高速なmanaged runnerはイメージのbuildと一時的なインスタンスに対するエンドツーエンドのクエリテストを短縮します。

結論

Grafanaと密に統合された、安価でラベルインデックスのログが欲しいなら: Loki。深い全文検索、集計、分析が欲しいなら: Elasticsearch。Lokiはコストを最小化し、Elasticsearchはクエリの力を最大化します。

関連ガイド