現在ではSplunkの一員となったOmnitionとSignalFxでは、ベンダーに依存しないオープンソースソリューションをエンドユーザーに提供することにより、データ収集とインストルメンテーションを民主化できると信じて活動しています。この記事では、データ収集をオープンにして誰もが利用できるようにするためのプロジェクトおよびミッションの一環としてSplunkが行っているOpenTelemetryへの貢献についてご紹介します。
OmnitionとSignalFxは、Google社およびMicrosoft社と並んで、OpenCensusの維持管理に初期から携わり、その発展に貢献してきました。その後も、オブザーバビリティ(可観測性)データのオープンかつ柔軟なインストルメンテーションと収集機能の提供に継続的に取り組んでいます。今年はこれまでのところ、アプリケーションの分散トレースとメトリクスを捕捉するための統一標準「OpenTelemetry」を策定するコミュニティに参加しています。OpenTelemeteryは、ベンダー固有の柔軟性に欠ける重量なエージェントを使用した従来のインフラ/アプリケーション監視アプローチとは異なり、ベンダーに依存しない堅実で移植性の高い一連のAPI、ライブラリ、エージェント、コレクターサービスを介して高品質なテレメトリを提供することを目標としています。OpenTelemetryは現在、CNCFサンドボックスプロジェクトになっており、まもなく完成して、OpenTracingとOpenCensusの後継として公開される予定です。
データ収集をオープンにして誰もが利用できるようにすることは、Splunkが掲げる主要ミッションの1つです。SplunkはOpenTelemetryを新しい標準として100%支持しています。OpenTelemetryはエンドユーザーに、アプリケーション開発に使用する言語の柔軟性をもたらし、避けられないインシデントやエラーを監視、分析、解消するためのオブザーバビリティバックエンドを選択する際のオプションを広げます。
OpenTelemetryへのコミットメントを改めて表明するため、またOpenTelemetryをデータ収集の標準にするために、Splunkは、幅広いコミュニティでのオブザーバビリティに関する取り組みを前進させるプロジェクトに以下のような貢献をすることを決定しました。
現時点で、メトリクスはオブザーバビリティにおいて最も利用されているコンポーネントと言ってよいでしょう。メトリクスは、重要な状態の監視、インシデントのデバッグ、展開やその他の変更における問題の有無の確認に使用されます。メトリクスは成熟度が高いため、メトリクスを使用するためのフレームワークは数多く提供されています。OpenTelemety Collectorでは現在、Prometheusといくつかの基本的なホストメトリクスがサポートされています。SignalFxは、statsdやtelegrafなどの一般的なメトリクスレシーバーを含む65以上のメトリクスモニター用に、高レートのメトリクスを低いオーバーヘッドで収集できるスマートエージェントを開発しました。このスマートエージェントはさらに、DockerやKubernetesといった一般的なプラットフォームの自動検出機能も備えています。Splunkは、これらの機能をCollectorに寄付してより多くのエンドユーザーが利用できるようにするとともに、データ収集の民主化に引き続き取り組んでいく予定です。
オブザーバビリティの最大の壁はインストルメンテーションです。この点では、ただより高いものはありません。OpenTelemetryでは、アプリケーションに手動で組み込めるクライアントライブラリを利用できますが、このアプローチでは対応できない重要なエンドユーザーシナリオがいくつかあります。新しいオブザーバビリティバックエンドを調査すると、多くの場合、既存のソリューションの制約、通常はベンダー固有の機能に阻まれて、フレームワークを簡単に変更できないことに気付くでしょう。レガシーコードベースでは新しいライブラリを組み込めないか、それが推奨されません。一方、自動インストルメンテーションでは、アプリケーションのコードを変更することなく、テレメトリを生成することによってわずかな労力でインストルメンテーションからの値をすばやく取得できます。SignalFxは、Zipkinなどのプロトコルサポートとセマンティック規則によって、オープンソースの既存の自動インストルメンテーションを強化します。これによってOpenTracingとの互換性を確保し、ベンダー依存を解消できます。Splunkは今後もOpenTelemetryでこの活動を続け、他のOpenTelemetryコミュニティと並んで自動インストルメンテーションのSIGを支援していく考えです。
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 をこちらからご登録ください!
*このブログはこちらの英語ブログの翻訳です。
Splunkプラットフォームは、データを行動へとつなげる際に立ちはだかる障壁を取り除いて、オブザーバビリティチーム、IT運用チーム、セキュリティチームの能力を引き出し、組織のセキュリティ、レジリエンス(回復力)、イノベーションを強化します。
Splunkは、2003年に設立され、世界の21の地域で事業を展開し、7,500人以上の従業員が働くグローバル企業です。取得した特許数は1,020を超え、あらゆる環境間でデータを共有できるオープンで拡張性の高いプラットフォームを提供しています。Splunkプラットフォームを使用すれば、組織内のすべてのサービス間通信やビジネスプロセスをエンドツーエンドで可視化し、コンテキストに基づいて状況を把握できます。Splunkなら、強力なデータ基盤の構築が可能です。