Activation de la journalisation et du partage d’événements pour une application¶
Cette rubrique décrit comment activer la journalisation et le partage d’événements pour dépanner une application. Les événements de journalisation et de traçage vous permettent d’obtenir des informations sur les performances et le diagnostic si une application rencontre des erreurs. Celles-ci sont partagées avec le fournisseur de l’application.
Flux de travail d’activation de la journalisation et du partage d’événements en tant que consommateur¶
En tant que consommateur, vous pouvez activer la journalisation et le partage d’événements pour une application en procédant comme suit :
Considérations relatives à l’activation de la journalisation et du partage d’événements¶
Avant d’activer la journalisation et le partage d’événements pour une application, vous devez prendre en considération les éléments suivants :
Cette fonction nécessite que vous configuriez une table d’événements dans votre compte.
Après avoir activé le partage d’événements, une copie masquée et expurgée des journaux et des événements de traçage est automatiquement capturée dans la table des événements d’un compte fournisseur désigné.
Snowflake ne vous facture pas l’activation du partage d’événements. Cependant, vous êtes responsable du coût de l’ingestion des journaux et des événements, ainsi que de leur stockage dans la table des événements.
Après avoir partagé des événements avec un fournisseur, vous ne pouvez pas révoquer l’accès aux journaux partagés et aux événements de traçage.
Vous ne pouvez pas partager d’événements historiques à l’aide du partage d’événements.
Vous ne pouvez pas partager un sous-ensemble d’événements ou appliquer un filtre.
Snowflake envoie les événements partagés à un compte fournisseur désigné dans la même région que votre compte. Cette fonction ne partage pas de données entre différentes régions.
Vous ne pouvez pas modifier les niveaux de journalisation ou de traçage d’une application, car c’est le fournisseur qui les définit.
Snowflake recommande d’examiner les journaux et les événements dans la table des événements avant d’activer le partage des événements.
Snowflake recommande de désactiver la journalisation et le partage d’événements si vous n’avez pas besoin de dépanner l’application.
Configuration d’une table d’événements¶
Le Native Apps Framework nécessite une table d’événements pour stocker les messages de journal et les événements de traçage générés par les fonctions et les procédures stockées dans une application.
Note
Si vous ne configurez pas une table d’événements et n’en faites pas la table active avant d’installer l’application, les données de journalisation et d’événements sont rejetées.
Un compte peut avoir plusieurs tables d’événements, mais une seule d’entre elles peut être définie comme table d’événements active pour un compte Snowflake à la fois. Sans table d’événements active, les messages de journal et les événements de traçage générés par l’application ne sont pas capturés. Cela est vrai même si les fonctions et procédures d’une application appellent les APIs d’événements de journalisation et de traçage.
Utilisez la commande CREATE EVENT TABLE pour créer une table d’événements comme indiqué dans l’exemple suivant :
CREATE EVENT TABLE event_db.event_schema.my_event_table;
Après avoir créé la table d’événements, utilisez la commande ALTER ACCOUNT pour spécifier que la table d’événements est la table active pour le compte :
ALTER ACCOUNT SET EVENT_TABLE=event_db.event_schema.my_event_table;
Affichage des événements de la table d’événements¶
Le fournisseur et le consommateur peuvent tous deux interroger la table des événements pour voir les événements stockés. Utilisez la commande SELECT pour effectuer une requête sur les journaux et les événements de traçage de la table des événements, par exemple :
SELECT * FROM event_db.event_schema.my_event_table;
Affichage des niveaux de journalisation et d’événements de trace pour une application¶
En tant que consommateur, vous ne pouvez pas modifier le niveau de journalisation d’une application. Cependant, avant d’activer la journalisation pour une application, Snowflake recommande de vérifier le niveau de journalisation pour comprendre le type d’informations à partager avec le fournisseur.
Pour voir le niveau de journalisation d’une application installée, exécutez la commande suivante :
DESC APPLICATION HelloSnowflake;
Cette commande permet d’afficher des informations sur l’application HelloSnowflake
, notamment les valeurs de log_level
et trace_level
.
Activation de la journalisation et du partage d’événements pour une application¶
Pour partager les journaux et les informations sur les événements avec un fournisseur, vous devez activer le partage d’événements pour une application.
Les conditions suivantes doivent être remplies pour activer le partage d’événements pour une instance d’application :
Utilisez un rôle avec le privilège global MANAGE EVENT SHARING. Le rôle ACCOUNTADMIN dispose de ce privilège par défaut et peut l’accorder à d’autres rôles.
Pour activer le partage d’événements pour une application, exécutez la commande ALTER APPLICATION pour définir SHARE_EVENTS_WITH_PROVIDER sur TRUE
. Par exemple :
ALTER APPLICATION HelloSnowflake SET SHARE_EVENTS_WITH_PROVIDER = TRUE;
Pour afficher le statut de partage des événements d’une application, utilisez la commande DESC APPLICATION comme indiqué dans l’exemple suivant :
DESC APPLICATION HelloSnowflake;
SHARE_EVENTS_WITH_PROVIDER
indique le statut du partage d’événements pour l’application.