Lorsque vous accédez à Object Storage Service (OSS), un grand nombre de journaux sont générés. Une fois la journalisation configurée pour un bucket, OSS génère des objets de journal toutes les heures selon une règle de nommage prédéfinie, puis stocke les journaux d'accès sous forme d'objets dans un bucket spécifique. Exécutez la commande logging pour activer ou désactiver la journalisation d'un bucket et interroger ses configurations de journalisation.
Notes d'utilisation
Pour activer la journalisation d'un bucket et stocker les journaux d'accès dans ce même bucket, vous devez disposer de l'autorisation
oss:PutBucketLogging. Pour activer la journalisation d'un bucket et stocker les journaux d'accès dans un autre bucket, vous devez disposer des autorisationsoss:PutBucketLoggingetoss:PutObject. Pour interroger les configurations de journalisation d'un bucket, vous devez disposer de l'autorisationoss:GetBucketLogging. Pour désactiver la journalisation d'un bucket, vous devez disposer de l'autorisationoss:DeleteBucketLogging. Pour plus d'informations, consultez la rubrique Accorder une stratégie personnalisée.À partir de la version 1.6.16 d'ossutil, vous pouvez utiliser directement « ossutil » comme nom binaire dans la ligne de commande. Il n'est pas nécessaire d'adapter le nom binaire en fonction du système d'exploitation. Pour les versions antérieures à 1.6.16, vous devez adapter le nom binaire selon le système d'exploitation. Pour plus d'informations, consultez la rubrique Démarrage rapide de l'outil de ligne de commande ossutil.
Pour plus d'informations sur la journalisation, consultez la rubrique Expédition des journaux.
Activer la journalisation
Si la journalisation n'est pas activée pour un bucket, la commande suivante l'active. Si la journalisation est déjà activée, la commande suivante écrase les configurations de journalisation existantes du bucket.
Activez la journalisation ou modifiez les configurations de journalisation d'un bucket à l'aide de la commande suivante.
-
Syntaxe de la commande
ossutil logging --method put oss://bucketname oss://targetbucket/[prefix]Le tableau suivant décrit les paramètres et options de la syntaxe de commande.
Paramètre/Option
Description
bucketname
Nom du bucket source pour lequel les objets de journal sont générés.
targetbucket
Nom du bucket de destination dans lequel les objets de journal sont stockés.
prefix
Répertoire dans lequel les objets de journal sont stockés. Si vous spécifiez ce paramètre, les objets de journal sont stockés dans le répertoire indiqué du bucket de destination. Sinon, ils sont stockés dans le répertoire racine du bucket de destination.
ImportantLe bucket source pour lequel les objets de journal sont générés et le bucket de destination dans lequel ils sont stockés peuvent être identiques ou différents. Toutefois, le bucket de destination doit se trouver dans la même région que le bucket source et appartenir au même compte Alibaba Cloud.
-
Exemples
Exécutez la commande suivante pour stocker les objets de journal générés pour le bucket source srcbucket dans le répertoire racine du bucket de destination destbucket :
ossutil logging --method put oss://srcbucket oss://destbucketExécutez la commande suivante pour stocker les objets de journal générés pour le bucket source srcbucket dans le sous-répertoire destdir du répertoire racine du bucket de destination destbucket :
ossutil logging --method put oss://srcbucket oss://destbucket/destdirLa sortie d'exemple suivante indique que la journalisation est activée pour le bucket source :
0.098601(s) elapsed
Interroger les configurations de journalisation d'un bucket
-
Syntaxe de la commande
ossutil logging --method get oss://bucketname [local_xml_file]Le tableau suivant décrit les paramètres de la commande précédente.
Paramètre
Description
bucketname
Nom du bucket dont vous souhaitez interroger les configurations de journalisation.
local_xml_file
Nom du fichier local dans lequel vous souhaitez stocker les configurations de journalisation. Exemple :
localfile.txt. Si ce paramètre n'est pas spécifié, les configurations de journalisation obtenues sont affichées sans être stockées dans un fichier local. -
Exemples
-
Exécutez la commande suivante pour interroger les configurations de journalisation du bucket examplebucket et écrire les résultats dans le fichier
localfile.txt:ossutil logging --method get oss://examplebucket localfile.txtLa sortie d'exemple suivante indique que les configurations de journalisation ont été interrogées :
0.212407(s) elapsed -
Exécutez la commande suivante pour interroger les configurations de journalisation du bucket examplebucket et afficher les résultats sans les stocker dans un fichier local :
ossutil logging --method get oss://examplebucketLa sortie d'exemple suivante indique que les objets de journal générés pour le bucket examplebucket sont écrits dans le répertoire racine du bucket destbucket :
<?xml version="1.0" encoding="UTF-8"?> <BucketLoggingStatus> <LoggingEnabled> <TargetBucket>destbucket</TargetBucket> <TargetPrefix></TargetPrefix> </LoggingEnabled> </BucketLoggingStatus> 0.109979(s) elapsed
-
Désactiver la journalisation
Avant de désactiver la journalisation, sachez qu'OSS continue de générer des objets de journal. Pour réduire les coûts de stockage, nous vous recommandons de supprimer les objets de journal qui ne sont plus nécessaires en définissant des règles de cycle de vie. Pour plus d'informations, consultez la rubrique Règles de cycle de vie basées sur la dernière heure de modification.
-
Syntaxe de la commande
ossutil logging --method delete oss://bucketnameDans la syntaxe de commande précédente, bucketname correspond au nom du bucket pour lequel vous souhaitez désactiver la journalisation.
-
Exemples
Exécutez la commande suivante pour désactiver la journalisation du bucket examplebucket :
ossutil logging --method delete oss://examplebucketLa sortie d'exemple suivante indique que la journalisation est désactivée pour le bucket :
0.212409(s) elapsed
Options courantes
Pour accéder à un bucket situé dans une autre région, utilisez l'option -e pour spécifier l'endpoint. Pour accéder à un bucket appartenant à un autre compte Alibaba Cloud, utilisez l'option -i pour l'AccessKey ID et l'option -k pour l'AccessKey Secret.
Par exemple, exécutez la commande suivante pour stocker les objets de journal générés pour le bucket testbucket, situé dans la région Chine (Hangzhou) et appartenant à un autre compte Alibaba Cloud, dans le bucket destbucket :
ossutil logging --method put oss://testbucket oss://destbucket -e oss-cn-hangzhou.aliyuncs.com -i yourAccessKeyID -k yourAccessKeySecret