メインコンテンツまでスキップ
に最終更新

Apache Doris によるログ・トレース・メトリクスの統合分析基盤の構築

オブザーバビリティとは、システムの外部に出力されるデータから内部状態を推測できる能力です。オブザーバビリティプラットフォームは、ログ、トレース、メトリクスという三種類の主要なデータを収集、保存、可視化します。分散システムの稼働状況をチームが総合的に把握できるようにし、リソースの最適化、障害のアラート、根本原因の分析を支援することで、最終的にシステムの信頼性とユーザー体験を向上させます。

オブザーバビリティの重要性が高まっている理由​

主な適用シナリオ​

オブザーバビリティプラットフォームは、現代の分散システムに不可欠な基盤となっています。主な適用シナリオは次の五つです。

シナリオ価値代表的なユースケース
障害調査と根本原因の分析障害からの復旧時間を短縮し、ビジネスの継続性を確保するリアルタイム監視、異常検知、分散トレーシング、カオスエンジニアリング
性能最適化とリソース計画性能上のボトルネックを特定し、クラウドリソースのコストを削減するリソース使用率の分析、負荷分散、自動スケーリング、容量予測
ビジネス上の意思決定支援IT の性能とビジネス成果を結び付けるユーザー体験に関する指標の分析、製品機能の最適化
セキュリティとコンプライアンスの監視異常な振る舞いを検知し、自動的に対応するゼロデイ攻撃の検知、ログ監査、コンプライアンスに基づくデータ保持
開発と運用の連携カナリアリリースとコードの最適化を支援するトラフィックのタグ付け、呼び出しチェーンの分析、リリース進捗の評価
  1. ビジネスと IT システムの複雑化:クラウドコンピューティングとマイクロサービスの発展に伴い、生成 AI アプリケーションへの一つのリクエストにも、アプリケーション、サービスゲートウェイ、認証サービス、課金サービス、RAG エンジン、Agent エンジン、ベクトルデータベース、業務データベース、分散キャッシュ、メッセージキュー、大規模モデル API など、数十ものサービスが関わる場合があります。このように複雑なシステムでは、サーバーにログインして実行状態を確認し、障害を分析する方法はもはや有効ではありません。オブザーバビリティプラットフォームは、ログ、トレース、メトリクスの収集と保存を統合し、統一された可視化と分析によって問題を迅速かつ効果的に発見できます。
  2. ビジネスの信頼性に対する要求の高まり:システム障害がユーザー体験に及ぼす影響はますます大きくなり、障害箇所の特定と復旧の効率に対する要求も高まっています。オブザーバビリティは、異なる領域のデータの統合と全体を俯瞰できる可視化によって、問題の根本原因を迅速に特定し、サービス中断時間を短縮できるようにします。また、データ全体の分析と予測によってリソースのボトルネックを事前に特定し、早期に対処して障害を防ぐことができます。

オブザーバビリティソリューションの選び方​

オブザーバビリティデータの主な特徴​

大量のデータを保存・分析する際の課題にどう対処するかが、オブザーバビリティソリューションの中心となります。オブザーバビリティデータには、次の五つの特徴があります。

  1. データ量が多く、保存コストに敏感:ログとトレースのデータは通常きわめて大規模で、昼夜を問わず継続的に生成されます。中規模・大規模企業が毎日生成するオブザーバビリティデータは TB、場合によっては PB 規模に達します。ビジネス上の要件や規制上の要件を満たすために、このデータを半年以上保存する必要があることも多く、総保存量はしばしば PB 規模となり、高いコストがかかります。時間とともにデータの価値も徐々に低下するため、オブザーバビリティプラットフォームでは保存コストが特に重要です。
  2. 高い書き込みスループットとリアルタイム性が必要:毎日 TB、さらには PB 規模で増加するデータを処理するには、プラットフォームが 1-10 GB/s、レコード数では毎秒数百万~数千万件の書き込みスループットに対応する必要があります。同時に、障害調査やセキュリティ上の追跡など即時性が求められるシナリオでは、データの鮮度と可用性を確保するため、書き込みレイテンシーを秒単位に抑える必要があります。
  3. 全文検索を伴うリアルタイム分析:ログとトレースのデータには大量のテキストが含まれており、キーワードやフレーズを素早く検索できることが重要です。データ量が膨大なため、従来の全件走査と文字列照合ではリアルタイムの応答要件を満たせません。テキストに転置インデックスを構築することが、秒単位のクエリ応答を実現する鍵になります。
  4. 頻繁な拡張が必要な動的スキーマ:ログデータは、非構造化の生ログ(自由形式のテキスト)から、JSON を主体とする半構造化のログとトレースへと発展してきました。データの生成元は JSON の内部フィールドを動的に変更するため、スキーマは非常に柔軟です。従来のデータベースやデータウェアハウスでは、このように柔軟なスキーマを持つデータを効率的に扱うことは困難です。データレイクは保存形式の柔軟性を備えていますが、処理性能とリアルタイム性の要件を満たせません。
  5. 多様なデータソースや分析ツールとの統合が必要:オブザーバビリティのエコシステムには、多くのデータ収集ツールと可視化・分析ツールがあります。保存・分析エンジンは、さまざまなエコシステムのツールと連携し、多様なデータとツールの統合要件を満たす必要があります。

選定時に評価すべき四つの観点​

Elasticsearch、ClickHouse、Doris、クラウドベンダーのログサービスなど複数の選択肢は、性能、コスト、オープン性、使いやすさという四つの観点で評価できます。

1. 性能:書き込み性能とクエリ性能​

オブザーバビリティは障害調査のような緊急性の高い場面で使用されることが多く、クエリの応答速度とデータの鮮度の両方に高い要件があります。クエリの応答は高速である必要があり、特にログとトレースに含まれるテキストについては、探索的な分析を繰り返すためにリアルタイムの全文検索が求められます。また、直近に生成されたデータも検索できる必要があり、秒単位の鮮度が要件となります。

ソリューション書き込み性能全文検索集計分析
Elasticsearch高スループット時の書き込み性能は比較的低く、ピーク時には書き込み拒否や高いレイテンシーが発生しやすい転置インデックスと全文検索に強みがあり、秒単位のリアルタイム検索に対応する集計分析の性能は比較的低い
クラウドベンダーのログサービスリソースを追加することで性能要件を満たす性能要件を満たす性能要件を満たす
ClickHouse列指向ストレージとベクトル化エンジンにより、書き込み性能が高いElasticsearch や Doris より数倍~数十倍遅く、まだ実験的な段階にある集計クエリの性能が高い
Doris列指向ストレージ、ベクトル化エンジン、オブザーバビリティ向けに最適化された転置インデックスにより、Elasticsearch より約 5 倍高速Elasticsearch より約 2 倍高速Elasticsearch より6-21 倍高速

2. コスト:ストレージコストとコンピューティングコスト​

中規模・大規模企業が毎日生成するオブザーバビリティデータは TB、さらには PB 規模に達し、総保存量はしばしば PB、場合によっては EB 規模になります。業務データと比べてオブザーバビリティデータは量が多く、単位量あたりの価値は低く、その価値は時間とともに低下するため、保存と計算の両方のコストに非常に敏感です。

ソリューション圧縮率ストレージ/コンピューティングコスト
Elasticsearch約 1.5:1(行指向ストレージ + 転置インデックス + docvalue の列指向ストレージ)ストレージコストが高い。JVM のオーバーヘッドと転置インデックスの構築により CPU 使用量が多い
Doris5:1 ~ 10:1。ホット・コールド階層化でさらにコストを削減Elasticsearch と比べて50%~80% 削減。単一レプリカへの書き込み、時系列コンパクション、ベクトル化されたインデックス構築により書き込みコストを低減
ClickHouse列指向ストレージにより圧縮率が高い保存と書き込みのコストが低い
クラウドベンダーのログサービス-Elasticsearch と同程度に高い

3. オープン性:オープンソースとマルチクラウドでの中立性​

オブザーバビリティプラットフォームを構築する際は、ベンダーロックインを避ける必要があります。ソリューションがオープンソースか、複数のクラウドで提供されているか、オープンなエコシステムをサポートしているかに注目してください。

ソリューションプロジェクトの運営主体マルチクラウド対応エコシステムのオープン性
ElasticsearchElastic複数のクラウドで提供されているELK エコシステムは比較的閉じており、Kibana は Elasticsearch のみをサポートする
DorisApache Software Foundation主要なクラウドベンダーが SaaS を提供しているOpenTelemetry、Grafana、ELK などのオープンソースエコシステムをサポートし、中立性を保っている
ClickHouseClickHouse Inc.複数のクラウドで提供されているOpenTelemetry と Grafana をサポートする。オブザーバビリティの商用企業の買収後は中立性に影響がある
クラウドベンダーのログサービス各クラウドベンダー自社のクラウドに限定されるオープンソースではなく、クラウド間の移行が難しい

4. 使いやすさ:保守性と利便性​

データ量が多いため、オブザーバビリティプラットフォームは一般的に分散アーキテクチャを採用します。デプロイ、スケーリング、アップグレードなどの運用のしやすさと、開発者にとってのクエリインターフェースの使いやすさが、いずれも重要な検討事項です。

ソリューションインターフェースと運用
ElasticsearchKibana は使いやすいインターフェースを備え、保守性も高い。一方、DSL クエリ言語は複雑で、習得のハードルが高い
DorisKibana に似た対話型の検索・分析インターフェースを提供し、ネイティブの Kibana/Grafana インターフェースと連携する。MySQL と互換性のある標準 SQL、シンプルなアーキテクチャ、オンラインでのアップグレードとスケーリング、自動負荷分散に対応し、視覚的に操作できる Cluster Manager を提供する
ClickHouse独自方言の SQL を使用する。ローカルテーブルと分散テーブルという内部概念が表に出ており、スケーリング時の負荷を自動調整できないため、通常は独自の運用システムが必要になる
クラウドベンダーのログサービスSaaS サービスなので自社で保守する必要がなく、使いやすい

選定の結論​

上記の比較によると、Doris は性能、コスト、オープン性、使いやすさの四つの観点すべてで明確な優位性があります。低コストを維持しながら高速な書き込みとクエリを実現し、SQL インターフェースはシンプルで使いやすく、シンプルなアーキテクチャは保守と拡張が容易です。また、複数のクラウドで一貫した利用体験を提供します。Doris はオブザーバビリティプラットフォームを構築するうえで理想的な選択肢です。

Doris を基盤とするオブザーバビリティソリューション​

システムアーキテクチャ​

Doris は MPP 分散アーキテクチャを採用した最新のデータウェアハウスです。ベクトル化実行エンジン、CBO オプティマイザー、豊富なインデックス、マテリアライズドビューなどの高度な技術を組み合わせ、大規模なリアルタイムデータのきわめて高速なクエリ分析に対応します。Doris は、単一テーブルの ClickBench、複数テーブルの TPC-H、TPC-DS など、権威ある複数の分析データベース性能ベンチマークで世界トップクラス、場合によっては首位の成績を収めています。

オブザーバビリティのシナリオの特性に合わせて、Doris は転置インデックスときわめて高速な全文検索機能を追加し、書き込み性能とストレージ容量を徹底的に最適化しています。これにより、Doris を基盤とする高性能、低コストでオープンなオブザーバビリティプラットフォームを構築できます。

Doris を基盤とするオブザーバビリティプラットフォームは、次の三つの主要コンポーネントで構成されます。

  1. データ収集と前処理:オープンな OpenTelemetry エコシステムや ELK エコシステムの Logstash、Filebeat など、さまざまなオブザーバビリティデータ収集ツールをサポートします。これらのツールは、HTTP API を通じてログ、トレース、メトリクスのデータを Doris に書き込みます。
  2. データ保存・分析エンジン:Doris は、オブザーバビリティデータを高性能かつ低コストで一元的に保存し、SQL インターフェースを通じて多様な検索・分析機能を提供します。
  3. クエリ分析と可視化:広く使われている Grafana や ELK エコシステムの Kibana など、代表的な可視化・分析ツールと連携し、リアルタイム監視と迅速な対応に役立つ、使いやすい検索・分析・アラートのインターフェースを提供します。

Doris を基盤とするオブザーバビリティプラットフォームのアーキテクチャ

ソリューションの主な利点​

高性能​

  • 高スループット・低レイテンシーの書き込み:ログ、トレース、メトリクスのデータについて、一日あたり PB 規模(10 GB/s)の継続的かつ安定した書き込みに対応し、レイテンシーを秒単位、さらには 1s 以内に抑えます。
  • 高性能な転置インデックスと全文検索:ログのキーワード検索など、一般的なクエリに秒単位で応答し、ClickHouse より 3-10 倍高速です。
  • 高性能な集計分析:MPP 分散アーキテクチャとベクトル化された Pipeline 実行エンジンにより、クラスタ全体の分散処理能力と CPU のマルチスレッドリソースを十分に活用します。ClickBench テストで世界トップクラスの性能を示しており、傾向分析や監視アラートなどの一般的なクエリに適しています。

低コスト​

  • 高い圧縮率と低コストの保存:インデックスを含めて 5:1 ~ 10:1 の圧縮率で PB 規模の大量データを保存でき、Elasticsearch と比べてストレージコストを 50%~80% 削減します。コールドデータを S3/HDFS に保存することで、ストレージコストをさらに 50% 削減できます。
  • 低コストの書き込み:同じ書き込みトラフィックに対して、CPU リソースの消費量が Elasticsearch より 70% 以上少なくなります。

柔軟なスキーマ​

  • トップレベルのフィールド変更:Light Schema Change による ADD/DROP COLUMN/INDEX 操作を開始し、数秒でスキーマ変更を完了できます。設計段階では、現時点でどのフィールドにインデックスが必要かを検討するだけで済みます。
  • 内部フィールドの変更:拡張可能な JSON データ向けに設計された半構造化データ型 VARIANT は、JSON のフィールド名と型を自動認識し、出現頻度の高いフィールドを列指向ストレージに分割して保存することで、圧縮率と分析性能を向上させます。Elasticsearch の Dynamic Mapping と異なり、VARIANT ではフィールドの型を変更できます。

使いやすさ​

  • 標準 SQL インターフェース:MySQL のプロトコルと構文に対応しており、エンジニアやデータアナリストが SQL クエリを直接使用できます。
  • オブザーバビリティエコシステムとの連携:OpenTelemetry と ELK のエコシステムをカバーし、Grafana や Kibana などの可視化ツールと連携して、データ収集と可視化・分析を容易にします。
  • 運用のしやすさ:サービスを中断せずにオンラインでスケーリングでき、自動的な負荷分散にも対応します。オンプレミス環境では視覚的に操作できる Cluster Manager と K8s Operator ツールを提供し、クラウドではすぐに利用できるフルマネージドサービスを提供します。

オープン性​

  • オープンソース:Doris は Apache Software Foundation のトップレベルのオープンソースプロジェクトで、世界中の 5,000 社以上に採用されており、OpenTelemetry や Grafana などのオブザーバビリティエコシステムに対応します。
  • マルチクラウドでの中立性:主要なクラウドベンダーが Doris の SaaS を提供しており、複数のクラウドで一貫した利用体験を得られます。

デモとスクリーンショット​

以下では、OpenTelemetry コミュニティの包括的な デモを使い、Doris を基盤とするオブザーバビリティプラットフォームを紹介します。

観測対象のシステム​

観測対象の業務システムは、デモ用のEC サイトです。フロントエンドのインターフェース、認証、ショッピングカート、取引、物流、広告、レコメンデーション、不正リスク管理など、十を超えるモジュールで構成されています。システム全体が複雑なため、オブザーバビリティデータの収集、保存、分析には大きな課題があります。

データフロー​

負荷をシミュレートする Load Generator プログラムは、入口となるサービスに継続的にリクエストを送信し、EC システム全体で大量のオブザーバビリティデータ(ログ、トレース、メトリクス)を生成します。データは次のように流れます。

  1. OpenTelemetry の多言語 SDK で収集する
  2. OpenTelemetry Collector に送信する
  3. Collector 内の Processors で前処理する
  4. OpenTelemetry Doris Exporter を通じて Doris に書き込む
  5. Doris が MySQL インターフェースを介して Grafana などの上位の分析ツールと接続し、視覚的なクエリと分析の機能を提供する

Doris OpenTelemetry のデモ

動画を見る

可視化​

Grafana は MySQL Datasource を介して Doris に接続し、ログとトレースの連携を含む、ログ、トレース、メトリクスの統合的な可視化・分析を提供します。

  • ログ

    ログの可視化

  • トレース

    トレースの可視化

  • メトリクス

    メトリクスの可視化

Grafana のログ可視化・分析機能は Kibana と比べると比較的シンプルです。そのため、サードパーティーベンダーが Kibana Discover に似た検索・分析機能を実装しており、今後 Grafana Doris Datasource にも統合される予定です。これにより、ログ・トレース・メトリクスを統合した可視化・分析をより使いやすく提供できるようになります。また、Elasticsearch のクエリプロトコルとの互換性によって、将来的にはネイティブの Kibana から Doris に直接接続できるようになります。ELK ユーザーは、ログ収集や可視化・分析の使い方を変えずに Elasticsearch を Doris に置き換えることで、コスト削減と効率向上を実現できます。

検索・分析画面の可視化