概要
オブザーバビリティとは?
オブザーバビリティとは、システムの外部出力データからその内部状態を推測する能力を指します。オブザーバビリティプラットフォームは、Logs、Traces、Metricsという3つのコアデータを収集、格納、可視化します。これにより、チームが分散システムの運用状況を包括的に理解し、リソース最適化、障害予測、根本原因分析をサポートし、システム信頼性を向上させ、ユーザーエクスペリエンスを向上させます。
オブザーバビリティがますます重要になる理由
オブザーバビリティプラットフォームには、システム安定性の向上、運用効率の最適化、ビジネスイノベーションの実現に不可欠ないくつかの重要な使用例があります。
-
障害診断と根本原因分析: リアルタイム監視、異常検出、トレーシング機能により、障害の迅速な特定と分析が可能になります。例えば、金融業界では、オブザーバビリティをトランザクショントレーシングとAI技術と組み合わせることで、復旧時間を短縮し、ビジネス継続性を確保できます。また、カオスエンジニアリングをサポートして障害シナリオをシミュレートし、システムの障害耐性を検証します。
-
パフォーマンス最適化とリソース計画: システムリソース利用率と応答時間を分析することで、パフォーマンスボトルネックを特定し、構成を動的に調整します(例:ロードバランシング、オートスケーリング)。履歴データを使用してリソースニーズを予測し、クラウドリソース配分を最適化し、コストを削減できます。
-
ビジネス意思決定支援: ITパフォーマンスデータをビジネス成果(ユーザー継続率やトランザクション量など)と関連付けることで、ビジネス戦略の策定に役立ちます。例えば、ユーザーエクスペリエンス指標を分析することで、製品機能の改善を導くことができます。
-
セキュリティとコンプライアンス監視: 異常な動作(例:ゼロデイ攻撃)を検出し、自動応答をトリガーしてシステムセキュリティを向上させます。同時に、ログ監査により規制要件への準拠を確保します。
-
DevOpsコラボレーション: カナリアリリース中に、トラフィックタグ付けにより新バージョンの動作を追跡できます。コールチェーン分析と組み合わせることで、リリースの進行を通知し、開発者がコードパフォーマンスを最適化して本番インシデントを削減できます。
近年のオブザーバビリティの重要性の高まりは、主に2つの要因によって推進されています:
-
ビジネスとITシステムの複雑性の増大: クラウドコンピューティングとマイクロサービスの発展により、ビジネスシステムはますます複雑になっています。例えば、GenAIアプリケーションリクエストは、App、サービスゲートウェイ、認証サービス、請求サービス、RAGエンジン、エージェントエンジン、ベクターデータベース、ビジネスデータベース、分散キャッシュ、メッセージキュー、大規模モデルAPIなど、数十のサービスを含む可能性があります。SSHでサーバーステータスを確認したり、ログを分析したりする従来の方法は、このような複雑な環境では効果的ではありません。オブザーバビリティプラットフォームは、Log、Trace、Metricデータの収集と格納を統合し、集中的な可視化と迅速な問題調査を提供します。
-
ビジネス信頼性への高い要求: システム障害がユーザーエクスペリエンスに与える影響はますます大きくなっています。そのため、障害検出と復旧の効率がより重要になっています。オブザーバビリティは完全なデータ可視性とパノラマ分析を提供し、チームが根本原因を迅速に特定し、ダウンタイムを削減し、サービス可用性を確保できます。さらに、グローバルデータ分析と予測により、潜在的なリソースボトルネックを早期に特定し、障害が発生する前に予防できます。
オブザーバビリティソリューションの選択方法
オブザーバビリティデータには複数の特性があり、大量データの格納と分析の課題に対処することが、あらゆるオブザーバビリティソリューションの鍵となります。
-
高ストレージ容量とコスト感度: オブザーバビリティデータ、特にLogsとTracesは、通常は膨大な量で、継続的に生成されます。中規模から大規模企業では、日々のデータ生成がテラバイトやペタバイトに達することがよくあります。ビジネスや規制要件を満たすため、データは数ヶ月または数年間保存する必要があることが多く、ストレージ容量がPBやEBスケールに達し、大幅なストレージコストが発生します。時間の経過とともに、このデータの価値は低下するため、コスト効率がますます重要になります。
-
リアルタイム要件を持つ高スループット書き込み: 日次でTBまたはPBスケールのデータ取り込みを処理するには、1-10 GB/sまたは数百万から数千万レコード/秒の書き込みスループットが必要になることがよくあります。同時に、リアルタイムトラブルシューティングとセキュリティ調査の必要性により、プラットフォームはリアルタイムデータ可用性を確保するために、サブ秒の書き込み遅延をサポートする必要があります。
-
リアルタイム分析と全文検索機能: LogsとTracesには大量のテキストデータが含まれています。キーワードやフレーズの迅速な検索が不可欠です。従来の全スキャンと文字列マッチングアプローチは、特にこの規模では—特に高スループット、低遅延の取り込み条件下では—リアルタイムパフォーマンスを提供することができません。そのため、テキスト用に調整された逆インデックスの構築が、サブ秒のクエリ応答性を実現するために重要になります。
-
動的データスキーマと頻繁な拡張ニーズ: Logsは元々非構造化自由テキストログとして存在しましたが、半構造化JSON形式に発展しました。プロデューサーはJSONフィールドを頻繁に変更するため、スキーマの柔軟性が不可欠です。従来のデータベースとデータウェアハウスは、このような動的スキーマを効率的に処理するのに苦労し、datalakeシステムはストレージの柔軟性を提供しますが、リアルタイム分析パフォーマンスでは不足します。
-
複数のデータソースと分析ツールとの統合: データ収集と可視化のためのオブザーバビリティエコシステムツールが多数あります。ストレージと分析エンジンは、これらの多様なツールとシームレスに統合する必要があります。
Elasticsearch、ClickHouse、Doris、クラウドベンダーが提供するログサービスなどの選択肢がある中で、どのように選択すべきでしょうか?主要な評価基準は次の通りです:
1. パフォーマンス: 書き込みパフォーマンスとクエリパフォーマンスを含む
オブザーバビリティはトラブルシューティングなどの緊急時によく使用されるため、クエリは迅速に応答する必要があります—特にLogsとTracesのテキストコンテンツについては、反復探索をサポートするためにリアルタイム全文検索が必要です。さらに、ユーザーはニアリアルタイムデータをクエリできる必要があります—数時間または数分前のデータに制限されたクエリでは不十分で、過去数秒からの新鮮なデータが必要です。
- Elasticsearchは逆インデックスと全文検索で知られ、サブ秒の検索を提供します。ただし、高スループット書き込みに苦労し、ピーク負荷時に書き込みを拒否したり、高遅延を経験したりすることがよくあります。集約と統計分析のパフォーマンスも比較的弱いです。
- クラウドログサービスは豊富なリソースを通じて十分なパフォーマンスを提供しますが、より高いコストを伴います。
- ClickHouseは列型ストレージとベクトル化実行を使用して、高い書き込みスループットと高い集約クエリパフォーマンスを提供します。ただし、全文検索パフォーマンスはElasticsearchやDorisより数倍遅れ、実験的であり本番使用には適していません。
- Dorisは、列型ストレージとベクトル化実行を活用し、オブザーバビリティシナリオに向けて逆インデックスを最適化しています。Elasticsearchより優れたパフォーマンスを提供し、書き込みは約5倍高速で、クエリは約2倍高速です。集約パフォーマンスはElasticsearchより最大6-21倍優れています。
2. コスト: ストレージコストと計算コストを含む
オブザーバビリティデータ量は膨大で、特にLogsとTracesです。中規模から大規模企業は日次でTBまたはPBのデータを生成します。ビジネスや規制ニーズのため、データは数ヶ月または数年間保持する必要があり、ストレージ要件をPBまたはEBの範囲に押し上げます。ビジネスクリティカルなデータと比較して、オブザーバビリティデータは価値密度が低く、時間の経過とともに価値が減少するため、コスト感度が重要です。さらに、大量のデータを処理することで、相当な計算コストが発生します。
- Elasticsearchは高コストに悩まされています。そのストレージモデルは行ベースの生データ、逆インデックス、docvalue列型ストレージを組み合わせ、一般的な圧縮比は約1.5:1です。JVMとインデックス構築による高いCPUオーバーヘッドがさらに計算コストを増加させます。
- Dorisには、オブザーバビリティシナリオ向けの数多くの最適化が含まれています。Elasticsearchと比較して、総コストを50-80%削減します。これらには、簡素化された逆インデックス、ZSTD圧縮による列型ストレージ(5:1-10:1)、コールド・ホット階層ストレージ、単一レプリカ書き込み、書き込み増幅を削減するタイムシリーズ圧縮、ベクトル化インデックス構築が含まれます。
- ClickHouseは列型ストレージとベクトル化エンジンを使用し、より低いストレージと書き込みコストを提供します。
- クラウドログサービスはElasticsearchと同様に高価です。
3. オープン性: オープンソースとマルチクラウドニュートラル性を含む
オブザーバビリティプラットフォームを選択する際は、オープンソースであるかマルチクラウドニュートラルであるかなど、オープン性を考慮してください。
- ElasticsearchはElasticが維持するオープンソースプロジェクトで、複数のクラウドで利用できます。そのELKエコシステムは自己完結型で、他のエコシステムとの統合が困難です。例えば、KibanaはElasticsearchのみをサポートし、拡張が困難です。
- Dorisは主要なグローバルクラウドプロバイダーがサポートするApache トップレベルオープンソースプロジェクトです。OpenTelemetry、Grafana、ELKとよく統合され、オープン性とニュートラル性を維持しています。
- ClickHouseはClickHouse Inc.が維持するオープンソースプロジェクトで、クラウド間で利用できます。OpenTelemetryとGrafanaをサポートしていますが、オブザーバビリティ企業の買収により、将来のニュートラル性について懸念が生じています。
- クラウドログサービスはそれぞれのクラウドに縛られ、オープンソースではなく、ベンダー間で異なるため、一貫したエクスペリエンスと移行の柔軟性が制限されます。
4. 使いやすさ: 管理性と可用性を含む
データの量により、オブザーバビリティプラットフォームは通常分散アーキテクチャを採用します。デプロイメント、スケーリング、アップグレード、その他の管理タスクの容易さが、拡張性に大きく影響します。システムが提供するインターフェースが、開発者の効率とユーザーエクスペリエンスを決定します。
- ElasticsearchのKibana Web UIは非常にユーザーフレンドリーで管理しやすいです。ただし、そのDSLクエリ言語は複雑で習得が困難で、統合と開発の課題を提起します。
- DorisはKibanaに似たインタラクティブ分析インターフェースを提供し、GrafanaとKibana(近日公開)とネイティブに統合されます。そのSQLは標準でMySQL互換であり、開発者とアナリストにとってフレンドリーです。Dorisはデプロイと保守が簡単なシンプルなアーキテクチャを持ち、サービス中断なしのオンラインスケーリング、自動ロードバランシングをサポートし、ビジュアルクラスター Managerを含みます。
- ClickHouseはSQLインターフェースを提供しますが、独自の構文を使用します。ローカルテーブル vs 分散テーブルなどの公開された概念や、スケーリング中の自動リバランシングの欠如により、保守は困難です。通常、カスタムクラスター管理システムの開発が必要です。
- クラウドログサービスはSaaSの利便性を提供—ユーザーはインフラストラクチャを管理せず、使いやすさを享受できます。
上記の分析に基づいて、Dorisは低コストを維持しながら高性能の取り込みとクエリを実現しています。そのSQLインターフェースは使いやすく、そのアーキテクチャは保守とスケールが簡単です。また、複数のクラウド間で一貫したエクスペリエンスを確保し、オブザーバビリティプラットフォーム構築の最適な選択となっています。
Dorisベースのオブザーバビリティソリューション
システムアーキテクチャ
Apache Dorisは、ベクトル化実行エンジン、CBOオプティマイザー、高度なインデックス、マテリアライズドビューを統合したMPP分散アーキテクチャを持つ最新のデータウェアハウスです。大規模リアルタイムデータセットでの超高速クエリと分析をサポートし、優れた分析エクスペリエンスを提供します。継続的な技術革新により、DorisはClickBench(単一テーブル)、TPC-H、TPC-DS(複数テーブル)などの権威あるベンチマークで最上位ランキングを達成しています。
オブザーバビリティシナリオ向けに、Dorisは逆インデックスと超高速全文検索機能を導入し、最適化された書き込みパフォーマンスとストレージ効率を実現しています。これにより、ユーザーはDorisベースの高性能、低コスト、オープンなオブザーバビリティプラットフォームを構築できます。
Dorisベースのオブザーバビリティプラットフォームは、3つのコアコンポーネントで構成されています:
- データ収集と前処理: OpenTelemetryやLogstash、FilebeatなどのELKエコシステムツールを含む、さまざまなオブザーバビリティデータ収集ツールをサポートします。Log、Trace、MetricデータはHTTP API経由でDorisに取り込まれます。
- データストレージと分析エンジン: Dorisはオブザーバビリティデータの統合された高性能、低コストストレージを提供し、SQLインターフェース経由で強力な検索と分析機能を公開します。
- クエリ分析と可視化: GrafanaやKibana(ELKスタックから)などの人気のオブザーバビリティ可視化ツールと統合し、検索、分析、アラート、リアルタイム監視と迅速な応答を実現する直感的なインターフェースを提供します。

主要機能と利点
高性能
- 高スループット、低遅延書き込み: サブ秒遅延でPBスケール(10GB/s)のLog、Trace、Metricデータの日次安定取り込みをサポートします。
- 高性能逆インデックスと全文検索: 逆インデックスと全文検索をサポートし、一般的なログキーワード検索でサブ秒応答時間を提供—ClickHouseより3-10倍高速です。
- 高性能集約分析: MPP分散アーキテクチャとベクトル化パイプライン実行エンジンを利用して、Dorisはオブザーバビリティシナリオでのトレンド分析とアラートに優れ、ClickBenchテストでグローバルリードしています。
低コスト
- 高圧縮比と低コストストレージ: 5:1 – 10:1の圧縮比(インデックス含む)でPBスケールストレージをサポートし、Elasticsearchと比較してストレージコストを50-80%削減します。コールドデータはS3/HDFSにオフロードでき、ストレージコストをさらに50%削減します。
- 低コスト書き込み: 同じ書き込みスループットでElasticsearchより70%少ないCPUを消費します。
柔軟なスキーマ
- トップレベルでのスキーマ変更: ユーザーはLight Schema Changeを使用してカラムやインデックス(ADD/DROP COLUMN/INDEX)を追加または削除でき、スキーマ変更は数秒で完了できます。オブザーバビリティプラットフォームを設計する際、ユーザーは現在の段階でどのフィールドとインデックスが必要かを考慮するだけで済みます。
- 内部フィールド変更: VARIANTと呼ばれる半構造化データタイプは、拡張可能なJSONデータ専用に設計されています。JSON内のフィールド名とタイプを自動的に識別し、さらに頻繁に発生するフィールドを列型ストレージに分割して、圧縮比と分析パフォーマンスを向上させます。ElasticsearchのDynamic Mappingと比較して、VARIANTは単一フィールドのデータタイプの変更を許可します。
ユーザーフレンドリー
- 標準SQLインターフェース: DorisはMySQLプロトコルと構文に対応した標準SQLをサポートし、エンジニアとアナリストにとってアクセスしやすくなっています。
- オブザーバビリティエコシステムとの統合: OpenTelemetryとELKエコシステムに対応し、シームレスなデータ収集と分析のためのGrafanaとKibana(近日公開)可視化ツールをサポートします。
- 簡単な運用: オンラインスケーリング、自動ロードバランシング、クラスター Manager経由のビジュアル管理をサポートします。
オープン性
- オープンソース: Apache Dorisは世界中の5000社以上が採用するトップレベルオープンソースプロジェクトで、OpenTelemetry、Grafana、その他のオブザーバビリティエコシステムをサポートしています。
- マルチクラウドニュートラル: 主要クラウドプロバイダーがDoris SaaSサービスを提供し、クラウド間での一貫したエクスペリエンスを確保しています。
デモ&スクリーンショット
OpenTelemetryコミュニティの包括的なデモを使用して、Dorisベースのオブザーバビリティプラットフォームを実演します。
観察されるビジネスシステムは、フロントエンド、認証、カート、支払い、物流、広告、推奨、リスク制御、その他10以上のモジュールで構成されるeコマースWebサイトをシミュレートし、高レベルのシステム複雑性を反映しているため、オブザーバビリティデータの収集、格納、分析に大きな課題を提示しています。
Load Generatorツールはエントリサービスに継続的なリクエストを送信し、膨大な量のオブザーバビリティデータ(Logs、Traces、Metrics)を生成します。これらのデータは、さまざまな言語のOpenTelemetry SDKを使用して収集され、OpenTelemetry Collectorに送信され、Processorsによって前処理され、最終的にOpenTelemetry Doris Exporter経由でDorisに書き込まれます。Grafanaなどのオブザーバビリティ可視化ツールは、MySQLインターフェースを通じてDorisに接続し、可視化されたクエリと分析機能を提供します。
GrafanaはMySQLデータソース経由でDorisに接続し、LogsとTracesの相互分析を含むLogs、Traces、Metricsの統合可視化と分析を提供します。
-
Log

-
Trace

-
Metrics

Grafanaのログ可視化と分析機能はKibanaと比較して比較的基本的ですが、サードパーティベンダーがKibanaのようなDiscover機能を実装しています。これらは間もなくGrafanaのDorisデータソースに統合され、統合オブザーバビリティ可視化を強化します。将来の強化には、Elasticsearchプロトコル互換性が含まれ、ネイティブKibanaのDoris接続が可能になります。ELKユーザーにとって、ElasticsearchをDorisに置き換えることで、既存のログと可視化の習慣を維持しながら、コストを大幅に削減し、効率を改善できます。
