Splunk Observability CloudによるSplunk RUMの監視

Observability Akila Balasubramanian

私は、Splunk Real User Monitoring (RUM)チームのプリンシパルエンジニアとして、SLA(サービスレベル契約)やSLO(サービスレベル目標)の測定と監視に従事しています。そのため、サービスを測定、可視化、およびトラブルシューティングするために、オブザーバビリティが欠かせません。SplunkのSLAでは、サービスの可用性を99.9%保証しています。Splunkのアプリケーションの複雑さも最新のアプリケーションと同様です。これらは、さまざまなマイクロサービスからのリクエストのオーケストレーションを行う共有のGraphQLサーバーに支えられたマイクロフロントエンドです。お客様のAppから毎分約8億5千万ものスパンが取り込みパイプラインに取り込まれ、下流工程でタイムリーに処理されて、UIアプリケーションを通じてお客様にインサイトが提供されます。優れたユーザーエクスペリエンスを提供できるかどうかは、これらがスムーズに実行できるかどうかにかかっています。SplunkがSLAとSLOを遵守するには、違反の発生時に速やかにアラートを受け取り、すぐに是正措置を講じられるようにする必要があります。

このブログでは、私たちのチームがSplunk Observability Cloudを使用して、本番環境で発生した重大インシデントをどのように検出して、わずかな時間で根本原因を分析したかについて紹介します。

アプリケーションダッシュボードがユーザーに表示されない。至急解決せよ!

緊急事態発生

インシデントが検出され、オンコールエンジニアは2つのソースからアラートを受け取りました。

1. GraphQLエラーを検出するRUMディテクターが、GraphQLリクエストの失敗数がしきい値を超えたことを知らせるアラートを生成しました。

RUM GraphQLエラーの数が指定のしきい値を超えたため、RUMディテクターによってアラートが生成された RUM GraphQLエラーの数が指定のしきい値を超えたため、RUMディテクターによってアラートが生成された

2. Splunk Syntheticsに設定された、RUM UIを定期的にテストするリアルブラウザチェックが3回連続失敗した後に、アラートが生成されました。

リアルブラウザチェックが3回連続失敗し、Splunk Syntheticsからアラートを受け取った リアルブラウザチェックが3回連続失敗し、Splunk Syntheticsからアラートを受け取った

アラートには、実際の問題がどのようなものであるかを理解するのに必要な、以下のような情報が含まれていました。

また、失敗したテストをSplunk Syntheticsで詳しく調査したことで、その実行のためにトリガーされたブラウザリクエストを可視化して確認することができました。これによって、その実行のすべてのGraphQLリクエストがレスポンスコード403で失敗したことが明らかになりました。

Splunk Syntheticsに表示された、失敗したブラウザリクエスト Splunk Syntheticsに表示された、失敗したブラウザリクエスト

影響の評価

次のステップは問題の規模を特定して、お客様向けのステータスページの情報を更新することでした。直ちにSplunk RUMのTag Spotlightに切り替えて、GraphQLエンドポイントでのエラー数の集計情報を簡単に表示することができました。これを行うために生データを調査したり複雑なクエリーを作成したりする必要はありませんでした。Tag Spotlightからは、環境、HTTPステータスコード、アプリケーションなどの複数のディメンションにわたるエラーの詳細な分析情報が提供されたため、他の本番環境は安定しており、問題が実際にus1環境固有のものであることが確認できました。

「us1」環境におけるGraphQL APIコールの403エラーが表示されている、Splunk RUMのTag Spotlight 「us1」環境におけるGraphQL APIコールの403エラーが表示されている、Splunk RUMのTag Spotlight

根本原因の特定

差し迫った問題は、GraphQLサーバーに何が起こっているのかを突き止めることです。次のような疑問への答えを見つけ出す必要があります。

バックエンドサービスの全体像を掴むために、Splunk APMの依存関係マップを開いて、共有のGraphQLサーバーの上流から下流に至るすべてのサービスを確認しました。その結果、問題があるのは共有内部ゲートウェイサービスであり、GraphQLサーバーではないことがすぐに判明しました。

GraphQLサーバーの上流にある共有ゲートウェイサービスのエラーを示すSplunk APMの依存関係マップ GraphQLサーバーの上流にある共有ゲートウェイサービスのエラーを示すSplunk APMの依存関係マップ

さらにSplunk APMには、403 Forbiddenのエラーを返していたゲートウェイの特定コンポーネントの情報を得るためのサンプルトレースが表示されました。このサンプルトレースが大いに役立ち、この問題を内部ゲートウェイサービスの担当チームにエスカレーションすることができたため、干し草の山から針を探すような作業をする必要はありませんでした。

403エラーに該当するトレースを表示しているSplunk APMのトレースビュー 403エラーに該当するトレースを表示しているSplunk APMのトレースビュー

修正が完了し正常稼動に復帰

私たちは内部ゲートウェイサービスの担当チームと協力して、まずは一時的な対策を優先的に講じることができました。対策を展開した後は、インシデントが完全に解決したかどうかをSplunk Observability Cloudで検証することもできました。

Splunk Syntheticsでは、修正の展開後にus1でのテストが成功したことが示されました。

修正の展開後にテストが成功したことを示すSplunk Synthetics 修正の展開後にテストが成功したことを示すSplunk Synthetics

Splunk RUMのTag Spotlightページでは、/rumのすべてのGraphQLリクエストについて、HTTPステータスコード200のみがレポートされるようになりました。これで一安心です。

問題解決後、Splunk RUMのTag SpotlightではすべてのGraphQLリクエストについてHTTPステータスコード200が表示される 問題解決後、Splunk RUMのTag SpotlightではすべてのGraphQLリクエストについてHTTPステータスコード200が表示される

オブザーバビリティでSLAとSLOを達成

私たちエンジニアリングチームは、実際にお客様が使用する製品のオーナーであり、本番環境に新機能や機能強化を頻繁にデプロイしているため、Splunk Observability Cloudを使ってアプリケーションを監視するためのいくつかの方策を講じています。以下の方策への投資には大きな効果があり、SLAとSLOの達成に役立ちました。

今後の開発のための教訓、改善、ガイドとなるオブザーバビリティ

オブザーバビリティへの取り組みに着手したことで非常に良かったのは、自分たちのアプリケーションの重要な側面に焦点を絞って小規模から開始し、本番環境の調査と監視を行う中で方法を学び、改善していくことができた点です。改善の努力を積み重ねていくことで、新たな価値がもたらされ、システムのアーキテクチャ、健全性、パフォーマンスについての包括的な理解を徐々に獲得しながら、その知識を共有することができました。

また、Splunk Observability Cloudのオブザーバビリティ機能により、インシデント事後レビューの精度を高めることもできました。これは、サイロ化した個々のソースからのイベントをつなぎ合わせるのではなく、記録されたシステムの動作をすべての関係者がリアルタイムで確認できるためです。このデータドリブンなガイダンスのおかげで、チームはインシデントの発生原因を理解し、将来のインシデントに対してより効果的な防止策と対応策を立てることができました。

データドリブンなチームを作り、パフォーマンスと生産性を最適化することに興味をお持ちでしたら、今すぐSplunk Observability Cloudを試してみることをお勧めします。

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

関連記事

Splunk APMのBusiness Workflowsを活用してビジネスKPIを改善する
オブザーバビリティ
7 分程度

Splunk APMのBusiness Workflowsを活用してビジネスKPIを改善する

Splunk APMのBusiness Workflowsを活用すれば、DevOpsチームはアプリケーションパフォーマンスをビジネスKPIと関連付け、重要なビジネスメトリクスをリアルタイムで可視化して、リーダーに明示できます。
クラウドネイティブ/ハイブリッドアプリケーションとビジネストランザクションをObservability Cloud APMで監視
オブザーバビリティ
6 分程度

クラウドネイティブ/ハイブリッドアプリケーションとビジネストランザクションをObservability Cloud APMで監視

クラウドネイティブアプリケーションのAPMを強化し、ハイブリッド環境のサポートを拡張するSplunk Observability Cloudの新機能をご紹介します。
2025年のオブザーバビリティの現状調査から、テレメトリデータがビジネスの促進要因になっている理由が明らかに
オブザーバビリティ
4 分程度

2025年のオブザーバビリティの現状調査から、テレメトリデータがビジネスの促進要因になっている理由が明らかに

オブザーバビリティの進化を探るため、Splunkは1,855人のIT運用担当者とエンジニアにアンケートを行い、調査結果を最新レポート『2025年のオブザーバビリティの現状:ビジネスの新たな促進要因の登場』にまとめました。