更新日:2022-01-21
Lokiの概要
Lokiは、Prometheusに着想を得た、水平方向にスケーラブルすることで可用性を高めたマルチテナントのログ集約システムです。
運用が簡単かつ効果的になるように設計されています。
ログの内容にインデックスを付けるのではなく、各ログストリームのラベルセットにインデックスを付けます。エージェントはログを取得してストリームに変換し、HTTP APIを介してストリームをLokiにプッシュします。
Lokiプロジェクトは、2018年にGrafana Labsで開始され、KubeConSeattleで発表されました。
Lokiの主な特徴
効率的なメモリ使用によるログ・インデックス作成 | ラベルセットにインデックスを付けることにより、インデックスを従来のログ集計製品よりも大幅に小さくしています。メモリ使用が少ないほど、操作コストが低くなります。 |
---|---|
マルチテナント | 複数のテナントが1つのLokiインスタンスを利用することができます。個別のテナントのデータは、他のテナントから完全に分離されています。マルチテナントは、エージェントでテナントIDを割り当てることで設定します。マルチテナントモードで実行されている場合、メモリと長期ストレージにあるデータは、リクエストのX-Scope-OrgIDHTTPヘッダーから取得されたテナントIDによって分別されます。 |
LogQL(Loki's Query Language) | Grafana LokiのPromQLにインスパイアされたクエリ言語です。クエリはあたかも分散型grepのように動作し、ログソースを集約します。LogQLはフィルタリングのためにラベルと演算子を使用します。 |
スケーラビリティ | Lokiは単一のバイナリとして実行することができ、すべてのコンポーネントは1つのプロセスで実行されます。 Lokiの各コンポーネントはマイクロサービスとして実行できるため、スケーラビリティを考慮した設計になっています。設定により、マイクロサービスを個別にスケーリングすることができ、柔軟な大規模インストールが可能です。 |
フレキシビリティ | 多くのエージェント(クライアント)がプラグインに対応しています。これにより、既存のオブザーバビリティ構成が、オブザーバビリティ・スタックの部分を切り替える必要なく、ログ集約ツールとしてLokiを追加することができます。 |
Grafana統合 | LokiはGrafanaとシームレスに統合され、完全なオブザーバビリティ・スタックを提供します。 |
Lokiの動作環境
バイナリ提供環境
- canary-darwin-amd64
- canary-darwin-arm64
- canary-freebsd-amd64
- canary-linux-amd64
- canary-linux-arm
- canary-linux-arm64
- canary-windows-amd64
- darwin-amd64
- darwin-arm64
- freebsd-amd64
- linux-amd64
- linux-arm
- linux-arm64
- windows-amd64
Lokiのライセンス
Lokiのライセンスは、GNU Affero General Public License v3.0となっています。
参考情報
Lokiの公式ページ
https://grafana.com/oss/loki/
Lokiのソース
https://github.com/grafana/loki
Lokiのサポート
NRIではお客様のご要望に応じて様々な支援ができるサービスをご用意しました。
詳細は下記ページをご確認ください。