1. はじめに
近年、ITシステムの複雑化と大規模化が急速に進み、クラウドネイティブアーキテクチャ、マイクロサービス、コンテナ技術の普及により、システムの構成要素の増加に伴って、その相互依存関係も複雑化しています。
このような複雑なシステム環境下では、システムの状態を正確にモニタリングし、問題を迅速に特定・解決することが、ビジネスの安定性や継続性、さらには顧客満足度の維持向上に不可欠となります。
そこで注目を集めているのが「オブザーバビリティ(Observability)」という概念です。オブザーバビリティとは、システムの内部状態を外部から観測可能にする能力を指すもので、可観測性とも呼ばれます。
オブザーバビリティの重要性が高まっている背景には、複雑なシステムを可視化したいという期待だけでなく、目まぐるしい市場変化の中でユーザ行動を予測することや、開発と運用をシームレスに融合するDevOps体制の推進に役立てたいというニーズもあります。
オブザーバビリティを高めることで、システムの可視性を高めて問題の根本原因を迅速に特定し、パフォーマンス最適化やビジネス継続性にアプローチすることができます。
本稿では、オブザーバビリティの概念と重要性、主要な構成要素、代表的なツールとその特徴、導入のポイント、そして実際の導入事例について詳しく解説します。
2. オブザーバビリティとは、従来の監視との違い
オブザーバビリティ(Observability)は可観測性とも呼ばれ、システムの状態を人間が理解しやすい形式で可視化し、問題の原因や場所を特定することはもちろん、ユーザ行動の把握などにも応用されています。
この概念は、複雑化するITシステムにおいて、従来の単なる監視を超える高度なアプローチとして注目を集めており、巨大なシステムを持つ大企業のみならず、小規模なアプリケーションを運用する多くの企業でも急激に導入が進んでいます。
オブザーバビリティの本質は、「何が起きたかを見続けること」ではなく、「なぜそれが起きたかを探り出すこと」にあり、システムの振る舞いを深く理解し、予期せぬ問題にも柔軟に対応できるようにすることが目的です。
オブザーバビリティは、主に「オブザーバビリティの3つの柱」と呼ばれる以下の3要素で構成されています。
メトリクス:システムのパフォーマンスや状態を数値化したデータ
ログ:システムやアプリケーションが生成する詳細な記録
トレース:リクエストがシステム内をどのように通過したかを追跡するデータ
これらのデータを収集、分析、可視化することで、システムの全体像を把握し、問題の根本原因を特定することが可能になります。
また、オブザーバビリティと従来の監視(モニタリング)には、以下のような違いがあります。
範囲:監視が既知の問題や指標に焦点を当てるのに対し、オブザーバビリティは未知の問題も含めたシステム全体の状態を把握します。
アプローチ:監視が事前に定義された閾値や条件に基づくのに対し、オブザーバビリティは柔軟な探索的アプローチを取ります。
目的:監視が異常の検知を主な目的とするのに対し、オブザーバビリティは問題の根本原因の特定と解決を目指します。
従来の監視は、あらかじめ想定されるシナリオに基づいてユーザークリティカルな問題を検知するために使われ、アラートを受けてから周辺調査を開始するという流れが一般的でした。
オブザーバビリティの向上が進むと、よりシステム全体が網羅的に可視化され、システムのどこで何が起こっているかを人間が把握できるようになるため、問題発生を未然に防ぐことや、未知の問題に対する対応速度が向上するなどの効果が期待できます。
3. 代表的なオブザーバビリティツールと機能の特徴
オブザーバビリティの重要性が高まる中、多くのツールが開発されています。ここでは、代表的なオブザーバビリティツールとその特徴を紹介します。
Prometheus
オープンソースの監視・アラートシステムですで、主にメトリクスの収集と分析に利用されています。主な特徴は、多次元データモデルや柔軟なクエリ言語(PromQL)の利用、プル型のメトリクス収集、サービスディスカバリーのサポートなどで、特にKubernetesと相性が良いことから、コンテナ環境の監視に採用される例が多くあります。alertmanagerやblackbox exporter等のツールを併用して、外形監視やアラート連携も可能となっています。
Grafana
データの可視化とダッシュボード作成に特化したツールで、様々なデータソースと連携可能であり、Prometheusとの組み合わせが一般的です。主な特徴は、豊富なグラフ表現やアラート機能、プラグインによる拡張性、複数のデータソースの統合が可能であることです。
Elastic Stack (ELK)
Elasticsearch、Logstash、Kibanaの組み合わせで、主にログ分析などに多く利用されます。主な特徴は、大量のログデータの収集と分析、リアルタイム検索、機械学習による異常検知、柔軟なデータ可視化などがあります。
Datadog
クラウドスケールの監視サービスを提供するAll-in-oneの商用監視プラットフォームで、インフラからアプリケーションまで一元的に可視化するダッシュボードを作成できます。インフラ監視だけでなく、APM(Application Performance Monitoring)やRUM(Realtime User Monitoring)にも強みがあり、システムやユーザのリアルタイム状況や行動傾向を分析することが可能です。
DataDogは多様なエージェントを提供しており、オンプレミス/クラウドサーバ/アプリ/
サーバレスなど様々なコンポーネントからデータを簡単に収集することができます。
また、エージェントレスで外形監視やアラート連携が可能なことや、強力な統合機能で、ログ/トレース/メトリクスを1画面内に関連付けて表示するなど、問題発生時の対応時の分析を強力にサポートできる機能もあります。
最近ではAIによる異常検知も利用できるなど、機能のアップデートも日々進んでいます。
New Relic
アプリケーションパフォーマンス監視(APM)に強みを持つ商用監視プラットフォームで、インフラからアプリまでを一元的にモニタリングすることができるAii-in-Oneのツールです。
DataDogがインフラ監視からサービスをスタートさせたのに対し、NewRelicはAPM監視からサービスを開始しており、特にアプリケーションレイヤのモニタリングに強みを持つとされています。
DataDogとほぼ同様の機能を備えており、デフォルトのダッシュボードが充実していることや、ユーザ数に応じた課金体系などが特徴です。
これらのツールは、それぞれに強みを持っており、組織のニーズや既存のインフラストラクチャに応じて選択することが重要です。
オブザーバビリティツールの選択と導入には、組織の規模、技術スタック、予算、運用チームのスキルセットなどを考慮する必要があり、OSSと商用ソリューションのトレードオフを慎重に検討することも重要です。
4. オブザーバビリティツール導入のポイント
オブザーバビリティツールを効果的に導入するためには、以下のポイントに注意する必要があります。
段階的な導入
オブザーバビリティツールの導入は、一度にすべてのシステムに適用するのではなく、段階的に進めることが賢明です。まずは小規模なプロジェクトや特定のチームから始め、そこで得られた知見や経験を基に、徐々に導入範囲を拡大していくアプローチが効果的です。これにより、リスクを最小限に抑えつつ、組織全体でのナレッジの蓄積が可能になります。
専門チームの組織
オブザーバビリティの導入は、開発、運用、セキュリティなど、複数の部門にまたがる取り組みであり、専門知識を持ったチームや組織が活用をリードすることが求められます。SRE(サイトリライアビリティエンジニアリング)と呼ばれるインフラ構築やシステム運用の高度な技術知識を持つ専門チームは、オブザーバビリティツールの導入や活用をリードします。
※SREの役割:SREはSite Reliability Engineering の略で、サービスを信頼性高く運用していくために必要な高度な技術知識を持った組織やチームを指します。SREチームは、インフラやアプリケーション基盤に得意領域を持つエンジニアを擁することが多く、k8s環境の構築や要件に応じた高度なカスタマイズ、運用自動化を推進し、アプリケーションの信頼性を高めるためのツールやプロセスを整備することが求められます。SREチームの技術的なリードによって開発チームは運用に関する負担を軽減でき、より迅速なサービス提供に集中することができます。
sreakeで活躍するエンジニアが以下でSREについて詳細に解説していますので、ぜひご覧ください。
明確な目標設定
オブザーバビリティツールを導入する前に、組織が達成したい具体的な目標を明確にすることが重要です。例えば、システムの障害検知時間の短縮、ユーザー体験の向上、運用コストの削減などが考えられます。目標を明確にすることで、適切なツールの選択や効果的な導入戦略の立案が可能になります。SLAやSLOに代表されるシステムの目標値などは、ビジネス部門や開発チームに加えて、前述のSREチームなど高度なシステム知識を持つチームが検討に加わって設定します。
データの統合と標準化
異なるシステムやアプリケーションから収集されるデータを効果的に活用するためには、データの統合と標準化が不可欠です。共通のデータフォーマットやタグ付けルールを定義し、一元的な分析が可能な環境を整備することで、システム全体の可視性が向上します。
継続的な改善とフィードバック
オブザーバビリティツールの導入は、一度で完了するものではありません。導入後も継続的に効果を測定し、フィードバックを収集して改善を重ねていくことが重要です。定期的なレビューや、ユーザーからのフィードバックを基に、ツールの設定や使用方法を最適化していくことで、長期的な価値を最大化できます。
これらのポイントを押さえることで、オブザーバビリティツールの導入をより効果的に進め、組織全体のシステム運用の質を向上させることができます。
5. オブザーバビリティツールの導入事例
オブザーバビリティツールの導入により、多くの企業がシステム運用の効率化と問題解決の迅速化を実現しています。以下に、代表的な導入事例をご紹介します。
DataDog事例
大日本印刷では、マルチクラウドで構築されるシステムのオブザーバビリティツールにDataDogを活用しています。従来はデータがクラウドを跨いで分散しており、手動で収集して繋ぎ合わせていましたがが、Datadogが各クラウドベンダのデータを自動収集することにより、障害対応の手間と時間の大幅な削減や、対応時間の劇的な短縮を実現していると報告されています。システム部門で利用を開始したオブザーバビリティツールの効果が高く評価され、今後は事業部門や経営層などがビジネスに寄与する意思決定に有益なデータを提供するなど、DNPのデジタル変革の加速に繋げていく構想も掲げています。
NewRelic事例
朝日新聞社は、ニュースサイト「朝日新聞デジタル」のユーザー体験とサービス品質の維持・向上を目的にNew Relicを導入し、マイクロサービス化を進めるシステムのサービスレベル目標(SLO)達成度の可視化と問題解決迅速化に活用しています。
朝日新聞社では、アジャイル開発体制で多くのスクラムチームがマイクロサービスアプリケーションを開発しており、今後さらにサービス数が増えて複雑化していけば、システムの全容を人間の力だけで把握して問題対処するのは不可能だと考え、システム全体を可視化できるオブザーバビリティソリューションの導入を決定しました。
現在はSLIとして定めた値をもとにNew Relicによるアラートを設定し、サービスレベルの低下が認められた際には迅速に関係各所に通知することで即座に対処可能な体制を敷いており、サービス品質が高いレベルで維持されるようになったと報告されています。
6. Sreakeでできること
スリーシェイクは複雑なマイクロサービスアプリケーションやクラウドネイティブシステムに関する高度な技術知識を持ったエンジニアを多数擁し、PrometheusやDataDogを始めとする各種オブザーバビリティツールの導入コンサルティングから実装まで幅広くご支援することが可能です。
スリーシェイクが提供するSREコンサルティングサービスであるSreake(スリーク)では、オブザーバビリティの導入と合わせてご要望されることが多いクラウドネイティブシステムの設計・構築スキルを持ったエンジニアやアーキテクトも多数在籍し、高度なクラウド利用に関する技術支援も行なっています。
さらに、これまで多様な業界の多くのお客様に対し、オブザーバビリティの効果を最大限に活かすための高度な専門組織であるSREの立ち上げ支援も実施しております。
オブザーバビリティ、SREに関するコンサルティング、さまざまな運用自動化ツールの導入など、お客様のDXに関する取り組みを全般的にご支援しています。
ご質問やご相談がございましたら、お気軽にお問い合わせください。