Após a coleta de dados pelo Simple Log Service, envie-os ao Object Storage Service (OSS) para armazenamento e análise de longo prazo.
A versão antiga do recurso de 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 da Nuvem.
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 da Nuvem, 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 prolongada dos dados.
Processe os dados do OSS com E-MapReduce, Data Lake Analytics (DLA) ou programas personalizados.
Envio de dados
Ao ativar o envio, o Simple Log Service executa as instâncias de envio simultaneamente.
Após criar uma instância de envio, verifique o status da tarefa e confirme 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 selecione .
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 para o OSS
Nome da tarefa de envio.
Bucket do OSS
Nome do bucket do 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 detalhes sobre WORM, consulte Políticas de retenção no nível de bucket (BucketWorm).
-
É possível enviar dados para buckets com classe de armazenamento Standard, Infrequent Access (IA), Archive, Cold Archive ou Deep Cold Archive. A classe de armazenamento dos objetos gerados no OSS segue, por padrão, a do bucket. Para mais informações, consulte Classes de armazenamento.
-
Classes diferentes de Standard possuem durações mínimas de armazenamento e tamanhos faturáveis. Escolha a classe adequada às suas necessidades para o bucket de destino. Para mais informações, consulte Comparação de classes de armazenamento.
Prefixo do OSS
Prefixo de diretório no bucket do OSS. Não pode começar com barra (/) ou barra invertida (\).
Os dados do Logstore são enviados para este diretório no bucket do OSS de destino.
Formato de partição
Gera dinamicamente um caminho de diretório com base no horário de criação da tarefa. Não pode iniciar com barra (/). Padrão: %Y/%m/%d/%H/%M. Exemplos: Formato de partição. Referência do parâmetro: API strptime.
Função RAM para gravação no OSS
Função RAM que concede à tarefa de envio permissão de escrita no bucket do OSS.
-
Default Role: Autoriza o trabalho de envio de dados a assumir a função de sistema da Alibaba Cloud
AliyunLogDefaultRolepara gravar dados no bucket do OSS. Insira o ARN deAliyunLogDefaultRole. Para saber como obter 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 do OSS.
Primeiro, conceda à função RAM personalizada as permissões necessárias para gravar no bucket do 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 tópicos a seguir:
-
Se o Logstore e o bucket do OSS pertencerem à mesma conta Alibaba Cloud, consulte Etapa 2: Conceder permissões a uma função RAM para gravar dados em um bucket do OSS.
-
Se o Logstore e o bucket do OSS pertencerem a contas Alibaba Cloud diferentes, consulte Etapa 2: Conceder à função RAM role-b da conta Alibaba Cloud B permissões para gravar dados em um bucket do 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 os dados armazenados no OSS. Formatos suportados: Formato JSON, Formato CSV e Formato Parquet.
Compactação
Método de compactação para os dados no OSS.
-
Nenhuma: Os dados não são compactados.
-
snappy: Compacta os 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 é atingido.
-
Visualize dados no OSS
Após o envio bem-sucedido dos dados ao OSS, acesse-os pelo console do OSS, API, SDK ou outras ferramentas. Para mais informações, consulte Gerenciamento de arquivos.
O caminho do objeto no OSS segue o formato abaixo:
oss://OSS-BUCKET/OSS-PREFIX/PARTITION-FORMAT_RANDOM-ID
Nesse formato, OSS-BUCKET representa o nome do bucket, OSS-PREFIX é o prefixo do diretório, PARTITION-FORMAT corresponde ao caminho de 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 no OSS baseia-se no horário de criação da tarefa de envio, e não no timestamp dos dados. Por exemplo, se uma tarefa criada em 2016-06-23 00:00:00 enviar dados gravados após 2016-06-22 23:55 a cada 5 minutos, a análise de todos os dados de 2016-06-22 exigirá a verificação tanto do diretório 2016/06/22 quanto dos primeiros dez minutos no diretório 2016/06/23/00/.
Formato de partição
Cada tarefa de envio mapeia para um diretório no OSS no formato oss://OSS-BUCKET/OSS-PREFIX/PARTITION-FORMAT_RANDOM-ID. O PARTITION-FORMAT deriva do horário de criação da tarefa. A tabela a seguir apresenta exemplos com base em uma tarefa criada em 20/01/2017 19:50:43.
|
Bucket do OSS |
Prefixo do OSS |
Formato de partição |
Caminho do objeto no 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
Esse formato pode impedir que plataformas como o Hive analisem o conteúdo do OSS. Evite utilizá-lo. |
|
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 aproveitar 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 estão definidas: year, mon e day.
Gerencie tarefas de envio
Na página OSS Shipper, modifique, desative ou tente novamente as tarefas de envio, além de visualizar o status e as mensagens de erro.
-
Modifique uma tarefa de envio
Clique em Shipping Configuration para alterar a tarefa. Descrição dos parâmetros: Enviar dados.
-
Desativar uma tarefa de envio
Clique em Disable para interromper a tarefa.
-
Visualize status e mensagens de erro
Consulte as tarefas de envio e seus respectivos status das últimas 48 horas.
-
Status da tarefa
Status
Descrição
Succeeded
A tarefa de envio está operando conforme o esperado.
Running
A tarefa 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
Quando uma tarefa de envio falha, o console exibe uma mensagem de erro.
Mensagem de erro
Causa
Solução
UnAuthorized
Permissões insuficientes.
Verifique os itens abaixo:
-
O proprietário do bucket do 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 escrita no bucket do OSS.
-
O ARN da função RAM está correto.
ConfigNotExist
A configuração não existe.
Geralmente, esse erro ocorre porque a tarefa de envio foi desativada. Reative a tarefa e tente novamente.
InvalidOssBucket
O bucket do OSS não existe.
Verifique os pontos a seguir:
-
O bucket do 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 as tarefas com falha das últimas 48 horas usando 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.
-