
AlloyにOpenTelemetryエンジンがネイティブ統合:2つの世界の「いいとこ取り」が可能に
Grafanaでは、メトリクス、ログ、トレース、そしてプロファイルの転送における新たな統一標準として急速に普及しているOpenTelemetryを強力に推進しています。OpenTelemetryは、当社の人気テレメトリエージェントであるGrafana Alloyにとっても不可欠なコンポーネントですが、一方で、より標準仕様のOpenTelemetry体験を好むユーザーがいることも認識しています。
そのため、v1.14.0より、Grafana Alloyに試験的なOpenTelemetry engineが搭載されました。これにより、標準的なアップストリームのコレクターYAMLを使用してGrafana Alloyを構成し、組み込みのコレクターディストリビューションを実行できるようになります。この機能はオプトイン方式であり、完全な後方互換性が保たれているため、OpenTelemetry engineを有効にしない限り、既存のGrafana Alloyの設定が変更されることはありません。
これは、Grafana AlloyをよりOpenTelemetryネイティブにし、Grafana Alloyが提供する既存の利点に加えて、OpenTelemetry標準の恩恵と信頼性をユーザーが確実に享受できるようにするための、数あるステップの第一歩です。
用語について
今回のアップデートに伴い、今後Grafana Alloyをコレクターとして言及する際に使用する新しい用語を導入します。本記事に登場する主な用語の定義は以下の通りです。
- Engine(エンジン): コンポーネントやパイプラインをインスタンス化するランタイム。Grafana Alloyは現在、デフォルト(既存)エンジンとOpenTelemetry engineの2つのエンジンを搭載しています。
- Alloy config syntax: 既存のGrafana Alloyネイティブな設定形式(多くのGrafana Alloyユーザーがすでに慣れ親しんでいるもの)。
- Collector YAML: OpenTelemetry engineで使用される、アップストリームのOpenTelemetry Collectorの設定形式。
- Alloy engine extension: OpenTelemetryランタイムの実行中に、Grafana Alloyのコンポーネントを利用可能にするカスタム拡張機能。
このアップデートの重要性
約2年前にGrafana Alloyをリリースして以来、Prometheusネイティブな機能と、成長を続けるOpenTelemetryエコシステムへのサポートを組み合わせてきました。Grafana Alloyは、実績のあるPrometheusのワークフローをベースに、パフォーマンスが最適化され、Grafanaのオブザーバビリティスタックと緊密に統合し、厳選したコンポーネントを提供しています。
現在、Grafana Alloyは、Prometheusネイティブなコンポーネントとともに、幅広いアップストリームのOpenTelemetry Collectorコンポーネントをパッケージ化して提供しており、オープン標準とプロダクション環境向けの強化機能を融合させたディストリビューションとなっています。
OpenTelemetry engineは、より広範なアップストリームのOpenTelemetry Collectorコンポーネントを利用可能にし、Grafana AlloyがネイティブなOpenTelemetryパイプラインをエンドツーエンドで実行できるようにすることで、この基盤をさらに拡張します。
新しいエンジンでは、標準的なOpenTelemetry Collector YAMLを使用してパイプラインが定義されるため、チームはアップストリームのコレクターと同じ形式とセマンティクスを使用してGrafana Alloyを構成できます。これにより、既存の設定の再利用や環境を跨いだポータビリティの維持が容易になり、同時にGrafana Alloyの運用上の強みやGrafana Cloudとの連携機能も引き続き活用できます。
さらに、既存のGrafana Alloyの設定に変更を加えることなく、この新しいエンジンをテストすることが可能です。
今回のリリースに含まれるもの
試験的なOpenTelemetry engineは、Grafana Alloy CLIの新しいotelサブコマンドを通じて提供されるため、新しいエンジンを直接呼び出すことができます。また、最初のリリースの一部としてAlloy engine extensionも提供されます。
この拡張機能を使用すると、OpenTelemetry engineパイプラインを定義するCollector YAMLに加えて、Alloy config syntaxを使用してデフォルトエンジンのパイプラインを指定できます。これにより、単一のGrafana Alloyインスタンス内で2つの独立したパイプラインを並行して実行できるようになります。その結果、OpenTelemetry engineの機能を試すために既存のワークロードを停止したり移行したりする必要はなく、両方のエンジンを並行稼働させることが可能です。
この最初の試験的リリースでは、OpenTelemetryランタイムの体験とコアとなる拡張機能の提供に焦点を当てています。今後のアップデートでは、2つのエンジン間での明確な移行パスを提供するため、運用面でのパリティ(同等性)の向上を優先的に進めていく予定です。
既存のGrafana Alloyユーザーへの影響
オプトインしない限り、何も変わりません。
現在のGrafana Alloyのデプロイメントとワークフローは、今日のまま維持されます。試してみたい場合は、開始方法の例をこちらから確認できます。すでにデフォルトエンジンでワークロードを実行している場合は、Alloy engine extensionを活用して、デフォルトエンジンのパイプラインと並行してOpenTelemetry engineベースのパイプラインをセットアップすることもできます。
また、PrometheusメトリクスでGrafana Alloyを使用している場合は、引き続きデフォルトエンジンでクラス最高のサポートを利用できます。
形式や動作の標準化を進めている間、デフォルトのポートやログ形式がエンジン間で若干異なる場合があります。
ロードマップと今後の展望
Fleet Management(フリート管理)やサポートヘルパーなどの領域を含め、2つのエンジンの機能と安定性を近づけるよう取り組んでいます。これにより、お客様がどちらのエンジンを選択しても一貫した運用体験を得られるようにします。
初期ユーザーからの、プロダクション環境への導入に必要なコンポーネントや動作に関するフィードバックを歓迎します。皆様の意見が今後の方向性を決定づけます。問題が発生した場合や質問がある場合は、Grafana Alloyのリポジトリに「opentelemetry engine」ラベルを付けて Issue を送信してください。
この機能を皆様にお届けし、フィードバックをもとに改善していけることを楽しみにしています。ぜひお試しいただき、必要な機能をお聞かせください。エンジンをプロダクション対応にするためのご協力をお願いいたします。
Grafana Cloudは、メトリクス、ログ、トレース、ダッシュボードなどを始める最も簡単な方法です。私たちは、充実した永久無料枠と、あらゆるユースケース向けのプランを用意しています。今すぐ無料でアカウントを作成しましょう!