全部产品
Search
文档中心

ApsaraDB for ClickHouse:Kirimkan data observabilitas Dify ke ApsaraDB for ClickHouse Enterprise Edition

更新时间:Nov 12, 2025

Topik ini menjelaskan cara mengirimkan data observabilitas dari aplikasi Dify ke ApsaraDB for ClickHouse Enterprise Edition untuk dianalisis menggunakan layanan observabilitas satu atap. Proses ini membantu pengembang serta insinyur operasi dan pemeliharaan (O&M) memantau kinerja aplikasi serta menyelesaikan masalah secara lebih efisien.

Prasyarat

  • Layanan observabilitas satu atap telah diaktifkan untuk instans ApsaraDB for ClickHouse Enterprise Edition Anda.

  • Topik ini menggunakan Qwen sebagai contoh. Dapatkan Kunci API untuk digunakan sebagai kredensial autentikasi saat memanggil model bahasa besar (LLM).

Prosedur

Dalam contoh ini, layanan bisnis dan Otel Collector ditempatkan pada Instance ECS yang sama. Di lingkungan produksi, kami menyarankan agar Anda menempatkan layanan bisnis dan Otel Collector secara terpisah.

Langkah 1: Menempatkan Otel Collector

  1. Konfigurasikan Instance ECS.

    1. Beli Instance ECS. Saat membeli instans, tetapkan Alamat IP publik agar dapat diakses melalui jaringan publik.

    2. Tambahkan alamat IP Instance ECS ke daftar putih instans ApsaraDB for ClickHouse.

      • IP pribadi: Jika Instance ECS dan instans ApsaraDB for ClickHouse Enterprise Edition berada dalam VPC yang sama, tambahkan Alamat IP pribadi Instance ECS ke daftar putih. Pada langkah-langkah berikutnya, gunakan alamat VPC sebagai titik akhir instans ApsaraDB for ClickHouse.

      • IP publik: Jika Instance ECS dan instans ApsaraDB for ClickHouse Enterprise Edition tidak dapat terhubung melalui jaringan pribadi, tambahkan Alamat IP publik Instance ECS ke daftar putih. Pada langkah-langkah berikutnya, gunakan alamat publik sebagai titik akhir instans ApsaraDB for ClickHouse.

      Sambungkan ke Instance ECS dan jalankan perintah berikut untuk menguji konektivitas ke instans ApsaraDB for ClickHouse. Jika perintah mengembalikan Ok., koneksi berhasil.

      curl http://cc-xxxxxxx-clickhouse.clickhouseserver.pre.rds.aliyuncs.com:8123
  2. Sambungkan ke Instance ECS dan jalankan perintah berikut untuk menginstal 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. Konfigurasikan Otel Collector untuk menerima data observabilitas melalui protokol gRPC dan HTTP, lalu mengirimkannya ke instans ApsaraDB for ClickHouse melalui protokol HTTP.

    Salin konten berikut untuk membuat file konfigurasi dan sesuaikan dengan kebutuhan Anda:

    • Pada bagian `receivers`: Ganti titik akhir penerima OTLP dengan titik akhir layanan Otel Collector.

    • Pada bagian `exporters`:

      • Konfigurasikan informasi koneksi untuk instans ApsaraDB for ClickHouse, termasuk titik akhir, nama pengguna, dan kata sandi.

      • Konfigurasikan nama database dan tabel untuk menyimpan data observabilitas di instans ApsaraDB for ClickHouse. Ini mencakup `database`, `traces_table_name`, `logs_table_name`, dan `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. Jalankan Otel Collector.

    service otelcol-contrib restart

Langkah 2: Menempatkan dan menjalankan Dify

  1. Jalankan perintah berikut untuk menempatkan Dify.

    git clone https://github.com/langgenius/dify.git
  2. Jalankan perintah berikut untuk mengubah file konfigurasi Dify.

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

    Pada file konfigurasi .env, cari dan ubah item konfigurasi berikut:

    • ENABLE_OTEL: Atur parameter ini ke `true`.

    • OTEL_EXPORTER_OTLP_PROTOCOL: Atur parameter ini ke `http`.

    • OTLP_BASE_ENDPOINT: Atur parameter ini ke titik akhir layanan collector yang dapat diakses dari kontainer Dify, seperti http://{Alamat IP Instance ECS}:4318.

  3. Jalankan layanan Dify.

    Untuk informasi selengkapnya tentang cara menginstal Docker, lihat Instal dan gunakan Docker dan Docker Compose.
    docker compose up -d
  4. Buka http://<alamat IP>/install untuk mendaftarkan pengguna dan masuk. Ganti `` dengan alamat IP server tempat Dify dijalankan.

    image

Langkah 3: Membuat asisten obrolan

  1. Arahkan kursor ke gambar profil di pojok kanan atas dan klik Settings.

    image

  2. Pada panel navigasi di sebelah kiri, klik Model Providers. Pilih dan instal penyedia model, seperti Qwen.

  3. Setelah instalasi selesai, pada bagian To Be Configured, temukan model tersebut dan klik Setup. Masukkan Kunci API dan simpan pengaturan.

    image

  4. Di bagian atas halaman Dify, klik Studio > Chatbot. Lalu, klik Create Blank App. Atur nama aplikasi dan informasi lainnya, lalu klik Create.

    image

  5. Atur prompt. Berikut adalah contoh prompt:

    You will act as an AI assistant for Alibaba Cloud's ClickHouse database. Your role is to answer customer questions about the ClickHouse database product and its features. Your answers must be based on the existing knowledge base to ensure accuracy. If a customer's question is beyond 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. Di pojok kanan atas halaman, klik Publish > Run untuk memulai percakapan.

    Berikut adalah contoh percakapan:

    Question

    Can you tell me something about ClickHouse?

    Sample response

    Of course! Here is some key information about ClickHouse for beginners:
    1. What is ClickHouse?
    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 such as window functions and aggregate functions.
    Distributed architecture: Supports horizontal scaling and can easily handle petabyte-scale data.
    2. Core features
    Columnar storage: Data is stored by column instead of by row. This reduces I/O overhead and improves the compression ratio.
    Vectorized execution: Divides data into chunks and processes it in batches. This uses CPU instruction sets to accelerate computation.
    Multiple engine support:
    MergeTree: The default engine. It supports sorting, partitions, primary keys, and replicas.
    Memory: An in-memory engine suitable for temporary data.
    ...

Langkah 4: Mengkueri dan menganalisis data observabilitas

  1. Pada halaman detail instans ApsaraDB for ClickHouse Anda, klik All-in-one Observe Suite pada panel navigasi di sebelah kiri. Lalu, ikuti petunjuk di layar untuk menuju portal layanan.

  2. Pada halaman utama, Anda dapat mengkueri dan menganalisis data observabilitas dari aplikasi Dify.

    image