Todos os produtos
Search
Central de documentação

Cloud Monitor:Migrar dados históricos do Prometheus autogerenciado para o Managed Service for Prometheus

Última atualização: Jul 05, 2026

Migre dados históricos de uma instância do Prometheus open source autogerenciada para o Managed Service for Prometheus usando o comando promtool migrate.

Pré-requisitos

  • Fonte de dados: Sua instância do Prometheus open source autogerenciada deve usar o TSDB, que é o mecanismo de armazenamento padrão.

  • Instância do Managed Service for Prometheus: Verifique se a instância de destino do Managed Service for Prometheus está em execução.

  • Conectividade de rede: O servidor do Prometheus open source autogerenciado precisa ter acesso ao endpoint Remote Write da sua instância do Managed Service for Prometheus.

  • Dependência de ferramenta: É necessário instalar o promtool fornecido pela Alibaba Cloud.

Etapas de migração

Etapa 1: Obter uma instância do Managed Service for Prometheus

  1. Faça login no Console de Gerenciamento da Alibaba Cloud.

    Acesse o console do Cloud Monitor ou o console do Managed Service for Prometheus, selecione uma instância existente do Prometheus ou crie uma nova.

    Ao criar a instância, defina um período de retenção superior ao período de retenção histórica do seu Prometheus open source autogerenciado.

    Importante

    Avalie o volume de dados local e dimensione os shards do MetricStore do Log Service da sua instância do Prometheus conforme necessário.

    • Volume de dados > 1 GB: Dimensione para 4 shards.

    • Volume de dados > 10 GB: Dimensione para 16 shards.

    • Volume de dados > 100 GB: Dimensione para 64 shards.

    • Volume de dados < 1 TB: Dimensione para 256 shards.

    Caso possua um grande volume de dados, envie um ticket para obter assistência.

  2. Obtenha o endpoint de gravação da instância.

    • Clique no nome da instância de destino para abrir a página Settings e obtenha a URL pública do Remote Write. Se o serviço autogerenciado estiver executando na Alibaba Cloud, também é possível obter a URL interna.

    • Para autenticação, atribua a função AliyunPrometheusMetricWriteAccess a um usuário RAM e gere um par de AccessKey (AK/SK) para usar como credenciais. Como alternativa, na página de configurações da instância, ative o acesso de gravação sem senha para 0.0.0.0. Na seção Access Address, na parte inferior da página, copie a URL do Remote Write referente à rede pública ou interna na coluna Network.

Etapa 2: Migrar com promtool migrate

Nota

O promtool migrate é uma ferramenta oficial do Managed Service for Prometheus que migra dados locais do TSDB para a nuvem.

  1. Prepare a migração.

    • Backup de dados: Faça backup do diretório data/ (caminho de armazenamento do TSDB) do Prometheus autogerenciado antes da migração.

    • Instale o promtool.

      curl -fsSL "https://o11y-addon-hangzhou-public.oss-cn-hangzhou.aliyuncs.com/share/promtool/install.sh" | bash
    • Visualize as informações de ajuda do comando promtool.

      # View all supported tool commands.
      promtool --help
      # View data migration parameters.
      promtool migrate --help
  2. Execute o comando de migração.

    promtool migrate \
      --db_dir=/path/to/local/prometheus/data \  # The TSDB data directory of your self-managed open-source Prometheus.
      --output=rw    # Write data by using Remote Write.
      --rw_url=<Remote_Write_URL> \       # Example: https://xxx.region.aliyuncs.com/api/v1/write
      --rw_username=<AccessKey_ID> \            # The AccessKey ID for your Managed Service for Prometheus instance.
      --rw_password=<AccessKey_Secret> \        # The AccessKey Secret for your Managed Service for Prometheus instance.
      --min_time=START_TIMESTAMP \               # Optional: The start time for the migration (UNIX timestamp in milliseconds).
      --max_time=END_TIMESTAMP \                 # Optional: The end time for the migration (UNIX timestamp in milliseconds).

    Parâmetro

    Descrição

    Exemplo

    --db_dir

    Caminho para o diretório de dados do TSDB do Prometheus open source autogerenciado. Este parâmetro é obrigatório.

    /opt/prometheus/data

    --rw_url

    Endpoint Remote Write da instância do Managed Service for Prometheus. Parâmetro obrigatório.

    https://xxx.region.aliyuncs.com/api/v1/write

    --output

    Método de saída dos dados.

    Valores válidos: rw ou stdout

    --rw_username

    AccessKeyID da instância do Managed Service for Prometheus. Obrigatório caso o acesso de gravação sem senha não esteja ativado.

    LTAI5tXXXXXXX

    --rw_password

    AccessKeySecret da instância do Managed Service for Prometheus. Necessário se o acesso de gravação sem senha estiver desativado.

    Co4XXXXXXXXX

    --min_time

    Horário inicial da migração de dados (timestamp UNIX em milissegundos). O padrão é 0, iniciando a migração a partir dos dados mais antigos.

    1609433200000

    --max_time

    Horário final da migração de dados (timestamp UNIX em milissegundos). Por padrão, corresponde ao momento em que a migração é iniciada.

    1640972400000

    --match

    Filtra as métricas a serem migradas. Suporta expressões regulares.

    '__name__=~"http_*"'

    --rw_batch_size

    Quantidade de amostras enviadas em cada lote. Ajuste este parâmetro para otimizar o desempenho.

    1000

  3. Verifique o resultado da migração.

    1. Inspecione a instância do Managed Service for Prometheus.

      1. Faça login no console do Cloud Monitor ou no console do Managed Service for Prometheus. Na página Instance List, clique no nome da instância de destino.

      2. No painel de navegação à esquerda, clique em Metric Management. Na aba Metrics Explorer, execute uma consulta PromQL.

      3. Confirme se o intervalo de tempo dos dados históricos corresponde ao do Prometheus open source autogerenciado.

    2. Valide a integridade dos dados.

      Selecione métricas essenciais, como up e node_cpu_seconds_total, para confirmar se o volume de dados permanece consistente antes e depois da migração.

Observações de uso

  • Filtragem de dados

    Utilize os parâmetros --min_time, --max_time e --match para restringir a migração a um intervalo de tempo ou conjunto específico de métricas, evitando transferência redundante de dados.

  • Otimização de desempenho

    • Ajuste o --rw_batch_size para aumentar a velocidade da migração. Defina o valor com base na largura de banda da rede e na carga da instância da Alibaba Cloud. O intervalo recomendado varia de 500 a 2000.

    • Para grandes volumes de dados, divida a migração em lotes baseados em tempo, como semanais ou mensais.

  • Segurança

    Evite expor o --rw_password na linha de comando. Prefira usar variáveis de ambiente ou arquivos de configuração para transmitir informações sensíveis.

  • Rede e estabilidade

    Garanta a estabilidade da rede durante a migração. Em caso de falha, utilize o parâmetro --min_time para retomar o processo a partir do ponto de interrupção.

Perguntas frequentes

P1: O que fazer se ocorrer uma falha de autenticação durante a migração?

  • Verifique se --rw_username e --rw_password correspondem à Access Key da sua instância da Alibaba Cloud.

  • Confirme se a URL do Remote Write está correta e se o endpoint Remote Write está habilitado na instância do Managed Service for Prometheus.

P2: Como proceder se a migração estiver muito lenta?

  • Aumente o valor de --rw_batch_size, por exemplo, --rw_batch_size=1000.

  • Assegure-se de que há largura de banda suficiente entre o servidor do Prometheus open source autogerenciado e a instância do Managed Service for Prometheus.

P3: O que fazer se os dados não forem exibidos após a migração?

  • Aguarde alguns minutos para que a instância do Managed Service for Prometheus processe e indexe os dados migrados.

  • Verifique se o período de retenção da instância do Prometheus é adequado.

Ferramenta de conversão de timestamp

Use o comando abaixo para converter uma data em timestamp UNIX em milissegundos.

date -d "2020-01-01 00:00:00" +%s%3N
# Example output: 1577836800000 (corresponds to 2020-01-01 00:00:00 UTC)