メインコンテンツまでスキップ

Apache Dorisを使用した統合ログ/トレース/メトリクス分析の構築

オブザーバビリティとは、システムの外部出力データから内部状態を推測する能力です。オブザーバビリティプラットフォームは、Logging、Tracing、Metricsという3つのタイプの重要なデータを収集、保存、可視化します。分散システムがどのように動作しているかについてチームが包括的に理解することを支援し、リソース最適化、障害アラート、根本原因分析をサポートし、最終的にシステム信頼性とユーザーエクスペリエンスを向上させます。

オブザーバビリティが重要になっている理由

主要なアプリケーションシナリオ

オブザーバビリティプラットフォームは現代の分散システムにとって不可欠なインフラストラクチャとなっており、主に以下の5つのカテゴリのシナリオをカバーしています:

シナリオ価値典型的なユースケース
トラブルシューティングと根本原因分析障害復旧時間を短縮し、ビジネス継続性を確保リアルタイム監視、異常検知、分散トレーシング、chaos engineering
パフォーマンス最適化とリソース計画パフォーマンスボトルネックを特定し、クラウドリソースコストを削減リソース使用率分析、負荷分散、auto-scaling、容量予測
ビジネス意思決定支援ITパフォーマンスをビジネス成果に関連付けユーザーエクスペリエンスメトリック分析、製品機能最適化
セキュリティとコンプライアンス監視異常な行動を検出し、自動的に対応Zero-day攻撃検出、ログ監査、コンプライアンス保持
開発と運用の連携canaryリリースとコード最適化を支援トラフィックタグ付け、コールチェーン分析、リリース進捗評価

オブザーバビリティのアップグレードを推進する2つの主要トレンド

  1. ビジネスとITシステムがより複雑になっている: クラウドコンピューティングとマイクロサービスの発展により、GenAIアプリケーションからのリクエストは、App、サービスゲートウェイ、認証サービス、課金サービス、RAGエンジン、Agentエンジン、ベクターデータベース、ビジネスデータベース、分散キャッシュ、メッセージキュー、大規模モデルAPIなど数十のサービスに関わる可能性があります。このような複雑なシステムでは、サーバーにログインしてランタイム状態を検査し、障害を分析することはもはや効果的ではありません。オブザーバビリティプラットフォームはLog、Trace、Metricsデータの収集と保存を統合し、統合された可視化分析を提供することで、問題を効果的かつ迅速に浮き彫りにすることができます。
  2. ビジネス信頼性要件が高まっている: システム障害がユーザーエクスペリエンスに与える影響のコストがますます高くなっており、障害の局所化と復旧効率の要件もそれに応じて上昇しています。クロスドメインデータ統合とパノラマ可視化を通じて、オブザーバビリティはチームが問題の根本原因を迅速に特定し、ビジネス中断時間を削減することを支援します。グローバルデータ分析と予測を通じて、リソースボトルネックを事前に特定し、チームが早期に対処して障害を防ぐことを可能にします。

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

オブザーバビリティデータの主要特性

大量データボリュームの保存と分析の課題にどう対処するかが、すべてのオブザーバビリティソリューションの中核にあります。オブザーバビリティデータには以下の5つの特性があります:

  1. 大量のデータ保存ボリュームとコスト敏感性: LogとTraceデータは一般的に非常に大規模で、24時間継続的に生成されます。中規模・大企業が毎日生成するオブザーバビリティデータはTBまたはPBレベルです。ビジネス要件を満たすため、または規制要件に準拠するため、このデータは半年以上保存する必要があることが多く、総保存容量はしばしばPBレベルに達し、高コストが発生します。時間が経過するにつれて、このデータの価値も徐々に低下するため、オブザーバビリティプラットフォームは特に保存コストに敏感です。
  2. リアルタイム要件を伴う高い書き込みスループット: 1日あたりTBまたはPBレベルの新しいデータに直面して、プラットフォームは1-10 GB/sの書き込みスループットと毎秒数百万から数千万レコードをサポートする必要があります。同時に、強いタイムリネスを要求するトラブルシューティングやセキュリティ追跡などのシナリオを考慮して、書き込み遅延をセカンドレベルに保ち、データの鮮度と可用性を確保する必要があります。
  3. 全文検索を伴うリアルタイム分析: LogとTraceデータには大量のテキストが含まれており、キーワードやフレーズを迅速に検索することが中核要件です。大量データスケールのため、従来の全スキャンと文字列マッチングのアプローチではリアルタイム応答要件を満たすことができません。テキストの転置インデックス構築がセカンドレベルのクエリ応答を実現する鍵となります。
  4. 頻繁な拡張を要求する動的スキーマ: Logデータは非構造化生ログ(自由テキスト)から、主にJSONの半構造化LogsとTracesに発展してきました。データプロデューサーは内部のJSONフィールドを動的に調整し、スキーマは高度に柔軟です。従来のデータベースとデータウェアハウスは、このような柔軟なスキーマのデータを効率的に処理するのに苦労します。データレイクは保存の柔軟性を提供しますが、処理パフォーマンスとリアルタイム要件を満たすことができません。
  5. 多様なデータソースと分析ツールとの統合の必要性: オブザーバビリティエコシステムには多くのデータコレクターと可視化分析ツールが含まれています。保存・分析エンジンは、多様なデータとツール統合要件を満たすため、様々なエコシステムツールと統合する必要があります。

選択評価のための4つの主要次元

Elasticsearch、ClickHouse、Doris、クラウドベンダーのログサービスなどの複数のソリューションに直面して、パフォーマンス、コスト、オープン性、使いやすさの4つの次元で評価できます。

1. パフォーマンス: 書き込みパフォーマンスとクエリパフォーマンス

オブザーバビリティはトラブルシューティングなどの緊急シナリオでしばしば使用され、クエリ応答速度とデータ鮮度の両方に高い要件があります。一方で、クエリ応答は高速でなければならず、特にLog/Traceデータのテキストについては、反復的な探索分析をサポートするためにリアルタイム全文検索が必要です。他方で、最近生成されたデータはクエリ可能でなければならず、セカンドレベルの鮮度が要件です。

ソリューション書き込みパフォーマンス全文検索集約分析
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はパフォーマンス、コスト、オープン性、使いやすさの4つの次元すべてで明確な優位性を持っています:高パフォーマンスの書き込みとクエリを提供しながらコストを低く抑え、SQLインターフェースはシンプルで使いやすく、シンプルなアーキテクチャは保守・拡張が容易で、マルチクラウド間で一貫したエクスペリエンスを提供します。オブザーバビリティプラットフォームを構築するための理想的な選択です。

Dorisベースのオブザーバビリティソリューション

システムアーキテクチャ

DorisはMPP分散アーキテクチャを採用し、ベクトル化実行エンジン、CBOオプティマイザー、豊富なインデックス、マテリアライズドビューなどの先進技術を組み合わせて、大規模リアルタイムデータでの極めて高速なクエリ分析をサポートする現代的なデータウェアハウスです。DorisはClickBench単一テーブル、TPC-H複数テーブル、TPC-DSを含む複数の権威ある分析データベースパフォーマンスベンチマークで世界をリードし、さらには第1位の結果を達成しています。

オブザーバビリティシナリオの特性に対して、Dorisは転置インデックスと極めて高速な全文検索機能を追加し、書き込みパフォーマンスと保存スペースの究極の最適化を達成し、ユーザーがDoris上で高パフォーマンス、低コスト、オープンなオブザーバビリティプラットフォームを構築することを可能にします。

Dorisベースのオブザーバビリティプラットフォームは3つの中核コンポーネントで構成されます:

  1. データ収集と前処理: オープンなOpenTelemetryエコシステムとELKエコシステムのLogstashやFilebeatを含む、様々なオブザーバビリティデータ収集ツールをサポートし、HTTP API経由でLog、Trace、MetricsデータをDorisに書き込みます。
  2. データ保存と分析エンジン: Dorisはオブザーバビリティデータの高パフォーマンス、低コストの統合保存を提供し、SQLインターフェースを通じて豊富な検索・分析機能を提供します。
  3. クエリ分析と可視化: 広く使用されているGrafanaとELKエコシステムのKibanaを含む、最も一般的に使用される可視化分析ツールと統合し、リアルタイム監視と迅速な対応のためのシンプルで使いやすい検索、分析、アラートインターフェースをユーザーに提供します。

doris-observability-architecture

ソリューションの中核優位性

高パフォーマンス

  • 高スループット、低遅延書き込み: 1日あたりPBレベル(10 GB/s)のLog、Trace、Metricsデータの継続的で安定した書き込みをサポートし、遅延をセカンドレベルまたは1秒以内に保持します。
  • 高パフォーマンス転置インデックスと全文検索: ログキーワード検索などの一般的なクエリがセカンドレベルで応答し、ClickHouseより3-10倍高速です。
  • 高パフォーマンス集約分析: MPP分散アーキテクチャ + ベクトル化Pipeライン実行エンジンがクラスター分散とCPUマルチスレッドリソースをフル活用。ClickBenchテストパフォーマンスは世界をリードし、トレンド分析や監視アラートなどの一般的なクエリに適しています。

低コスト

  • 高圧縮率と低コスト保存: インデックスを含む5:1~10:1の圧縮率でPBレベルの大量保存をサポートし、Elasticsearchと比較して保存コストを50%-80%削減。S3/HDFSでのコールドデータ保存をサポートし、保存コストをさらに50%削減。
  • 低コスト書き込み: 同じ書き込みトラフィックに対して、Elasticsearchと比較してCPUリソース消費を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コミュニティからの包括的なDemoを使用して、Dorisベースのオブザーバビリティプラットフォームを紹介します。

観測対象システム

観測対象のビジネスシステムは、デモンストレーション用のeコマースウェブサイトです。フロントエンドインターフェース、認証、ショッピングカート、取引、物流、広告、レコメンデーション、リスク管理を含む10以上のモジュールで構成されています。システム全体は高い複雑さを持ち、オブザーバビリティデータ(Log、Trace、Metrics)の収集、保存、分析に大きな課題をもたらします。

データフロー

Load Generator負荷シミュレーションプログラムは継続的にエントリーサービスにリクエストを送信し、eコマースシステム全体で大量のオブザーバビリティデータ(Log、Trace、Metrics)を生成します。データは以下のように流れます:

  1. OpenTelemetry多言語SDKを使用して収集
  2. OpenTelemetry Collectorに送信
  3. CollectorのProcessorで前処理
  4. OpenTelemetry Doris Exporter経由でDorisに書き込み
  5. DorisはMySQLインターフェース経由で上位層分析ツール(Grafanaなど)に接続し、視覚的なクエリ・分析機能を提供

Doris OpenTelemetry Demo

クリックして視聴

可視化

GrafanaはMySQL Datasource経由でDorisに接続し、LogとTraceの連携を伴う統合されたLog、Trace、Metrics可視化分析を提供します。

  • Log

    log-visualization

  • Trace

    trace-visualization

  • Metrics

    metrics-visualization

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

studio-visualization