Todos os produtos
Search
Central de documentação

Simple Log Service:Enriquecer dados do ApsaraDB RDS for MySQL

Última atualização: Jul 03, 2026

Se você armazena dados tanto em um logstore do Simple Log Service quanto em um banco de dados ApsaraDB RDS for MySQL, utilize o recurso de transformação de dados do Simple Log Service para acessar o banco de dados por meio de seu endpoint interno e enriquecer os dados.

Como funciona

A figura a seguir ilustra como a transformação de dados no Simple Log Service acessa um banco de dados ApsaraDB RDS for MySQL para enriquecimento de dados.

image

Visão geral da solução

Esta solução consiste em três etapas:

  1. Obter as configurações de parâmetros avançados para o job de transformação de dados: Primeiro, faça login no console do ApsaraDB RDS para obter as informações da instância do ApsaraDB RDS for MySQL. Em seguida, use o OpenAPI Explorer para chamar uma operação de API e obter as configurações de parâmetros avançados.

  2. Iniciar um job de transformação de dados no logstore de source: Configure uma regra de transformação de dados para enriquecer os dados.

  3. Salvar os resultados da transformação no logstore de destino: Armazene os dados enriquecidos em um logstore de destino.

Pré-requisitos

  • O logstore de source contém dados de log brutos.

  • A instância do ApsaraDB RDS for MySQL e o projeto do Simple Log Service estão na mesma região.

Etapa 1: Obter configurações de parâmetros avançados

  1. Faça login no console do ApsaraDB RDS.

  2. Configure uma lista de permissões. Para mais informações, consulte Configurar uma lista de permissões.

    1. Na barra de navegação à esquerda, clique em Whitelist and SecGroup > Create Whitelist, insira um nome para o grupo e defina a lista de permissões de endereços IP como 100.104.0.0/16.

    No painel de navegação à esquerda, clique em Instances. Localize a instância desejada e clique em seu ID.

  3. Obtenha o ID da instância e a porta interna.

    1. No painel de navegação à esquerda, clique em Basic Information. Na página Basic Information, localize e copie o Instance ID.

    2. No painel de navegação à esquerda, clique em Database Connection. Na página Database Connection, localize e copie a Internal Port:.

  4. Obtenha o VpcId e o VpcCloudInstanceId da instância desejada.

    1. Abra a página do OpenAPI Explorer. Na página Parameters > Input Parameters, localize a caixa de texto DBInstanceId Instance ID e insira o ID da instância desejada copiado. Para mais informações sobre a operação de API, consulte Consultar detalhes da instância.

    2. Clique em Operations e, na página Invocation Result, copie VpcId e VpcCloudInstanceId.

      "VSwitchId": "xxx",
      "TipsLevel": 0,
      "PayType": "Postpaid",
      "LockMode": "Unlock",
      "DeletionProtection": false,
      "DBInstanceStorageType": "general_essd",
      "InsId": 1,
      "VpcId": "xxx",
      "ConnectionMode": "Standard",
      "VpcCloudInstanceId": "xxx",
      "RegionId": "cn-hangzhou",
      "ConnectionString": "xxx",
      "ExpireTime": ""

Etapa 2: Iniciar um job de transformação de dados

  1. Faça login no console do Simple Log Service.

  2. Acesse a página de transformação de dados.

    1. Na seção Projects, clique no projeto desejado.

    2. Na aba Log Storage > Logstores, clique no logstore desejado.

    3. Na página de consulta e análise, clique em Data Transformation.

    4. Na página de transformação de dados, clique em Switch to Data Transformation (Old Version).

  3. Adicione as configurações de parâmetros avançados.

    1. No canto superior direito da página, selecione Advanced e clique em Preview Data.

    2. No painel Add Preview Settings, clique em Advanced Options e adicione os seguintes parâmetros.

      Importante

      Em todos os parâmetros de configuração da tabela, your_name pode ser personalizado, mas deve manter a consistência. Além disso, deve corresponder ao your_name nas regras de processamento.

      Parâmetro

      Valor

      Descrição

      config.vpc.vpc_id.your_name

      vpc-uf6mskb0b****n9yj

      ID da VPC da instância desejada.

      Para instruções, consulte Obter o VpcId da instância desejada.

      config.vpc.instance_id.your_name

      rm-uf6e61k****ahd7-2024091513

      ID da instância desejada.

      Para instruções, consulte Obter o VpcCloudInstanceId da instância desejada.

      Para um banco de dados MySQL autogerenciado na mesma região da Alibaba Cloud, use o parâmetro config.vpc.instance_ip.your_name para especificar o endereço IP do banco de dados dentro da VPC.

      config.vpc.instance_port.your_name

      3306

      Porta interna da instância desejada.

      Para instruções, consulte Obter a porta interna da instância desejada.

    3. Após confirmar as configurações, clique em OK.

  4. Edite a regra de transformação.

    1. No editor, adicione as seguintes instruções.

      O código a seguir fornece um exemplo de sintaxe. Para mais informações sobre funções de enriquecimento de dados e funções de recursos, consulte Enriquecer dados usando dados de um banco de dados ApsaraDB RDS for MySQL e Funções de recursos.

      /*
      e_table_map()     Data enrichment function.
      res_rds_mysql()   Pull function. Pulls table content or SQL execution results from an ApsaraDB RDS for MySQL database.
      str_format()      String formatting function. The `your_name` in `res_local()` must match the `your_name` in the advanced parameter settings.
      field             Matching field. The field used as the basis for matching log data in the logstore with data in the ApsaraDB RDS for MySQL table. A match is successful only when the value of this field is identical in both sources.
      output_fields     Output fields. If a match is successful, the values of these fields are returned to generate a new log entry.
      */
      e_table_map(
          res_rds_mysql(
              str_format("{}:{}", 
                         res_local("config.vpc.instance_id.your_name"), 
                         res_local("config.vpc.instance_port.your_name")), 
              "database_username", 
              "database_password", 
              "database_name",
              table="table_name"
          ), 
          "field", 
          "output_fields"
      )

      A instrução de transformação é a seguinte:

      A regra a seguir corresponde ao campo process_time_in_ms em um logstore do Simple Log Service com o campo process_time_in_ms em uma tabela de banco de dados RDS MySQL. A correspondência só é bem-sucedida se os valores do campo process_time_in_ms forem idênticos. Após uma correspondência bem-sucedida, a regra recupera os campos model e purchase_price e seus valores da tabela do banco de dados RDS MySQL e os combina com os dados no logstore para gerar novos dados.

      e_table_map(
        res_rds_mysql(
          str_format("{}:{}",
              res_local("config.vpc.instance_id.test"),
              res_local("config.vpc.instance_port.test")),
          "xxx",
          "xxx","xxx xxx",
          "database",
          table="bicycles",
          primary_keys="process_time_in_ms"),
        "process_time_in_ms",
        ["model","purchase_price"]
      )
  5. Visualize os Transformation Results.

    Na tabela principal, os logs são roteados para o destino de saída __default__, mantendo os campos chave-valor originais como remote_addr e request_method. Isso indica que a regra de transformação não encontrou correspondência para esses logs, e eles foram enviados ao destino padrão em seu estado original.

    Um registro de log com correspondência bem-sucedida inclui campos-chave como model (XTC 800), purchase_price (3000.00) e process_time_in_ms (788). A entrada de log completa é a seguinte:

    __source__ :127.0.0.1
    __tag__:__receive_time__ :1725962982
    __tag__:_container_ip_ :183.227.33.184
    __tag__:_container_name_ :container3
    __tag__:_image_name_ :image3
    __tag__:_path_ :/home/local
    __topic__ :tomcat_access_log
    body_bytes_sent :6344
    model :XTC 800
    process_time_in_ms :788
    purchase_price :3000.00
    referer :www.phn.mock.com
    remote_addr :202.92.0.182
    remote_user :v-0
    request_method :GET
    request_protocol :HTTP/2.0
    request_uri :/request/path-3/file-1
    status :200
    time :10/Sep/2024:09:09:35
    user_agent :Mozilla/5.0 (Windows NT 6.1) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.3 Safari/534.24

    No canto superior direito, clique em Preview Data para processar os dados.

  6. Etapa 3: Salvar os resultados da transformação

    1. No canto inferior direito, clique em Save as Transformation Job (Old Version).

      Na caixa de diálogo Create Data Transformation Job, primeiro insira um Job Name (com prefixo etl-), um Display Name e uma Job Description. Selecione Default Role para o Authorization Method. Em seguida, na seção Storage Target, configure o Target Name, Target Region, Target Project e Target Logstore, e selecione Default Role para autorização. Por fim, na seção Processing Scope (Data Reception Time), selecione um intervalo de tempo, como All, From a Specific Time ou Specific Time Range.

    2. No painel de navegação à esquerda, em Logstores, clique no logstore de destino onde os resultados da transformação são salvos. No canto superior direito da página, selecione um intervalo de tempo para os dados.

      Após selecionar um intervalo de tempo, verifique a aba Raw Logs para confirmar que os resultados da transformação foram salvos.

      Os logs processados agora contêm os novos campos model (XTC 800) e purchase_price (3000.00). Isso confirma que os resultados da transformação foram gravados no logstore de destino.

    Apêndice: Acessar AnalyticDB e PolarDB for MySQL

    Além do ApsaraDB RDS for MySQL, o Simple Log Service também suporta o acesso a bancos de dados AnalyticDB for MySQL e PolarDB for MySQL por meio de seus endpoints internos. As configurações necessárias estão descritas abaixo:

    • Banco de dados AnalyticDB for MySQL

      Ao configurar as Advanced Parameter Settings, defina o valor de config.vpc.instance_id.your_name como o ID da sua instância do AnalyticDB for MySQL seguido por -controller. Para as demais configurações, consulte este documento.

      Defina também config.vpc.vpc_id.your_name como o ID da VPC correspondente e config.vpc.instance_port.your_name como 3306.

    • Para o PolarDB for MySQL, use a mesma configuração do ApsaraDB RDS for MySQL.