OpenTelemetry、自動インストルメンテーション、Splunk Observability Cloudの活用促進

Observability Jeremy Hicks

OpenTelemetryの活用法や、アプリケーションとサービスで収集できるすべてのテレメトリを統合する方法を学びたいと思ったことはありますか?実践的に学びたい場合は、OpenTelemetryとSplunk Observability Cloudを使うと便利です。以下のデモとガイドを活用すると、OpenTelemetryの自動インストルメンテーションとOpenTelemetry Collectorについて自分のペースですばやく学べます。

Splunk Observability Cloudの統合環境で利用できるHipster Shop Guided Example 図1-1. Splunk Observability Cloudの統合環境で利用できるHipster Shop Guided Example

テレメトリ、監視、オブザーバビリティで問題を解決

OpenTelemetryを使ってアプリケーションやサービスを自動インストルメントするのは簡単です。アプリケーション本体、設定ファイル、またはビルドパイプラインに少し変更を加えるだけです。パイプラインの場合は、サポートライブラリを取り込み、環境変数を挿入するようにプロセスを変更します。これにより、Jenkinsパイプラインを監視することもできます。これは、ソフトウェア開発ライフサイクルの可視化と、カスタマーエクスペリエンスの低下防止に役立ちます。

既存のアプリケーションの自動インストルメンテーションも簡単です。Node.jsアプリケーションの場合、ローカルでOpenTelemetry Collectorが実行されていれば、npm起動スクリプトでsplunk-otel-jsライブラリを取り込んでインスタンス化するように変更するだけです。まずは、既存のアプリケーションを変更するか、空のExpress.jsプロジェクトから始めるとよいでしょう。空のプロジェクトを使用する場合は、package.jsonに自動インストルメンテーションのコードを追加するだけです。Splunk Observability Cloudにテレメトリを直接送信するCollectorを使用しない場合は、環境変数をいくつか追加する方法もあります。

テレメトリをローカルのOpenTelemetry Collector経由でSplunk Observability Cloudに送信する設定の例 図1-2. テレメトリをローカルのOpenTelemetry Collector経由でSplunk Observability Cloudに送信する設定の例

Splunk Observability Cloudでのアプリケーションパフォーマンス監視とリアルユーザー監視

OpenTelemetryを使ってアプリケーションのインストルメンテーションと設定を行うと、Hipster Shopを実行するKubernetesクラスターからのメトリクスがCollector経由でSplunk Observability Cloudに送信されます。さっそく確認してみましょう。ログイン後、[APM Overview] (APMの概要)内をクリックすると、テレメトリ、インサイト、インテグレーションがすべて連携しているのがわかります。

新しいトライアルライセンスを有効にしたSplunk Observability Cloudの画面 図1-3. 新しいトライアルライセンスを有効にしたSplunk Observability Cloudの画面

サービスマップでは、サービスとアプリケーションの分散トレースを調査できます。デモ用マイクロサービスのWebサイトで操作を行うと、サービスマップに表示されるトレースが広がります。状態を観察するだけであれば、Hipster Shopデモとともに提供されるトラフィック生成ツールを使って負荷生成を自動化することもできます。

OpenTelemetry Collectorによるサービスマップ 図1-4. Splunk Observability Cloud -> APM -> Explore:OpenTelemetry Collectorによるサービスマップ

Kubernetesでマイクロサービスデモやその他のサービスを実行している場合は、Splunk Observability Cloudのインフラ監視画面でインフラの状況を確認できます。下の画像は、Splunkが提供するHelmチャートとともに導入されるOpenTelemetry Collectorのクラスターマップの例です。

OpenTelemetry Collectorによるクラスターマップ 図1-5. Splunk Observability Cloud -> Infrastructure -> Kubernetes:OpenTelemetry Collectorによるクラスターマップ

Webアプリケーションでの実際のユーザーエクスペリエンスを確認したい場合は、Splunk Observability Cloudのリアルユーザー監視(RUM)セクションに移動します。RUMサービスダッシュボードには、LCP (最も大きいコンテンツが表示されるまでの時間)、CLS (レイアウトのずれの累積量)、FID (最初のユーザー操作に対する反応時間)、TTFB (最初の1バイトを送信するまでの時間)、JavaScript/ネットワークエラー数、バックエンド/リソースリクエストの処理時間など、主要なメトリクスが表示されます。また、Splunk Synthetic Monitoringでプロアクティブな監視を行えば、サポートチケットを受け取る前にカスタマーエクスペリエンスの低下を検出できます(注:Splunk Synthetic Monitoringは現時点でトライアル版には含まれません)。

オブザーバビリティで監視を強化して安心を手に入れる

以上のように、OpenTelemetryによるアプリケーションの自動インストルメンテーションと、ローカルOpenTelemetry Collectorの導入と設定は簡単に行うことができます。それが完了すれば、フロントエンドからバックエンドまでサービスとアプリケーションをプロアクティブに監視し、必要に応じてアラートを生成して、問題にすばやく対応できます。オブザーバビリティ、OpenTelemetry、Splunk Observability Cloudを組み合わせれば、DevOpsチーム、DevSecOpsチーム、運用チーム、経営幹部の連携を強化できます。

このブログでは以下のテクニックをご紹介しました。

次のステップ

SplunkとOpenTelemetryの自動インストルメンテーションでアプリケーションとサービスの監視を始めましょう。SplunkとOpenTelemetryの機能を活用すれば、継続的デリバリー、セキュリティ、バージョン/プロセス管理にオブザーバビリティを組み込んで、ソフトウェアデリバリーのパフォーマンスを向上させることができます。また、Splunk Real User Monitoringで問題にプロアクティブに対応することで、カスタマーエクスペリエンスの低下を防ぎ、顧客満足度を向上させることもできます。サービスとアプリケーションのインストルメンテーションを実現すれば、より的確な意思決定を行い、より多くの課題を探って解決策を見つけ出し、ビジネス価値の向上につなげることができるでしょう。Splunk Observability Cloud製品スイートの無料トライアル版で、ほぼリアルタイムでのインフラの健全性監視と本番環境のボトルネック検出をぜひご体験ください!

このブログはこちらの英語ブログの翻訳、加藤 教克によるレビューです。

このブログ記事はSplunkのソリューションイノベーションエンジニアであるAdam Schalockが執筆しました。また、協力いただいた同僚のJeremy Hicksに感謝申し上げます。

関連記事

ネットワークとサービスのインテリジェンスが現代のインシデント対応戦略に欠かせない理由:パート1
オブザーバビリティ
4 分程度

ネットワークとサービスのインテリジェンスが現代のインシデント対応戦略に欠かせない理由:パート1

現代のインシデント対応では、スピードだけでなくスマートさが重要になります。MTTRを短縮し、問題の優先順位を適切に決定し、複雑化するIT環境をスムーズに管理する上で、ネットワークとサービスのコンテキストを関連付けることが不可欠である理由についてご説明します。
外形監視とは?
オブザーバビリティ
13 分程度

外形監視とは?

外形監視の目標は、組織が運用するWebサイトでユーザーが実際にどのような体験をしているかを理解することです。こちらのブログ記事では、外形監視がもたらすさまざまなメリットについて詳しくご説明します。
ネットワークは多くを語っているが、誰も聞いていない
オブザーバビリティ
8 分程度

ネットワークは多くを語っているが、誰も聞いていない

どんな障害でも、その全容を明らかにするためのデータはすでに存在しています。問題は、ネットワーク全体を横断的に把握できる包括的な可視性がないのです。Splunk ITSIは、あらゆるインフラ層からのテレメトリを単一のサービス健全性スコアに統合することで、この問題を解決します。