すべてのプロダクト
Search
ドキュメントセンター

ApsaraDB for ClickHouse:Dify の可観測性データを Alibaba Cloud ClickHouse Enterprise Edition に送信する

最終更新日:Jun 04, 2026

この記事では、ご利用の Dify アプリケーションから Alibaba Cloud ClickHouse Enterprise Edition に可観測性データを送信し、ワンストップ可観測性サービスで分析する方法について説明します。このプロセスにより、アプリケーションのパフォーマンスをモニターし、問題をより効率的に解決できます。

前提条件

  • Alibaba Cloud ClickHouse Enterprise Edition インスタンスで ワンストップ可観測性サービス が有効になっている必要があります。

  • この記事では、通義千問(Tongyi Qianwen)を例として使用します。大規模言語モデル(LLM)への呼び出しを認証するために、API キーを取得 する必要があります。

操作手順

この例では、ビジネスサービスと OpenTelemetry Collector を同じ ECS インスタンス上にデプロイします。本番環境では、ビジネスサービスと OpenTelemetry Collector を別々にデプロイすることを推奨します。

ステップ 1:OpenTelemetry Collector のデプロイ

  1. ECS インスタンスを構成します。

    1. ECS インスタンスを購入 します。パブリックネットワークアクセスのために、購入時にパブリック IP アドレスを割り当てることを推奨します。

    2. ECS インスタンスの IP アドレスを Alibaba Cloud ClickHouse許可リスト に追加します。

      • プライベート IP アドレス:ECS インスタンスと Alibaba Cloud ClickHouse Enterprise Edition インスタンスが同一の Virtual Private Cloud(VPC)内にある場合、ECS インスタンスのプライベート IP アドレスを許可リストに追加します。この場合、以下の手順で Alibaba Cloud ClickHouse インスタンスの VPC エンドポイントを使用します。

      • パブリック IP アドレス:ECS インスタンスがプライベートネットワーク経由で Alibaba Cloud ClickHouse Enterprise Edition インスタンスに接続できない場合、ECS インスタンスのパブリック IP アドレスを許可リストに追加します。この場合、以下の手順で Alibaba Cloud ClickHouse インスタンスのパブリックエンドポイントを使用します。

      ECS インスタンスに接続 し、次のコマンドを実行して Alibaba Cloud ClickHouse インスタンスへの接続をテストできます。Ok. という応答が返された場合、接続は成功しています。

      curl http://cc-xxxxxxx-clickhouse.clickhouseserver.pre.rds.aliyuncs.com:8123
  2. ECS インスタンスに接続 し、次のコマンドを実行して otelcol-contrib をインストールします。

    mkdir llm-demo
    cd llm-demo
    wget -O otelcol-contrib.rpm https://github.com/open-telemetry/opentelemetry-collector-releases/releases/download/v0.136.0/otelcol-contrib_0.136.0_linux_amd64.rpm
    yum install otelcol-contrib.rpm
  3. OpenTelemetry Collector を構成して、gRPC および HTTP 経由で可観測性データを受信し、HTTP 経由で Alibaba Cloud ClickHouse インスタンスに送信できるようにします。

    次のコマンドをコピーし、以下のように設定を変更してください。

    • receivers セクションでは、OTLP レシーバーの endpoint をご利用の OpenTelemetry Collector サービスのエンドポイントに置き換えることを推奨します。

    • exporters セクションで:

      • Alibaba Cloud ClickHouse インスタンスの接続情報を設定します。これには endpointusernamepassword が含まれます。

      • Alibaba Cloud ClickHouse インスタンス内で可観測性データを保存するためのデータベース名およびテーブル名を設定します。これには databasetraces_table_namelogs_table_name、および metrics_tables が含まれます。

    cat > /etc/otelcol-contrib/config.yaml << EOF
    receivers:
      otlp:
        protocols:
          grpc:
            endpoint: 0.0.0.0:4317
          http:
            endpoint: 0.0.0.0:4318
    processors:
      batch:
        timeout: 5s
        send_batch_size: 5000
    exporters:
      clickhouse:
        endpoint: http://cc-xxxxxx-clickhouse.clickhouseserver.pre.rds.aliyuncs.com:8123?dial_timeout=10s&compress=lz4&async_insert=1
        username: test
        password: password
        # ttl: 72h
        traces_table_name: otel_traces
        logs_table_name: otel_logs
        metrics_tables:
          gauge: 
            name: otel_metrics_gauge
          sum: 
            name: otel_metrics_sum
          summary: 
            name: otel_metrics_summary
          histogram: 
            name: otel_metrics_histogram
          exponential_histogram: 
            name: otel_metrics_exp_histogram
        create_schema: false
        timeout: 5s
        database: clickobserve_service
        sending_queue:
          queue_size: 1000
        retry_on_failure:
          enabled: true
          initial_interval: 5s
          max_interval: 30s
          max_elapsed_time: 300s
    
    service:
      pipelines:
        traces:
          receivers: [otlp]
          processors: [batch]
          exporters: [clickhouse]
        metrics:
          receivers: [otlp]
          processors: [batch]
          exporters: [clickhouse]
        logs:
          receivers: [otlp]
          processors: [batch]
          exporters: [clickhouse]
    EOF
  4. OpenTelemetry Collector を起動します。

    service otelcol-contrib restart

ステップ 2:Dify のデプロイと起動

  1. 次のコマンドを実行して Dify をデプロイします。

    git clone https://github.com/langgenius/dify.git
  2. 次のコマンドを実行して、Dify の設定ファイルを編集可能な状態にします。

    cd dify/docker
    cp .env.example .env
    vim .env

    .env ファイル内で、次のパラメーターを設定します。

    • ENABLE_OTELtrue に設定します。

    • OTEL_EXPORTER_OTLP_PROTOCOLHTTP に設定します。

    • OTLP_BASE_ENDPOINT を Dify コンテナからアクセス可能な OpenTelemetry Collector のエンドポイント(例:http://<YOUR_ECS_IP>:4318)に設定します。

  3. Dify サービスを起動します。

    Docker のインストール方法については、「Docker および Docker Compose のインストールと使用方法」をご参照ください。
    docker compose up -d
  4. http://<IP_ADDRESS>/install にアクセスしてユーザー登録およびログインを行います。<IP_ADDRESS> は Dify を実行しているサーバーの IP アドレスに置き換えてください。

    image

ステップ 3:チャットアシスタントの作成

  1. 右上隅のプロフィール画像にカーソルを合わせて、Settings をクリックします。

    image

  2. 左側のナビゲーションウィンドウで Model Providers をクリックし、モデルプロバイダーを選択してインストールします。この例では通義千問(Tongyi Qianwen)を使用します。

  3. インストールが完了したら、To be configured セクションで該当のモデルを見つけ、Setup をクリックして API キーを入力し、保存します。

    image

  4. Dify インターフェイスで、上部の Studio > Chatbot をクリックします。Create Blank App をクリックしてアプリケーションに名前を付け、Create をクリックします。

    image

  5. プロンプトを定義します。以下の例を参考にしてください。

    You are an AI assistant for Alibaba Cloud ClickHouse. Your purpose is to answer customer questions about the ClickHouse database product and its features. Your answers must be accurate and based on the provided knowledge base. If a question is outside your knowledge, honestly state that you do not know the answer to maintain integrity. Communicate with customers in a friendly and approachable tone. You can use emojis to enhance the interaction.
  6. ページ右上隅の Publish > Run をクリックして会話を開始します。

    以下の会話が例です。

    Question

    Can you tell me something about ClickHouse?

    Example response

    Of course! Here is some key information about ClickHouse to help beginners get started quickly:
    1. What is ClickHouse?
    An open-source columnar database: Designed for large-scale data processing and excels in Online Analytical Processing (OLAP) scenarios.
    High performance: Achieves ultra-fast queries through columnar storage, a vectorized execution engine, and native parallel computing.
    SQL compatible: Supports standard SQL syntax and extends it with advanced features like window functions and aggregate functions.
    Distributed architecture: Supports horizontal scaling and can easily handle petabytes of data.
    2. Core features
    Columnar storage: Data is stored by column (instead of by row), which reduces I/O overhead and improves compression ratios.
    Vectorized execution: Processes data in batches by dividing it into chunks, accelerating computation by leveraging CPU instruction sets.
    Multi-engine support:
    MergeTree: The default engine, which supports sorting, partitioning, primary keys, and replicas.
    Memory: An in-memory engine suitable for temporary data.
    ......

ステップ 4:可観測性データのクエリと分析

  1. Alibaba Cloud ClickHouse インスタンスの詳細ページで、左側のナビゲーションウィンドウにある ワンストップ可観測 をクリックしてサービスポータルを開きます。

  2. メインページで、ご利用の Dify アプリケーションからの可観測性データをクエリおよび分析できます。

    image