Envie os dados de log coletados pelo Simple Log Service (SLS) para um bucket do Object Storage Service (OSS) para armazenamento e análise.
Pré-requisitos
Você criou um projeto e um Logstore. Coletar e analisar logs de texto do ECS usando o LoongCollector
A coleta de dados está ativa. Coleta de dados
Você criou um bucket do OSS na mesma região do projeto do SLS. Criar buckets
Regiões compatíveis
O SLS envia dados para um bucket do OSS localizado na mesma região do projeto do SLS.
A nova versão do envio de dados para o OSS está disponível apenas nas seguintes regiões: China (Hangzhou), China (Shanghai), China (Qingdao), China (Beijing), China (Zhangjiakou), China (Hohhot), China (Ulanqab), China (Chengdu), China (Shenzhen), China (Heyuan), China (Guangzhou), China (Hong Kong), Singapura, Malásia (Kuala Lumpur), Indonésia (Jakarta), Filipinas (Manila), Tailândia (Bangkok), Japão (Tóquio), EUA (Vale do Silício) e EUA (Virgínia).
Crie um trabalho de envio de dados
Faça login no console do Simple Log Service.
-
Na seção Projects, clique em no projeto desejado.

Na aba , localize o Logstore, clique em > e escolha .
Passe o ponteiro do mouse sobre Object Storage Service (OSS) e clique em no ícone +.
No painel Create Data Shipping Job, selecione OSS Export e clique em OK.
-
No painel Data Shipping to OSS, configure os parâmetros e clique em OK.
ImportanteO sistema envia os dados de um shard para o OSS quando a condição de Tamanho de Envio ou Tempo de Envio é atendida.
Após criar o trabalho, verifique o status dele e os dados enviados no OSS.
Parâmetro
Descrição
Job Name
Nome do trabalho de envio.
Display Name
Nome de exibição do trabalho de envio.
Job Description
Descrição do trabalho de envio.
OSS Bucket
Bucket do OSS de destino para o envio de dados.
Importante-
O bucket deve ter a política WORM (Write Once Read Many) desativada e residir na mesma região do seu projeto do SLS. Política de retenção no nível do bucket (BucketWorm)
-
Classes de armazenamento compatíveis: Standard, Infrequent Access (IA), Archive, Cold Archive e Deep Cold Archive. Os objetos enviados herdam a classe de armazenamento do bucket. Visão geral das classes de armazenamento
-
Classes de armazenamento não padrão impõem períodos mínimos de armazenamento e tamanhos mínimos faturáveis. Escolha uma classe de armazenamento de acordo com seus requisitos. Classes de armazenamento
File Delivery Directory
Diretório no bucket do OSS para onde os dados serão enviados. O nome não pode começar com barra (/) ou barra invertida (\).
Os dados do Logstore são enviados para este diretório.
Object Suffix
Sufixo anexado aos nomes dos objetos do OSS. Se não for especificado, o SLS gera um sufixo com base no formato de armazenamento e no tipo de compactação. Exemplo:
.suffix.Partition Format
Formato usado para gerar subdiretórios no bucket do OSS com base no tempo de envio. Padrão: %Y/%m/%d/%H/%M. Não pode começar com barra (/). Formatos de partição. Para obter detalhes sobre os parâmetros do formato de partição, consulte a API strptime.
OSS Write RAM Role
Método de autorização para gravar dados no bucket do OSS. Valores válidos:
-
Default Role: Usa a função de sistema AliyunLogDefaultRole. O ARN (Alibaba Cloud Resource Name) é preenchido automaticamente. Acessar dados usando uma função padrão
-
Custom Role: Usa uma função personalizada do RAM com permissões de gravação no bucket do OSS.
Conceda permissões de gravação à função personalizada no bucket do OSS e insira o ARN no campo OSS Write RAM Role. Obtenha o ARN conforme o seu cenário:
-
Mesma conta: Etapa 2: Conceder permissões de gravação para um bucket do OSS
-
Contas diferentes: Etapa 2: Conceder permissões de gravação na Conta B
-
Logstore Read RAM Role
Método de autorização para ler dados do Logstore. Valores válidos:
-
Default Role: Usa a função de sistema AliyunLogDefaultRole. O ARN é preenchido automaticamente. Acessar dados usando uma função padrão
-
Custom Role: Usa uma função personalizada do RAM com permissões de leitura no Logstore.
Conceda permissões de leitura à função personalizada no Logstore e insira o ARN no campo Logstore Read RAM Role. Obtenha o ARN conforme o seu cenário:
Storage Format
Formato para armazenar os dados enviados no OSS. Formato CSV, Formato JSON, Formato Parquet e Formato ORC.
Compress
Define se os dados enviados devem ser compactados. Valores válidos:
-
No Compress(none): Sem compactação.
-
Compress(snappy): Compacta dados usando o algoritmo snappy para reduzir o uso de armazenamento.
-
Compress(zstd): Compacta dados usando o algoritmo zstd para reduzir o uso de armazenamento.
-
Compress(gzip): Compacta dados usando o algoritmo gzip para reduzir o uso de armazenamento.
Ship Tag
Campo reservado. Campos reservados
Batch Size
O envio começa quando os dados brutos em um shard atingem este limiar. Também determina o tamanho dos dados brutos em cada objeto do OSS. Valores válidos: 5 a 256. Unidade: MB.
NotaEste parâmetro especifica a quantidade de dados brutos lidos de um shard, e não a quantidade de dados armazenados. O envio só começa após a condição de Intervalo de Envio também ser atendida.
Batch Interval
O envio começa quando o intervalo de tempo entre o primeiro e o enésimo log recebido em um shard atinge este valor. Valores válidos: 300 a 900. Unidade: segundos. Valor padrão: 300.
Shipping Time
Intervalo entre as operações de envio para um shard. Valores válidos: 300 a 900. Valor padrão: 300. Unidade: segundos.
Shipping Latency
Atraso antes do envio dos dados. Por exemplo, um valor de 3600 atrasa o envio em 1 hora: dados gerados às 10:00:00 em 5 de junho de 2023 são gravados no OSS às 11:00:00. Itens de configuração
Start Time Range
Intervalo de tempo dos dados a serem enviados, com base no horário de recebimento do log. Valores válidos:
-
All: Envia todos os dados do Logstore, desde o primeiro log até que o trabalho seja interrompido manualmente.
-
From Specific Time: Envia dados a partir do horário inicial especificado até que o trabalho seja interrompido manualmente.
-
Specific Time Range: Envia dados entre o horário inicial e final especificados.
NotaO intervalo de tempo baseia-se no campo
__tag__:__receive_time__. Campos reservadosTime Zone
Fuso horário para formatação dos valores de tempo.
Quando tanto o Time Zone quanto o Shard Format são configurados, os subdiretórios no bucket do OSS são gerados de acordo.
Visualize dados no OSS
Após o envio dos dados, visualize-os no console do OSS ou acesse-os por meio da API ou SDK do OSS. Gerencie objetos
As URLs dos objetos do OSS seguem este formato:
oss://OSS-BUCKET/OSS-PREFIX/PARTITION-FORMAT_RANDOM-ID
OSS-BUCKET é o nome do bucket. OSS-PREFIX é o diretório. PARTITION-FORMAT é o formato de partição usado para gerar subdiretórios com base no tempo de envio, utilizando a API strptime. RANDOM-ID é o identificador exclusivo de uma operação de envio.
Cada operação de envio grava dados em um objeto separado do OSS. O caminho do objeto é determinado pelo receive_time mais antigo dos dados enviados. Observe os seguintes cenários:
Envio em tempo real com intervalos de 5 minutos: Uma operação de envio às 00:00:00 de 22 de janeiro de 2022 pode incluir dados gravados no shard após as 23:55:00 de 21 de janeiro de 2022. Para analisar todos os dados de 22 de janeiro, verifique tanto o subdiretório 2022/01/22 quanto os objetos mais recentes em 2022/01/21.
Envio histórico com baixo volume de dados: Uma única operação pode extrair dados abrangendo vários dias. Objetos no subdiretório 2022/01/22 podem conter todos os dados de 23 de janeiro de 2022, sem haver objetos em 2022/01/23.
Formatos de partição
Cada operação de envio corresponde a uma URL de objeto do OSS no formato oss://OSS-BUCKET/OSS-PREFIX/PARTITION-FORMAT_RANDOM-ID. A tabela a seguir mostra exemplos de formatos de partição para uma operação de envio realizada às 19:50:43 em 20 de janeiro de 2022.
|
OSS Bucket |
OSS Prefix |
Formato de partição |
Sufixo do objeto |
URL do objeto do OSS |
|
test-bucket |
test-table |
%Y/%m/%d/%H/%M |
.suffix |
oss://test-bucket/test-table/2022/01/20/19/50_1484913043351525351_2850008.suffix |
|
test-bucket |
log_ship_oss_example |
year=%Y/mon=%m/day=%d/log_%H%M |
.suffix |
oss://test-bucket/log_ship_oss_example/year=2022/mon=01/day=20/log_1950_1484913043351525351_2850008.suffix |
|
test-bucket |
log_ship_oss_example |
ds=%Y%m%d/%H |
.suffix |
oss://test-bucket/log_ship_oss_example/ds=20220120/19_1484913043351525351_2850008.suffix |
|
test-bucket |
log_ship_oss_example |
%Y%m%d/ |
.suffix |
oss://test-bucket/log_ship_oss_example/20220120/_1484913043351525351_2850008.suffix Nota
Este formato pode causar falhas de análise em plataformas como o Hive. Não recomendado. |
|
test-bucket |
log_ship_oss_example |
%Y%m%d%H |
.suffix |
oss://test-bucket/log_ship_oss_example/2022012019_1484913043351525351_2850008.suffix |
Para analisar dados do OSS em plataformas de big data como Hive, MaxCompute ou Data Lake Analytics (DLA), defina o PARTITION-FORMAT no formato chave=valor. Exemplo: oss://test-bucket/log_ship_oss_example/year=2022/mon=01/day=20/log_195043_1484913043351525351_2850008.parquet. Neste exemplo, ano, mês e dia são colunas de chave de partição.