Envie dados de log coletados do Simple Log Service para o Object Storage Service (OSS) para armazenamento e análise de longo prazo.
A versão antiga do envio de logs para o OSS foi descontinuada. Consulte a nova versão.
Pré-requisitos
Crie um projeto e um Logstore. Para mais informações, consulte Criar um projeto e um Logstore.
Colete dados no seu Logstore. Para mais informações, consulte Coleta de dados.
Crie um bucket na mesma região do seu projeto SLS. Para mais informações, consulte Criar um bucket no console.
-
Conclua a Autorização de Acesso a Recursos Cloud.
Para enviar logs entre contas Alibaba Cloud ou usar um usuário RAM, conclua primeiro a autorização RAM para envio de logs ao OSS.
Na página Autorização de Acesso a Recursos Cloud, selecione a função AliyunLogDefaultRole, que inclui permissões de gravação no OSS, e clique em Agree to Authorization.
Visão geral
O Simple Log Service arquiva automaticamente os dados do Logstore no OSS para armazenamento e análise de longo prazo.
As regras de ciclo de vida do OSS permitem a retenção de dados a longo prazo.
Processe dados do OSS com E-MapReduce, Data Lake Analytics (DLA) ou programas personalizados.
Envio de dados
Após ativar o envio, o Simple Log Service executa instâncias de envio simultaneamente.
Depois de criar uma instância de envio, verifique o status da tarefa e confira os dados enviados ao OSS.
Faça login no console do Simple Log Service.
-
Na seção Projects, clique em no projeto desejado.

Na aba , clique em no ícone > à esquerda do Logstore de destino e escolha .
Passe o mouse sobre Object Storage Service e clique em no ícone +.
-
No painel Data Shipping to OSS, configure os parâmetros abaixo e clique em OK.
Defina Shipping Version como Old Version e configure os seguintes parâmetros.
Parâmetro
Descrição
Nome do envio OSS
Nome da tarefa de envio.
Bucket OSS
Nome do bucket OSS.
Importante-
O bucket deve existir na mesma região do projeto SLS e não pode ter o recurso Write-Once-Read-Many (WORM) ativado. Para mais informações sobre WORM, consulte Políticas de retenção no nível do bucket (BucketWorm).
-
É possível enviar dados para um bucket com classe de armazenamento Standard, Infrequent Access (IA), Archive, Cold Archive ou Deep Cold Archive. A classe de armazenamento dos objetos OSS gerados segue, por padrão, a do bucket. Para mais informações, consulte Classes de armazenamento.
-
Classes de armazenamento diferentes de Standard possuem durações mínimas de armazenamento e tamanhos faturáveis. Escolha uma classe de armazenamento para o bucket de destino que atenda aos seus requisitos. Para mais informações, consulte Comparação de classes de armazenamento.
Prefixo OSS
Prefixo de diretório no bucket OSS. O valor não pode começar com barra (/) ou barra invertida (\).
Os dados do Logstore são enviados para este diretório no bucket OSS de destino.
Formato de partição
Caminho de diretório gerado dinamicamente com base no horário de criação da tarefa. O valor não pode começar com barra (/). Padrão: %Y/%m/%d/%H/%M. Para exemplos, consulte Formato de partição. Para referência de parâmetros, veja a API strptime.
Função RAM para gravação no OSS
Função RAM que concede acesso de gravação ao bucket OSS para a tarefa de envio.
-
Default Role: Autoriza o trabalho de envio de dados a assumir a função de sistema da Alibaba Cloud
AliyunLogDefaultRolepara gravar dados no bucket OSS. Insira o ARN deAliyunLogDefaultRole. Para obter informações sobre como conseguir o ARN, consulte Acessar dados usando uma função padrão. -
Custom Role: Autoriza o trabalho de envio de dados a assumir uma função RAM personalizada para gravar dados no bucket OSS.
Primeiro, conceda à função RAM personalizada permissões para gravar dados no bucket OSS. Em seguida, insira o ARN da sua função RAM personalizada no campo OSS Write RAM Role. Para mais informações sobre como obter o ARN, consulte os seguintes tópicos:
-
Se o Logstore e o bucket OSS pertencerem à mesma conta Alibaba Cloud, consulte Etapa 2: Conceder permissões a uma função RAM para gravar dados em um bucket OSS.
-
Se o Logstore e o bucket OSS pertencerem a contas Alibaba Cloud diferentes, consulte Etapa 2: Conceder à função RAM role-b na conta Alibaba Cloud B permissões para gravar dados em um bucket OSS.
-
Tamanho do envio
Tamanho máximo de dados não compactados por shard. Valores válidos: 5 a 256 MB.
Uma nova instância de envio é criada quando os dados atingem esse tamanho.
Formato de armazenamento
Formato de arquivo para dados armazenados no OSS. Formatos suportados: Formato JSON, Formato CSV e Formato Parquet.
Compactação
Método de compactação para dados enviados ao OSS.
-
None: Os dados são armazenados sem compactação.
-
snappy: Compacta dados usando o algoritmo snappy para reduzir o uso de armazenamento no OSS.
Intervalo de envio
Intervalo de envio por shard. Valores válidos: 300 a 900 segundos. Padrão: 300 segundos.
Uma nova instância de envio é criada quando esse intervalo expira.
-
Visualize dados no OSS
Após o envio bem-sucedido dos dados para o OSS, acesse-os pelo console do OSS, uma API, um SDK ou outras ferramentas. Para mais informações, consulte Gerenciamento de arquivos.
O caminho do objeto OSS segue o formato abaixo:
oss://OSS-BUCKET/OSS-PREFIX/PARTITION-FORMAT_RANDOM-ID
Neste formato, OSS-BUCKET é o nome do bucket, OSS-PREFIX é o prefixo do diretório, PARTITION-FORMAT é o caminho da partição gerado a partir do horário de criação da tarefa de envio usando a API strptime, e RANDOM-ID é o ID exclusivo da tarefa de envio.
O diretório OSS baseia-se no horário de criação da tarefa de envio, e não no timestamp dos dados de log. Por exemplo, se uma tarefa criada em 2016-06-23 00:00:00 envia dados gravados após 2016-06-22 23:55 a cada 5 minutos, analisar todos os dados de 2016-06-22 exige verificar tanto o diretório 2016/06/22 quanto os primeiros dez minutos no diretório 2016/06/23/00/.
Formato de partição
Cada tarefa de envio mapeia para um diretório OSS no formato oss://OSS-BUCKET/OSS-PREFIX/PARTITION-FORMAT_RANDOM-ID. PARTITION-FORMAT deriva do horário de criação da tarefa. A tabela a seguir apresenta exemplos com base em uma tarefa criada em 2017/01/20 19:50:43.
|
Bucket OSS |
Prefixo OSS |
Formato de partição |
Caminho do objeto OSS |
|
test-bucket |
test-table |
%Y/%m/%d/%H/%M |
oss://test-bucket/test-table/2017/01/20/19/50_1484913043351525351_2850008 |
|
test-bucket |
log_ship_oss_example |
year=%Y/mon=%m/day=%d/log_%H%M%S |
oss://test-bucket/log_ship_oss_example/year=2017/mon=01/day=20/log_195043_1484913043351525351_2850008.parquet |
|
test-bucket |
log_ship_oss_example |
ds=%Y%m%d/%H |
oss://test-bucket/log_ship_oss_example/ds=20170120/19_1484913043351525351_2850008.snappy |
|
test-bucket |
log_ship_oss_example |
%Y%m%d/ |
oss://test-bucket/log_ship_oss_example/20170120/_1484913043351525351_2850008 Nota
Este formato pode impedir que plataformas como Hive analisem o conteúdo do OSS. Recomendamos evitar este formato. |
|
test-bucket |
log_ship_oss_example |
%Y%m%d%H |
oss://test-bucket/log_ship_oss_example/2017012019_1484913043351525351_2850008 |
Ao analisar dados do OSS com plataformas de big data como Hive, MaxCompute ou Alibaba Cloud Data Lake Analytics (DLA), defina o formato de partição como key=value para utilizar as informações de partição. Por exemplo, no caminho oss://test-bucket/log_ship_oss_example/year=2022/mon=01/day=20/log_195043_1484913043351525351_2850008.parquet, três colunas de partição são definidas: year, mon e day.
Gerencie tarefas de envio
Na página OSS Shipper, modifique, desative ou tente novamente tarefas de envio, além de visualizar status e mensagens de erro.
-
Modifique uma tarefa de envio
Clique em Shipping Configuration para modificar a tarefa de envio. Descrições dos parâmetros: Envio de dados.
-
Desativar uma tarefa de envio
Clique em Disable para interromper a tarefa de envio.
-
Visualize status da tarefa e mensagens de erro
Veja as tarefas de envio e seus status das últimas 48 horas.
-
Status da tarefa
Status
Descrição
Succeeded
A tarefa de envio está executando conforme esperado.
Running
A tarefa de envio está em andamento. Verifique novamente mais tarde.
Failed
A tarefa falhou devido a um erro externo e não pode ser repetida automaticamente. Solucione o problema com base na mensagem de erro e tente novamente.
-
Mensagens de erro
Se uma tarefa de envio falhar, o console exibirá uma mensagem de erro.
Mensagem de erro
Causa
Solução
UnAuthorized
Você não tem as permissões necessárias.
Verifique o seguinte:
-
O proprietário do bucket OSS criou a função AliyunLogDefaultRole.
-
O ID da conta Alibaba Cloud na política de confiança da função está correto.
-
A função AliyunLogDefaultRole possui permissões de gravação no bucket OSS.
-
O ARN da função RAM está correto.
ConfigNotExist
A configuração de envio não existe.
Esse erro geralmente ocorre porque a tarefa de envio foi desativada. Reative a tarefa e tente novamente.
InvalidOssBucket
O bucket OSS não existe.
Verifique o seguinte:
-
O bucket OSS está na mesma região do projeto Simple Log Service.
-
O nome do bucket está correto.
InternalServerError
Ocorreu um erro interno no Simple Log Service.
Tente executar a tarefa novamente.
-
-
Tentar tarefas novamente
O Simple Log Service repete automaticamente tarefas falhas das últimas 48 horas em intervalos de backoff exponencial: 15 minutos, 30 minutos, 60 minutos e assim por diante.
Para repetir imediatamente as tarefas com falha, clique em Retry All Failed Tasks, clique em Retry ao lado da tarefa desejada ou use uma API ou SDK para repetir uma tarefa específica.
-