DEVOPS

Splunkが成長を後押しするOpenTelemetry

現在ではSplunkの一員となったOmnitionSignalFxでは、ベンダーに依存しないオープンソースソリューションをエンドユーザーに提供することにより、データ収集とインストルメンテーションを民主化できると信じて活動しています。この記事では、データ収集をオープンにして誰もが利用できるようにするためのプロジェクトおよびミッションの一環としてSplunkが行っているOpenTelemetryへの貢献についてご紹介します。

初期からの支援と参画

OmnitionとSignalFxは、Google社およびMicrosoft社と並んで、OpenCensusの維持管理に初期から携わり、その発展に貢献してきました。その後も、オブザーバビリティ(可観測性)データのオープンかつ柔軟なインストルメンテーションと収集機能の提供に継続的に取り組んでいます。今年はこれまでのところ、アプリケーションの分散トレースとメトリクスを捕捉するための統一標準「OpenTelemetry」を策定するコミュニティに参加しています。OpenTelemeteryは、ベンダー固有の柔軟性に欠ける重量なエージェントを使用した従来のインフラ/アプリケーション監視アプローチとは異なり、ベンダーに依存しない堅実で移植性の高い一連のAPI、ライブラリ、エージェント、コレクターサービスを介して高品質なテレメトリを提供することを目標としています。OpenTelemetryは現在、CNCFサンドボックスプロジェクトになっており、まもなく完成して、OpenTracingとOpenCensusの後継として公開される予定です。

データ収集をオープンにして誰もが利用できるようにすることは、Splunkが掲げる主要ミッションの1つです。SplunkはOpenTelemetryを新しい標準として100%支持しています。OpenTelemetryはエンドユーザーに、アプリケーション開発に使用する言語の柔軟性をもたらし、避けられないインシデントやエラーを監視、分析、解消するためのオブザーバビリティバックエンドを選択する際のオプションを広げます。

Splunkのコミットメントと貢献

OpenTelemetryへのコミットメントを改めて表明するため、またOpenTelemetryをデータ収集の標準にするために、Splunkは、幅広いコミュニティでのオブザーバビリティに関する取り組みを前進させるプロジェクトに以下のような貢献をすることを決定しました。

  • OpenTelemetryへのSignalFxスマートエージェントとメトリクスゲートウェイの寄付
  • 自動インストルメンテーションエージェントへのセマンティック規則の提供
  • プロジェクトへのより多くの開発者の積極的な関与

メトリクスに関する貢献

現時点で、メトリクスはオブザーバビリティにおいて最も利用されているコンポーネントと言ってよいでしょう。メトリクスは、重要な状態の監視、インシデントのデバッグ、展開やその他の変更における問題の有無の確認に使用されます。メトリクスは成熟度が高いため、メトリクスを使用するためのフレームワークは数多く提供されています。OpenTelemety Collectorでは現在、Prometheusといくつかの基本的なホストメトリクスがサポートされています。SignalFxは、statsdやtelegrafなどの一般的なメトリクスレシーバーを含む65以上のメトリクスモニター用に、高レートのメトリクスを低いオーバーヘッドで収集できるスマートエージェントを開発しました。このスマートエージェントはさらに、DockerやKubernetesといった一般的なプラットフォームの自動検出機能も備えています。Splunkは、これらの機能をCollectorに寄付してより多くのエンドユーザーが利用できるようにするとともに、データ収集の民主化に引き続き取り組んでいく予定です。

自動インストルメンテーションに関する貢献

オブザーバビリティの最大の壁はインストルメンテーションです。この点では、ただより高いものはありません。OpenTelemetryでは、アプリケーションに手動で組み込めるクライアントライブラリを利用できますが、このアプローチでは対応できない重要なエンドユーザーシナリオがいくつかあります。新しいオブザーバビリティバックエンドを調査すると、多くの場合、既存のソリューションの制約、通常はベンダー固有の機能に阻まれて、フレームワークを簡単に変更できないことに気付くでしょう。レガシーコードベースでは新しいライブラリを組み込めないか、それが推奨されません。一方、自動インストルメンテーションでは、アプリケーションのコードを変更することなく、テレメトリを生成することによってわずかな労力でインストルメンテーションからの値をすばやく取得できます。SignalFxは、Zipkinなどのプロトコルサポートとセマンティック規則によって、オープンソースの既存の自動インストルメンテーションを強化します。これによってOpenTracingとの互換性を確保し、ベンダー依存を解消できます。Splunkは今後もOpenTelemetryでこの活動を続け、他のOpenTelemetryコミュニティと並んで自動インストルメンテーションのSIGを支援していく考えです。

OpenTelemetryコミュニティとともにオープンな未来を築く

Splunkは、OpenTelemetryの推進と健全で包括的なコミュニティの構築に取り組んでいます。前身となったCNCFプロジェクトと同様に、参加者からの声がその成果に大きな影響を与え、業界での普及の成功を左右します。Splunkは、このプロジェクトの複数のSIGに追加の人材を送り、議論に参加して目標達成に尽力する形でプロジェクトに貢献していくつもりです。しかしこれはOpenTelemetryへの貢献と協力の第一歩にすぎません。2020年1月には、SplunkによるOpenTelemetryへの貢献のロードマップを発表する予定です。

今こそ1次元的な監視から卒業する時です。オブザーバビリティでは、3つの主要なデータストリームであるメトリクス、トレース、ログを活用します。これらは一般的にオブザーバビリティの3つの柱と呼ばれ、この3つを相関付けることでアプリケーションを3次元で捉えることができます。OpenTelemetryは、ベンダーに依存しない方法でインストルメンテーションとデータ収集の統合ソリューションを実現するための最初の1歩です。

皆様からのプルリクエストをお待ちしています。:) 

P.S. SplunkとともにOpenTelemetry推進に携わりたい方は、ぜひ採用情報をご覧ください。リモートワーク体制も万全です!


OpenTelemetryについて詳しくは、https://opentelemetry.io/をご覧ください。

SignalFxのオープンソースへの貢献については、https://github.com/signalfx/をご覧ください。

ブログ関連情報

毎月1回、Splunkブログの更新情報をメールでお届けします。ぜひMonthly Digest をこちらからご登録ください

*このブログはこちらの英語ブログの翻訳です。

Constance is a Senior Software Engineer for Splunk, formerly at Omnition, contributing to OpenTelemetry with code and as a member of the governance committee. She is also Kubecon Co-Chair for the 2020 events. Previously, Constance worked at Lyft as part of the data platform and server networking teams. While at Lyft, Constance built, deployed, and configured Envoy internally, and maintained the open source project. Constance believes what makes open source projects successful are the communities and the diverse voices that join the conversation. She looks forward to collaborating with you to accelerate OpenTelemetry and build a strong community.