Tüm Ürünler
Search
Belge Merkezi

ApsaraDB for ClickHouse:Dify gözlemlenebilirlik verilerini Alibaba Cloud ClickHouse Enterprise Edition adresine gönderme

Son Güncelleme:Oct 07, 2026

Bu makale, Dify uygulamanızdaki gözlemlenebilirlik verilerini Alibaba Cloud ClickHouse Enterprise Edition hizmetine nasıl göndereceğinizi ve bu verileri ClickStack hizmeti ile nasıl analiz edeceğinizi gösterir. Bu süreç, uygulama performansını izlemenize ve sorunları daha verimli bir şekilde çözmenize yardımcı olur.

Önkoşullar

  • Alibaba Cloud ClickHouse Enterprise Edition örneğinizde ClickStack hizmeti etkinleştirilmiş olmalıdır.

  • Bu makalede örnek olarak Tongyi Qianwen kullanılmaktadır. Büyük dil modeline (LLM) yapılan çağrıları kimlik doğrulamak için bir API anahtarı edinmeniz gerekir.

Yordam

Bu örnekte iş hizmeti ve OpenTelemetry Collector aynı ECS örneğine dağıtılır. Üretim ortamları için iş hizmeti ile OpenTelemetry Collector'ı ayrı ayrı dağıtmanızı öneririz.

1. Adım: OpenTelemetry Collector'ı dağıtma

  1. ECS örneğini yapılandırın.

    1. Bir ECS örneği satın alın. Genel ağ erişimi için satın alma sırasında bir genel IP adresi atamanızı öneririz.

    2. ECS örneğinin IP adresini Alibaba Cloud ClickHouse hizmetinin izin listesine ekleyin.

      • Özel IP adresi: ECS örneği ile Alibaba Cloud ClickHouse Enterprise Edition örneği aynı Sanal Özel Cloud (VPC) içinde yer alıyorsa ECS örneğinin özel IP adresini izin listesine ekleyin. Bu durumda aşağıdaki adımlarda Alibaba Cloud ClickHouse örneği için VPC uç noktasını kullanın.

      • Genel IP adresi: ECS örneği Alibaba Cloud ClickHouse Enterprise Edition örneğine özel ağ üzerinden bağlanamıyorsa ECS örneğinin genel IP adresini izin listesine ekleyin. Bu durumda aşağıdaki adımlarda Alibaba Cloud ClickHouse örneği için genel uç noktayı kullanın.

      ECS örneğine bağlanabilir ve Alibaba Cloud ClickHouse örneğine bağlantıyı test etmek için aşağıdaki komutu çalıştırabilirsiniz. Ok. yanıtı başarılı bir bağlantıyı gösterir.

      curl http://cc-xxxxxxx-clickhouse.clickhouseserver.pre.rds.aliyuncs.com:8123
  2. ECS örneğine bağlanın ve otelcol-contrib yüklemek için aşağıdaki komutları çalıştırın.

    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 ve HTTP üzerinden gözlemlenebilirlik verilerini almak ve bu verileri HTTP üzerinden Alibaba Cloud ClickHouse örneğine göndermek üzere yapılandırın.

    Aşağıdaki komutu kopyalayın ve açıklamalara göre yapılandırmayı değiştirin:

    • receivers bölümünde OTLP alıcısının endpoint değerini OpenTelemetry Collector hizmetinizin uç noktasıyla değiştirmenizi öneririz.

    • exporters bölümünde:

      • Alibaba Cloud ClickHouse örneğinizin bağlantı ayrıntılarını; endpoint, username ve password dahil olacak şekilde yapılandırın.

      • Gözlemlenebilirlik verilerini depolamak için Alibaba Cloud ClickHouse örneğinizdeki veritabanı ve tablo adlarını yapılandırın. Buna database, traces_table_name, logs_table_name ve metrics_tables dahildir.

    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'ı başlatın.

    service otelcol-contrib restart

2. Adım: Dify'yı dağıtma ve başlatma

  1. Dify'yı dağıtmak için aşağıdaki komutu çalıştırın.

    git clone https://github.com/langgenius/dify.git
  2. Dify yapılandırma dosyasını düzenlemeye hazırlamak için aşağıdaki komutları çalıştırın.

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

    .env dosyasında aşağıdaki parametreleri ayarlayın:

    • ENABLE_OTEL değerini true olarak ayarlayın.

    • OTEL_EXPORTER_OTLP_PROTOCOL değerini HTTP olarak ayarlayın.

    • OTLP_BASE_ENDPOINT değerini Dify konteynerinden erişilebilen OpenTelemetry Collector uç noktasına ayarlayın; örneğin http://<YOUR_ECS_IP>:4318.

  3. Dify hizmetini başlatın.

    Docker kurulumu hakkında bilgi için bkz. Docker ve Docker Compose'u yükleme ve kullanma .
    docker compose up -d
  4. Bir kullanıcı kaydetmek ve oturum açmak için http://<IP_ADDRESS>/install adresine gidin. <IP_ADDRESS> yerine Dify'yı çalıştıran sunucunun IP adresini yazın.

    image

3. Adım: Bir sohbet asistanı oluşturma

  1. Sağ üst köşedeki profil resminizin üzerine gelin ve Settings seçeneğine tıklayın.

    image

  2. Sol gezinme bölmesinde Model Providers seçeneğine tıklayın, ardından bir model sağlayıcı seçip yükleyin. Bu örnekte Tongyi Qianwen kullanılmaktadır.

  3. Yükleme tamamlandıktan sonra modeli To be configured bölümünde bulun. Setup seçeneğine tıklayın, API anahtarınızı girin ve kaydedin.

    image

  4. Dify arayüzünde üst kısımdaki Studio > Chatbot seçeneklerine tıklayın. Create Blank App seçeneğine tıklayın, uygulamaya bir ad verin ve ardından Create seçeneğine tıklayın.

    image

  5. İstemi tanımlayın. Aşağıda örnek bir istem verilmiştir:

    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. Sayfanın sağ üst köşesinde Publish > Run seçeneklerine tıklayarak bir konuşma başlatın.

    Aşağıda örnek bir konuşma verilmiştir:

    Soru

    Can you tell me something about ClickHouse?

    Örnek yanıt

    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. Adım: Gözlemlenebilirlik verilerini sorgulama ve analiz etme

  1. Alibaba Cloud ClickHouse örneğinizin ayrıntılar sayfasında sol gezinme bölmesindeki ClickStack seçeneğine tıklayarak hizmet portalını açın.

  2. Ana sayfada Dify uygulamanızdan gelen gözlemlenebilirlik verilerini sorgulayabilir ve analiz edebilirsiniz.

    image