Todos os produtos
Search
Central de documentação

ApsaraDB for ClickHouse:Envie dados de observabilidade do Dify para o Alibaba Cloud ClickHouse Enterprise Edition

Última atualização: Jun 28, 2026

Este artigo mostra como enviar dados de observabilidade da sua aplicação Dify para o Alibaba Cloud ClickHouse Enterprise Edition e analisá-los com o serviço de observabilidade unificado. Esse processo ajuda a monitorar o desempenho da aplicação e resolver problemas com mais eficiência.

Pré-requisitos

  • A instância do Alibaba Cloud ClickHouse Enterprise Edition deve ter o serviço de observabilidade unificado ativado.

  • Este tópico usa o Tongyi Qianwen como exemplo. Obtenha uma chave de API para autenticar chamadas ao modelo de linguagem grande (LLM).

Procedimento

Neste exemplo, o serviço de negócios e o OpenTelemetry Collector são implantados na mesma instância ECS. Em ambientes de produção, recomendamos implantar o serviço de negócios e o OpenTelemetry Collector separadamente.

Etapa 1: Implantar o OpenTelemetry Collector

  1. Configure a instância ECS.

    1. Adquira uma instância ECS. Recomendamos atribuir um endereço IP público durante a aquisição para permitir acesso pela rede pública.

    2. Adicione o endereço IP da instância ECS à lista de permissões do Alibaba Cloud ClickHouse.

      • Endereço IP privado: se a instância ECS e a instância do Alibaba Cloud ClickHouse Enterprise Edition estiverem na mesma Virtual Private Cloud (VPC), adicione o endereço IP privado da instância ECS à lista de permissões. Nesse caso, use o endpoint de VPC da instância do Alibaba Cloud ClickHouse nas etapas seguintes.

      • Endereço IP público: se a instância ECS não conseguir se conectar à instância do Alibaba Cloud ClickHouse Enterprise Edition pela rede privada, adicione o endereço IP público da instância ECS à lista de permissões. Nesse cenário, utilize o endpoint público da instância do Alibaba Cloud ClickHouse nas etapas subsequentes.

      Conecte-se à instância ECS e execute o comando abaixo para testar a conexão com a instância do Alibaba Cloud ClickHouse. Uma resposta Ok. indica que a conexão foi bem-sucedida.

      curl http://cc-xxxxxxx-clickhouse.clickhouseserver.pre.rds.aliyuncs.com:8123
  2. Conecte-se à instância ECS e execute os comandos a seguir para instale o 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. Configure o OpenTelemetry Collector para receber dados de observabilidade via gRPC e HTTP e enviá-los à instância do Alibaba Cloud ClickHouse por HTTP.

    Copie o comando abaixo e modifique a configuração conforme descrito:

    • Na seção receivers, recomendamos substituir o endpoint do receptor OTLP pelo endpoint do seu serviço OpenTelemetry Collector.

    • Na seção exporters:

      • Defina os detalhes de conexão da sua instância do Alibaba Cloud ClickHouse, incluindo endpoint, username e password.

      • Especifique o banco de dados e os nomes das tabelas para armazenar os dados de observabilidade na instância do Alibaba Cloud ClickHouse. Isso inclui database, traces_table_name, logs_table_name e 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. Execute o OpenTelemetry Collector.

    service otelcol-contrib restart

Etapa 2: Implantar e iniciar o Dify

  1. Execute o comando abaixo para implantar o Dify.

    git clone https://github.com/langgenius/dify.git
  2. Execute os comandos a seguir para preparar o arquivo de configuração do Dify para edição.

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

    No arquivo .env, defina os parâmetros abaixo:

    • Defina ENABLE_OTEL como true.

    • Configure OTEL_EXPORTER_OTLP_PROTOCOL com o valor HTTP.

    • Aponte OTLP_BASE_ENDPOINT para o endpoint do OpenTelemetry Collector acessível a partir do contêiner do Dify, por exemplo, http://<YOUR_ECS_IP>:4318.

  3. Execute o serviço Dify.

    Para instruções sobre a instalação do Docker, consulte Instalar e usar Docker e Docker Compose .
    docker compose up -d
  4. Acesse http://<IP_ADDRESS>/install para registrar um usuário e fazer login. Substitua <IP_ADDRESS> pelo endereço IP do servidor onde o Dify está em execução.

    image

Etapa 3: Crie um assistente de chat

  1. Passe o mouse sobre sua foto de perfil no canto superior direito e clique em Settings.

    image

  2. No painel de navegação à esquerda, clique em Model Providers, selecione e instale um provedor de modelos. Este exemplo utiliza o Tongyi Qianwen.

  3. Após concluir a instalação, localize o modelo na seção To be configured. Clique em Setup, insira sua chave de API e salve.

    image

  4. Na interface do Dify, clique em Studio > Chatbot na parte superior. Clique em Create Blank App, dê um nome à aplicação e clique em Create.

    image

  5. Defina o prompt. Veja um exemplo abaixo:

    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. No canto superior direito da página, clique em Publish > Run para iniciar uma conversa.

    Confira um exemplo de conversa:

    Pergunta

    Can you tell me something about ClickHouse?

    Exemplo de resposta

    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.
    ......

Etapa 4: Consultar e analisar dados de observabilidade

  1. Na página de detalhes da sua instância do Alibaba Cloud ClickHouse, clique em All-in-one Observe Suite no painel de navegação à esquerda para abrir o portal do serviço.

  2. Na página principal, consulte e analise os dados de observabilidade da sua aplicação Dify.

    image