O acesso ao Object Storage Service (OSS) gera um grande volume de logs. Após configure o logging para um bucket, o OSS gera objetos de log a cada hora com base em uma regra de nomenclatura predefinida e armazena os logs de acesso como objetos em um bucket específico. Use o comando logging para ative ou desativar o logging de um bucket e consultar as configurações de logging.
Observações de uso
Para ative o logging de um bucket e armazenar os logs de acesso no próprio bucket, você precisa da permissão
oss:PutBucketLogging. Para ative o logging de um bucket e armazenar os logs de acesso em um bucket diferente, você precisa das permissõesoss:PutBucketLoggingeoss:PutObject. Para consultar as configurações de logging de um bucket, é necessária a permissãooss:GetBucketLogging. Para desativar o logging de um bucket, é necessária a permissãooss:DeleteBucketLogging. Para obter mais informações, consulte Grant a custom policy.A partir do ossutil 1.6.16, você pode usar diretamente ossutil como nome do binário na linha de comando, sem necessidade de atualize o nome do binário conforme o sistema operacional. Para versões anteriores ao ossutil 1.6.16, atualize o nome do binário de acordo com o sistema operacional. Para obter mais informações, consulte ossutil command reference.
Para obter mais informações sobre logging, consulte Log shipping.
ative o logging
Se o logging não estiver ativado para um bucket, o comando a seguir ative o logging. Se o logging já estiver ativado, o comando sobrescreve as configurações de logging existentes do bucket.
ative o logging ou modifique as configurações de logging de um bucket com o comando a seguir.
-
Sintaxe do comando
ossutil logging --method put oss://bucketname oss://targetbucket/[prefix]A tabela a seguir descreve os parâmetros e as opções da sintaxe do comando.
Parâmetro/Opção
Descrição
bucketname
Nome do bucket source para o qual os objetos de log são gerados.
targetbucket
Nome do bucket de destino onde os objetos de log são armazenados.
prefix
Diretório no qual os objetos de log são armazenados. Ao especifique esse parâmetro, os objetos de log são armazenados no diretório indicado do bucket de destino. Caso contrário, os objetos de log são armazenados no diretório raiz do bucket de destino.
ImportanteO bucket source (para o qual os objetos de log são gerados) e o bucket de destino (onde os objetos de log são armazenados) podem ser o mesmo bucket ou buckets diferentes. No entanto, o bucket de destino deve estar na mesma região do bucket source e pertencer à mesma conta Alibaba Cloud.
-
Exemplos
execute o comando a seguir para armazenar os objetos de log gerados para o bucket source srcbucket no diretório raiz do bucket de destino destbucket:
ossutil logging --method put oss://srcbucket oss://destbucketO comando a seguir armazena os objetos de log gerados para o bucket source srcbucket no subdiretório destdir do diretório raiz do bucket de destino destbucket:
ossutil logging --method put oss://srcbucket oss://destbucket/destdirA saída de exemplo a seguir indica que o logging foi ativado para o bucket source:
0.098601(s) elapsed
Consultar as configurações de logging de um bucket
-
Sintaxe do comando
ossutil logging --method get oss://bucketname [local_xml_file]A tabela a seguir descreve os parâmetros do comando acima.
Parâmetro
Descrição
bucketname
Nome do bucket cujas configurações de logging você deseja consultar.
local_xml_file
Nome do arquivo local onde as configurações de logging serão armazenadas. Exemplo:
localfile.txt. Se esse parâmetro não for especificado, as configurações de logging obtidas serão exibidas sem serem salvas em um arquivo local. -
Exemplos
-
execute o comando a seguir para consultar as configurações de logging do bucket examplebucket e gravar as configurações no arquivo
localfile.txt:ossutil logging --method get oss://examplebucket localfile.txtA saída de exemplo a seguir indica que as configurações de logging foram consultadas com sucesso:
0.212407(s) elapsed -
O comando a seguir consulta as configurações de logging do bucket examplebucket e as exibe sem salvar em um arquivo local:
ossutil logging --method get oss://examplebucketA saída de exemplo a seguir indica que os objetos de log gerados para o bucket examplebucket são gravados no diretório raiz do bucket destbucket:
<?xml version="1.0" encoding="UTF-8"?> <BucketLoggingStatus> <LoggingEnabled> <TargetBucket>destbucket</TargetBucket> <TargetPrefix></TargetPrefix> </LoggingEnabled> </BucketLoggingStatus> 0.109979(s) elapsed
-
Desativar o logging
Antes de desativar o logging, o OSS continua gerando objetos de log. Para reduzir custos de armazenamento, exclua os objetos de log desnecessários com base em regras de ciclo de vida. Para obter mais informações, consulte Lifecycle rules based on last modification time.
-
Sintaxe do comando
ossutil logging --method delete oss://bucketnameNa sintaxe acima, bucketname é o nome do bucket para o qual você deseja desativar o logging.
-
Exemplos
execute o comando a seguir para desativar o logging do bucket examplebucket:
ossutil logging --method delete oss://examplebucketA saída de exemplo a seguir indica que o logging foi desativado para o bucket:
0.212409(s) elapsed
Opções comuns
Para acessar um bucket em uma região diferente, use -e para especifique o endpoint. Para acessar um bucket pertencente a outra conta Alibaba Cloud, use -i para o AccessKey ID e -k para o AccessKey secret.
Por exemplo, execute o comando a seguir para armazenar os objetos de log gerados para o bucket testbucket, localizado na região China (Hangzhou) e pertencente a outra conta Alibaba Cloud, no bucket destbucket:
ossutil logging --method put oss://testbucket oss://destbucket -e oss-cn-hangzhou.aliyuncs.com -i yourAccessKeyID -k yourAccessKeySecret