Grafana LabsのProductってそれぞれ何が違うの?
はじめに
Grafana Labs documentationを読んで、Productの数が(執筆時点で)15個(+α)もあることに驚き、何が違うのか気になりました。今回は違いなどを明確にする目的で、それぞれの機能をサラッとまとめます。
まとめ
Grafana | Agent | Alloy | Beyla | Cloud |
---|---|---|---|---|
データ可視化 | 軽量なデータ収集 | 環境を統合管理 | アプリ性能追跡 | クラウド監視 |
Enterprise Logs | Enterprise Metrics | Enterprise Traces | k6 | k6 Studio |
---|---|---|---|---|
企業向けログ管理 | 企業向けメトリクス監視 | 企業向けトレース管理 | 負荷テスト | テスト生成アプリ |
Loki | Mimir | OnCall | Pyroscope | Tempo |
---|---|---|---|---|
ログ管理 | メトリクス管理 | オンコール管理 | プロファイリング | 分散トレーシング |
Grafana
Query, visualize, alert on, and explore your metrics, logs, and traces wherever they are stored.
データ視覚化および監視ツール。主にシステムメトリクスやログ、トレース情報などを収集し、それらをダッシュボード形式で可視化するために使われる。「Dashboard anything. Observe everything.[1]」 というコンセプトの通り、データソースとしてPrometheus(リソース監視)、Loki(ログ管理)、ElasticSearch(検索エンジン)、MySQL(DB管理)などさまざまなツールと連携できるのが特徴。リアルタイムの監視だけでなく過去のデータ分析も可能で、お手軽に触れるsandboxもある。
Grafana Agent
Grafana Agent is a batteries-included telemetry agent that uses established battle-tested code to collect logs, metrics, and traces.
メトリクス、ログ、トレースの「データ収集を簡単にする」ためのエージェント。例えば、サーバーのCPU使用率やメモリ使用量などのメトリクスや、アプリケーションログ、トレースデータを収集し、それをGrafanaなどの可視化ツールに送信する。
「Static mode(静的にメトリクスやログの収集設定を管理するモード)」「Static mode Kubernetes operator(Kubernetesのマニフェストで構成を記述するモード)」「Flow mode(Prometheusの機能を拡張し、より柔軟なメトリクス収集ができるモード)」の3つがある。
Grafana Alloy
Alloy offers native pipelines for OTel, Prometheus, Pyroscope, Loki, and many other metrics, logs, traces, and profile tools.
OpenTelemetry Collectorというシステムモニタリング環境を包括的に管理するための基盤を提供するツール。システムやサービス全体の監視を容易にし、複数のデータ収集や可視化ツールを一元管理できるように設計されているのが特徴。
独自のプラグインシステムを備え、ニーズに応じて柔軟に拡張可能。また、リアルタイムでのデータストリーム処理やパフォーマンスの最適化も得意とする。
Grafana Beyla
Grafana Beyla is an eBPF-based application auto-instrumentation tool to easily get started with Application Observability.
アプリケーションのオブザーバビリティを強化するためのツール。eBPFを活用して自動的にアプリケーションを計測する機能が提供されている。これにより、コードの変更なしで詳細なトレースやメトリクスの収集が可能に。
Go、Node.js、Python、Rust、Ruby、.NET、Java などに対応しており、たとえば Rust で書かれたHTTP サーバーのトレースやメトリクスを収集し、Grafana Cloud で可視化することができる。
Grafana Cloud
Grafana Cloud is the only platform that adapts to your needs, whether you’re just getting started with observability or you already have tools in place.
「Grafana」をベースに、Prometheus(メトリクス監視)、Loki(ログ管理)、Tempo(トレース収集)などのオープンソースツールを統合し、クラウド上で提供されるフルマネージドサービス。
インフラやアプリの監視を簡素化し、可用性の確保やスケール管理を自動化することで、運用負担を軽減することが目的。初心者向けに構成済みのダッシュボードやアラート機能が搭載されているのも特徴。
Loki
Loki is a horizontally-scalable, highly-available, multi-tenant log aggregation system inspired by Prometheus. It is designed to be very cost effective and easy to operate.
ログの検索と収集を行うツール。ログ管理の複雑さを軽減し、既存の監視ツールとの統合を簡単にする。Prometheusからインスパイアを受けた設計で、水平スケーリング、高可用性、マルチテナント対応が特徴。
特に、時系列データの処理に特化しており、ログデータを時間軸に沿って効率的に検索・分析することが可能。また、各ログデータにはラベルが付けられ、アラートルールの設定や複数のテナント管理もできる。
Enterprise Logs
GEL inherits all the features, enhancements, and bug fixes of the Loki project.
ログ管理ツール「Loki」をベースにした企業向けのサービス。エンタープライズ向けに特化した機能が追加されていることが特徴。高度な監視ツールの利用、専用サポートなど、大規模環境向けに最適化されている。
Tempo
Grafana Tempo is an open-source, easy-to-use, and high-scale distributed tracing backend.
分散トレーシング用のバックエンドシステム。トレースデータを効率的かつコスト効果の高い方法で保存・分析するために設計されている。コスト効率に優れ、オブジェクトストレージのみで動作し、TempoはGrafana、Mimir、Prometheus、Lokiと深く統合されているのが特徴。
そのため、ログやメトリクスとトレースを一貫して管理でき、システム全体の監視が容易になっている。
Enterprise Traces
The commercial offering allows you to deploy a highly scalable, simple, and reliable distributed tracing store in your own data center.
Grafana Tempoをベースにした企業向けのサービス。大量のトレースデータを効率的に保存・クエリ処理できるのが特徴。
エンタープライズ規模のニーズに対応するための高度な機能(たとえば、より強力なクエリ処理、専用サポート、データの可用性とスケーラビリティを保証する機能)を提供。特に、大規模トレースデータの管理が求められる企業向けに最適化されている。
Mimir
Grafana Mimir is an open source software project that provides horizontally scalable, highly available, multi-tenant, long-term storage for Prometheus and OpenTelemetry metrics.
Prometheus が収集したメトリクスを長期間保管するためのツール。Cortex[4]の後継で、スケーラビリティとパフォーマンスが向上している。
Mimirは複数のテナントを扱い、複雑なデータセットでも高いパフォーマンスを維持しながら、大量のメトリクスを効率的に格納し、クエリ処理が可能。Grafana、Prometheusとの統合がスムーズで、視覚化やダッシュボード作成が容易となる。
Enterprise Metrics
Grafana Enterprise Metrics (GEM) is a commercial offering based on the open source project Grafana Mimir.
Grafana Mimirをベースにした企業向けのサービス。Prometheus のシングルプロセスモデルを超え、大規模な環境でも対応可能な分散アーキテクチャを採用している。これにより、複数のデータセンターやクラスタ間でのメトリクスの集中管理が可能となっている。
k6
Grafana k6 is an open-source, developer-friendly, and extensible load testing tool.
拡張可能な負荷テストツール。アプリケーション、インフラ信頼性、パフォーマンスなどをテストし、エラーやSLO違反を防止できる。スパイクテスト・ストレス テスト・ソークテストなどの高負荷パフォーマンステストが実行可能。
ブラウザAPIなどもあり、最小限の負荷で頻繁にテストを実行するようにスケジュールを設定し、実稼働環境のパフォーマンスと可用性を継続的に検証できる。
k6 Studio
Desktop application for Mac and Windows designed to help you generate k6 test scripts
k6 テストスクリプトを生成およびカスタマイズするために生まれたデスクトップアプリ。k6スクリプトをテストおよびデバッグすることもできる。
OnCall
Grafana OnCall allows you to automate alert routing and escalation to ensure swift resolution and service reliability.
オンコール対応を効率的に管理するためのツール。システム監視ツールから通知されたアラートが事前に設定された基準値を超えた際に、自動的に運用担当者に対してSMSやチャットツールを通じて通知を行う。
GrafanaやPrometheusはもちろん、 Datadog、New Relic、AWS SNS、AlertManager、Zabbixなどに対応。IF文形式で条件設定ができる。
Pyroscope
Grafana Pyroscope is an open source software project for aggregating continuous profiling data.
継続的プロファイリングツール。アプリケーションのパフォーマンス監視や最適化を行うために設計されている。CPU使用率、関数の呼び出し頻度や実行時間などのリソース消費をリアルタイムで分析できる「プロファイリング」を進化させたもので、「継続的プロファイリング」という時間的な視点が加えられている。
システムのリソース使用状況を長期的に追跡し、パフォーマンスのボトルネックやメモリリークの発見、コードの最適化をサポートする。
おわりに
全部使ってみたわけではなく、ピャッとさらっただけなのでもしかしたら間違えているかもしれません。ざっと調べてみて管理、監視などのものが多いという印象を受けました。
Discussion