Utilisation de moniteurs de ressources

Un moniteur de ressources peut faciliter le contrôle des coûts et éviter l’utilisation de crédit imprévue liée à l’exécution des entrepôts. Un entrepôt virtuel consomme des crédits Snowflake pendant son exécution. Vous pouvez utiliser un moniteur de ressources pour surveiller l’utilisation du crédit par les entrepôts virtuels et les services Cloud nécessaires pour prendre en charge ces entrepôts. Vous pouvez également configurer un moniteur de ressources pour suspendre un entrepôt virtuel géré par l’utilisateur lorsqu’il atteint une limite de crédit.

Le nombre de crédits consommés dépend de la taille de l’entrepôt et de sa durée de fonctionnement. Pour plus d’informations sur l’utilisation du crédit par les entrepôts, voir Utilisation du crédit d’entrepôt virtuel.

Des limites d’utilisation du crédit peuvent être définies pour un intervalle ou une plage de dates précis. Lorsqu’une limite est atteinte et/ou atteint un seuil spécifié, le moniteur de ressources peut déclencher différentes actions telles que l’envoi de notifications d’alerte et/ou la suspension des entrepôts gérés par l’utilisateur.

Seuls les utilisateurs ayant le rôle ACCOUNTADMIN peuvent créer un moniteur de ressources, mais un administrateur de comptes peut accorder des privilèges à d’autres rôles pour permettre à d’autres utilisateurs d’afficher et de modifier les moniteurs de ressources.

Dans ce chapitre :

Propriétés du moniteur de ressources

Un moniteur de ressources est un objet de première classe dans Snowflake composé des propriétés suivantes.

Quota de crédit

Le quota de crédit spécifie le nombre de crédits Snowflake alloués au moniteur pour l’intervalle de fréquence spécifié. Tout nombre peut être spécifié.

En outre, Snowflake suit les crédits/quotas utilisés dans l’intervalle de fréquence spécifié par tous les entrepôts affectés au moniteur. À l’intervalle spécifié, ce nombre est réinitialisé sur 0.

Les quotas de crédit représentent les crédits consommés à la fois par les entrepôts virtuels gérés par les utilisateurs et les entrepôts virtuels utilisés par les services Cloud.

Par exemple, votre limite de surveillance des ressources est fixée à 1 000 crédits, si votre entrepôt consomme 700 crédits et que les services Cloud consomment 300 crédits dans un intervalle ou une plage de dates spécifiés, une alerte sera déclenchée.

Note

Les limites du moniteur de ressources ne prennent pas en compte l’ajustement quotidien de 10 % pour les services Cloud. Snowflake utilise toute la consommation de crédit par la couche de services Cloud pour calculer si une limite a été atteinte, même si cette consommation n’est jamais facturée. Pour plus d’informations sur le calcul des crédits et des ajustements des services Cloud, voir Comprendre la facturation pour l’utilisation des services Cloud.

Pour obtenir des instructions sur la façon d’afficher l’utilisation de votre crédit de services Cloud, consultez Exploration des coûts de calcul.

Type de moniteur

Cette propriété indique si le moniteur de ressources est utilisé pour surveiller votre compte ou un ensemble spécifique d’entrepôts individuels :

  • Un moniteur de compte surveille l’utilisation du crédit de tous les entrepôts du compte. Un compte ne peut avoir qu’un seul moniteur de compte.

  • Un moniteur d’entrepôts surveille l’utilisation du crédit des entrepôts affectés au moniteur de ressources. Un compte peut avoir plusieurs moniteurs d’entrepôts.

    Un moniteur d’entrepôts peut se voir attribuer un ou plusieurs entrepôts, mais chaque entrepôt ne peut être attribué qu’à un seul moniteur de ressources.

Si cette propriété n’est pas définie, le moniteur de ressources ne surveille aucune utilisation de crédit. Il reste simplement en sommeil.

Pour plus d’informations, voir Affectation de moniteurs de ressources.

Planification

La planification par défaut pour un moniteur de ressources spécifie qu’il commence à surveiller l’utilisation du crédit immédiatement et que les crédits utilisés sont réinitialisés à 0 au début de chaque mois du calendrier (c’est-à-dire au début du cycle de facturation Snowflake standard).

Toutefois, vous pouvez éventuellement personnaliser la planification d’un moniteur de ressources à l’aide des propriétés suivantes :

Fréquence:

Intervalle auquel les crédits utilisés sont réinitialisés relatif à la date de début spécifiée.

Valeurs prises en charge :

  • Quotidien

  • Hebdomadaire

  • Mensuelle

  • Annuelle

  • Jamais (les crédits utilisés ne sont jamais réinitialisés ; les entrepôts attribués continuent d’utiliser des crédits jusqu’à ce que le quota de crédit soit atteint)

Début:

Date et heure (c’est-à-dire l’horodatage) auxquelles le moniteur de ressources commence à surveiller les entrepôts assignés.

Valeurs prises en charge :

  • Immédiatement (c’est-à-dire l’horodatage actuel)

  • Plus tard (c’est-à-dire tout horodatage futur)

De plus, Snowflake utilise cette date pour déterminer quand réinitialiser les crédits utilisés, en fonction de la fréquence spécifiée. Notez cependant que, quelle que soit l’heure spécifiée dans la date et l’heure de début, les moniteurs de ressources se réinitialisent à 12:00 AM UTC. Par exemple, si le début est 15-juillet-2019 (lundi) à 8:00 AM :

  • Fréquence = Mensuelle : les crédits utilisés sont réinitialisés à 12:00 AM UTC le 15e jour de chaque mois suivant.

  • Fréquence = Hebdomadaire : les crédits utilisés sont réinitialisés à 12:00 AM UTC chaque lundi suivant.

Notez que si vous spécifiez le dernier jour d’un mois comme date de début, Snowflake réinitialise les crédits utilisés le dernier jour de tous les mois suivants, quel que soit le nombre de jours de chaque mois. Par exemple, si vous définissez la date de début au 31 janvier, Snowflake réinitialise ensuite les crédits utilisés pour le moniteur de ressources au 28 février (ou 29 février dans une année bissextile), 31 mars, 30 avril, etc.

Fin:

Date et heure (c.-à-d. horodatage) auxquelles Snowflake suspend les entrepôts associés au moniteur de ressources, que les crédits utilisés aient atteint ou non l’un des seuils définis pour les actions du moniteur de ressources (voir la section suivante dans ce chapitre).

Valeurs prises en charge : tout horodatage futur.

Notez que cette propriété n’est pas couramment utilisée.

Important

Si vous choisissez de personnaliser la planification d’un moniteur de ressources, la fréquence est relative à la date de début spécifiée, ce qui diffère de la planification par défaut.

De plus, si vous spécifiez une fréquence, vous devez également spécifier une date et une heure de début, et inversement (c.-à-d. que vous ne pouvez pas en définir un élément sans définir l’autre).

Actions

Également appelée déclencheurs, chaque action spécifie un seuil, sous forme de pourcentage du quota de crédit du moniteur de ressources, ainsi que l’action à exécuter lorsque le seuil est atteint dans l’intervalle spécifié. Notez que les actions prennent en charge des seuils supérieurs à 100.

Les moniteurs de ressources prennent en charge les actions suivantes :

Notifier et suspendre:

Envoyer une notification et suspendre tous les entrepôts affectés une fois que toutes les instructions exécutées par le ou les entrepôts sont terminées.

Avertir et suspendre immédiatement:

Envoyer une notification et suspendre immédiatement tous les entrepôts affectés, ce qui annule toutes les instructions exécutées par les entrepôts à ce moment.

Notifier:

N’effectuer aucune action sur les entrepôts, mais envoyer une notification.

Les notifications sont envoyées à tous les administrateurs de comptes pour lesquels les notifications sont activées. Les notifications par e-mail des moniteurs de ressources qui surveillent les entrepôts sont également envoyées à tout utilisateur non-administrateur qui est autorisé à recevoir ces notifications.

Chaque moniteur de ressources peut avoir les actions suivantes :

  • Une action Suspendre.

  • Une action Suspendre immédiatement.

  • Jusqu’à cinq actions Notifier.

Note

Un moniteur de ressources doit avoir au moins une action définie. Si aucune action n’a été définie, rien ne se produit lorsque les crédits utilisés atteignent le seuil.

Affectation de moniteurs de ressources

Un simple moniteur peut également être paramétré au niveau du compte pour contrôler l’utilisation des crédits pour tous les entrepôts de votre compte.

En outre, un ou plusieurs entrepôts peuvent être affectés à un moniteur de ressources, qui contrôle ainsi l’utilisation du crédit pour chaque entrepôt qui lui est affecté. Notez toutefois qu’un entrepôt ne peut être affecté qu’à un seul moniteur de ressources en dessous du niveau du compte.

Le diagramme suivant illustre un scénario dans lequel un moniteur de ressources est défini au niveau du compte et des entrepôts individuels sont affectés à deux autres moniteurs de ressources :

Relations entre l'entrepôt et le moniteur de ressources

Sur la base de ce diagramme :

  • Le quota de crédit pour l’ensemble du compte est de 5 000 pour l’intervalle (mois, semaine, etc.), tel que contrôlé par le Moniteur de ressources 1 ; si ce quota est atteint dans l’intervalle, les actions définies pour le moniteur de ressources (Suspendre, Suspendre immédiatement, etc.) sont appliquées pour les cinq entrepôts.

  • L’entrepôt 3 peut consommer un maximum de 1 000 crédits par intervalle.

  • Les entrepôts 4 et 5 peuvent consommer un total combiné maximum de 2 500 crédits pour l’intervalle.

Attention, les crédits réels consommés par les entrepôts 3, 4 et 5 peuvent être inférieurs à leurs quotas si le quota du compte est atteint en premier.

Important

  • Un moniteur des ressources au niveau du compte ne remplace pas l’affectation du moniteur des ressources pour des entrepôts individuels. Si le moniteur de ressources du compte ou le moniteur de ressources de l’entrepôt atteint son seuil défini et si une action de suspension a été définie, l’entrepôt est suspendu.

  • Un moniteur de ressources au niveau du compte ne contrôle pas l’utilisation du crédit par les ressources de calcul fournies par Snowflake pour les fonctionnalités sans serveur (par exemple, Snowpipe, le reclustering automatique et les vues matérialisées). Pour une liste complète des fonctionnalités, voir Fonctionnalités sans serveur.

  • Un moniteur de ressources au niveau de l’entrepôt peut surveiller, mais ne peut pas suspendre, l’utilisation du crédit par les services Cloud. Après la suspension d’un entrepôt virtuel, les requêtes ultérieures exécutées sur cet entrepôt peuvent encore entraîner des coûts supplémentaires liés aux services Cloud. Pour plus d’informations sur l’utilisation du crédit pour les services Cloud, voir Utilisation du crédit des services Cloud.

Suspension et reprise de l’entrepôt

Les crédits utilisés pour un moniteur de ressources reflètent la somme des crédits consommés par tous les entrepôts affectés dans l’intervalle spécifié, ainsi que les services Cloud utilisés pour prendre en charge ces entrepôts pendant le même intervalle. Si une action Suspendre ou Suspendre immédiatement est définie sur un moniteur et que ses crédits utilisés atteignent le seuil, les entrepôts affectés au moniteur sont suspendus et ne peuvent pas être repris tant qu’une des conditions suivantes n’est pas remplie :

  • Le cas échéant, l’intervalle suivant commence, en fonction de la date de début du moniteur.

  • Le quota de crédit du moniteur est augmenté.

  • Le seuil de crédit pour l’action de suspension est augmenté.

  • Les entrepôts ne sont plus affectés au moniteur.

  • Le moniteur est détruit.

Astuce

Les moniteurs de ressources ne sont pas destinés à contrôler strictement la consommation sur une base horaire, ils sont destinés à suivre et à contrôler la consommation de crédits sur une base définie (ou « intervalle », comme quotidien, hebdomadaire, mensuel, etc.). En outre, ils ne sont pas destinés à fixer des limites précises sur l’utilisation du crédit (c’est-à-dire jusqu’au niveau des crédits individuels). Par exemple, lorsque les seuils de quota de crédit sont atteints pour un moniteur de ressources, les entrepôts affectés peuvent prendre un certain temps pour se mettre en pause, même lorsque l’action est Suspendre immédiatement, consommant ainsi des crédits supplémentaires.

Si vous souhaitez appliquer vos quotas de manière stricte, nous vous recommandons ce qui suit :

  • Utiliser des zones de marge dans les seuils de quota pour les actions (par exemple, fixer un seuil à 90 % au lieu de 100 %).

    Cela vous aidera à vous assurer que votre utilisation de crédit ne dépasse pas le quota.

  • Pour contrôler plus strictement l’utilisation du crédit pour des entrepôts individuels, affectez un seul entrepôt à chaque moniteur de ressources.

    Lorsque plusieurs entrepôts sont assignés au même moniteur de ressources, ils partagent les mêmes seuils de quota, ce qui peut entraîner une utilisation du crédit pour un entrepôt ayant une incidence sur les autres entrepôts affectés.

Notifications du moniteur de ressources

Lorsqu’un moniteur de ressources atteint le seuil d’une action, il génère l’une des notifications suivantes, en fonction de l’action effectuée :

  • Les entrepôts affectés seront suspendus une fois toutes les requêtes en cours terminées.

  • Toutes les requêtes en cours d’exécution dans les entrepôts assignés seront annulées et les entrepôts suspendus immédiatement.

  • Un seuil a été atteint, mais aucune action n’a été effectuée.

La notification est envoyée à tous les administrateurs de comptes qui ont activé la réception des notifications et à tous les utilisateurs non-administrateurs de la liste de notifications d’un moniteur d’entrepôts. Les utilisateurs non-administrateurs ne peuvent pas être ajoutés à la liste de notifications d’un moniteur de compte.

Important

Les notifications du moniteur de ressources peuvent être envoyées par e-mail ou dans Classic Console, mais elles sont désactivées par défaut. Vous devez configurer les notifications avant qu’elles ne soient envoyées. Les utilisateurs qui ne sont pas titulaires du rôle ACCOUNTADMIN ne peuvent recevoir que des notifications par e-mail.

Pour activer les notifications, voir Activation de la réception de notifications.

DDL des moniteurs de ressources

Snowflake fournit les commandes DDL suivantes pour créer et utiliser/gérer les moniteurs de ressources :

En outre, les commandes DDL suivantes peuvent être utilisées pour affecter un moniteur de ressources à un entrepôt, et voir si un entrepôt est affecté à un moniteur :

Privilèges de contrôle d’accès des moniteurs de ressources

Par défaut, les moniteurs de ressources ne peuvent être créés que par les administrateurs de compte et ne peuvent donc être consultés et gérés que par ces personnes.

Cependant, les rôles qui ont reçu les privilèges suivants sur des moniteurs de ressources spécifiques peuvent visualiser et modifier le moniteur de ressources selon les besoins en utilisant SQL :

  • MONITOR

  • MODIFY

Pour plus d’informations, voir Privilèges de contrôle d’accès et GRANT <privilèges>.

Notez que seuls les administrateurs de comptes peuvent visualiser et gérer les moniteurs de ressources via l”Classic Console.

Activation de la réception de notifications

Avant de pouvoir recevoir des notifications des moniteurs de ressources, vous devez activer les notifications dans l’interface Web et vérifier votre adresse e-mail.

Snowsight:

Pour activer les notifications, procédez comme suit :

  1. Vérifiez votre adresse e-mail, si vous ne l’avez pas encore fait. Pour savoir comment vérifier votre adresse e-mail, voir Vérifier votre adresse e-mail.

  2. Sélectionnez votre nom d’utilisateur, puis sélectionnez Profile

  3. Pour Notifications, sélectionnez Enable notifications from resource monitors.

    Note

    • Si vous n’avez pas vérifié votre adresse e-mail, l’option Notifications n’est pas disponible tant que vous ne l’avez pas fait.

    • Dans Notifications, l’option Enable notifications from resource monitors n’est accessible qu’aux utilisateurs ayant le rôle ACCOUNTADMIN.

Classic Console:

Pour activer les notifications, procédez comme suit :

  1. Vérifiez votre adresse e-mail, si vous ne l’avez pas encore fait. Pour savoir comment vérifier votre adresse e-mail, voir Vérification de votre adresse e-mail dans la console classique.

  2. Sélectionnez le menu déroulant à côté de votre nom dans le coin supérieur droit, puis sélectionnez Preferences » Notifications.

  3. Sélectionnez l’une des options.

Création de moniteurs de ressources

Les moniteurs de ressources peuvent être créés via l’interface Web ou SQL ; cependant, seuls les administrateurs de compte (c’est-à-dire les utilisateurs dotés du rôle ACCOUNTADMIN) peuvent créer des moniteurs de ressources.

Important

Vous devez assigner au moins un entrepôt à un moniteur de ressources ou définir le moniteur au niveau du compte pour qu’il commence à surveiller/suivre l’utilisation du crédit :

  • Dans l’interface Web, vous devez le faire au moment de la création.

  • Dans SQL, vous devez d’abord créer le moniteur de ressources, puis lui affecter un ou plusieurs entrepôts en exécutant la requête ALTER WAREHOUSE au cours d’une étape distincte.

De plus, pour recevoir des notifications lorsque des actions de moniteur de ressources sont déclenchées, vous devez activer les notifications.

Création d’un moniteur de ressources avec une planification par défaut

Vous pouvez créer un moniteur de ressources qui utilise la planification par défaut (c.-à-d. qui commence la surveillance immédiatement et qui est réinitialisé le premier jour de chaque mois du calendrier) via l’interface Web ou SQL.

Note

Seuls les utilisateurs ayant le rôle ACCOUNTADMIN peuvent créer des moniteurs de ressources.

Snowsight:
  1. Connectez-vous à Snowsight et naviguez jusqu’à Admin » Cost Management.

  2. Sélectionnez Resource Monitors, puis sélectionnez + Resource Monitor.

  3. Pour Name, saisissez un nom pour le moniteur de ressources.

  4. Pour Credit Quota, saisissez le nombre de crédits pour chaque intervalle spécifié.

  5. Sélectionnez Monitor Type. Sélectionnez Account pour créer un moniteur de compte ou Warehouse pour sélectionner les entrepôts à surveiller.

  6. Pour Actions, sélectionnez les notifications à activer en saisissant un seuil à côté de l’option. Vous devez sélectionner au moins une option.

    Sélectionnez Add pour créer des notifications supplémentaires. Vous pouvez spécifier jusqu’à cinq actions de notification.

Classic Console:
  1. Sélectionnez Account Onglet Compte » Resource Monitors » Create Resource Monitor.

  2. Pour Name, saisissez un nom.

  3. Pour Credit Quota, saisissez le nombre de crédits pour chaque intervalle spécifié.

  4. Sélectionnez Monitor Level. Sélectionnez Account pour créer un moniteur de compte ou Warehouse pour sélectionner les entrepôts à surveiller.

  5. Sélectionnez les Actions and Notifications à activer en saisissant un seuil à côté de l’option. Vous devez sélectionner au moins une option.

    Sélectionnez +Add more notification thresholds pour créer des notifications supplémentaires. Vous pouvez spécifier jusqu’à cinq actions de notification.

SQL:

Dans SQL, cette tâche est effectuée en deux étapes :

  1. Exécutez une commande CREATE RESOURCE MONITOR, mais ne spécifiez aucune propriété de planification.

  2. Exécutez une instruction ALTER WAREHOUSE pour affecter des entrepôts au moniteur de ressources ou une instruction ALTER ACCOUNT pour définir le moniteur de ressources du compte.

Par exemple :

  • Pour créer un moniteur qui commence la surveillance immédiatement, se réinitialise au début de chaque mois et suspend l’entrepôt affecté lorsque les crédits utilisés atteignent 100 % du quota de crédit, procédez comme suit :

    USE ROLE ACCOUNTADMIN;
    
    CREATE OR REPLACE RESOURCE MONITOR limit1 WITH CREDIT_QUOTA=1000
      TRIGGERS ON 100 PERCENT DO SUSPEND;
    
    ALTER WAREHOUSE wh1 SET RESOURCE_MONITOR = limit1;
    
    Copy

    L’action SUSPEND attend que les requêtes en cours d’exécution soient terminées avant de suspendre l’entrepôt. Une requête peut commencer avant que le seuil ne soit atteint et se terminer après le déclenchement de l’action SUSPEND. Dans ce cas, l’entrepôt continue à consommer des crédits même lorsque le quota est atteint.

  • Pour créer un moniteur similaire au premier exemple, mais qui suspend l’entrepôt à 90 % et le suspend immédiatement à 100 % pour empêcher tous les entrepôts du compte de consommer des crédits une fois le quota atteint, procédez comme suit :

    USE ROLE ACCOUNTADMIN;
    
    CREATE OR REPLACE RESOURCE MONITOR limit1 WITH CREDIT_QUOTA=1000
      TRIGGERS ON 90 PERCENT DO SUSPEND
               ON 100 PERCENT DO SUSPEND_IMMEDIATE;
    
    ALTER WAREHOUSE wh1 SET RESOURCE_MONITOR = limit1;
    
    Copy

    Dans cet exemple, une notification est envoyée et les entrepôts affectés sont suspendus lorsque 90 % du quota de crédit est atteint. Les requêtes en cours d’exécution se terminent, mais le moniteur de ressources empêche les entrepôts d’exécuter de nouvelles requêtes. Si les entrepôts affectés atteignent 100 % du quota de crédit, une notification est envoyée et les entrepôts sont immédiatement suspendus, ce qui annule toutes les requêtes en cours d’exécution.

  • Pour créer un moniteur similaire au premier exemple, mais qui laisse l’entrepôt affecté dépasser de 10 % le quota et inclut également deux actions de notification pour alerter les administrateurs du compte lorsque les crédits utilisés atteignent la moitié autorisée et les trois quarts du quota, procédez comme suit :

    USE ROLE ACCOUNTADMIN;
    
    CREATE OR REPLACE RESOURCE MONITOR limit1 WITH CREDIT_QUOTA=1000
       TRIGGERS ON 50 PERCENT DO NOTIFY
                ON 75 PERCENT DO NOTIFY
                ON 100 PERCENT DO SUSPEND
                ON 110 PERCENT DO SUSPEND_IMMEDIATE;
    
    ALTER WAREHOUSE wh1 SET RESOURCE_MONITOR = limit1;
    
    Copy

    Dans cet exemple :

    • Lorsque 50 % et 75 % d’utilisation sont atteints, une notification d’alerte est envoyée à tous les administrateurs de compte qui ont activé les notifications, mais aucune autre action n’est effectuée.

    • Lorsque 100 % d’utilisation est atteint, l’entrepôt affecté est suspendu.

    • Si l’entrepôt est toujours en cours d’exécution lorsque une utilisation à 110 % est atteinte, il est immédiatement suspendu.

Création d’un moniteur de ressources avec une planification personnalisée

Vous pouvez créer un moniteur de ressources utilisant une planification différente de celle par défaut via l’interface Web ou SQL.

Note

Seuls les utilisateurs ayant le rôle ACCOUNTADMIN peuvent créer des moniteurs de ressources.

Procédez comme suit pour créer un moniteur de ressources avec une planification personnalisée :

Snowsight:
  1. Connectez-vous à Snowsight et naviguez jusqu’à Admin » Cost Management.

  2. Sélectionnez Resource Monitors, puis sélectionnez + Resource Monitor.

  3. Pour Name, saisissez un nom pour le moniteur de ressources.

  4. Pour Credit Quota, saisissez le nombre de crédits pour chaque intervalle spécifié.

  5. Sélectionnez Monitor Type. Sélectionnez Account pour créer un moniteur de compte ou Warehouse pour sélectionner les entrepôts à surveiller.

  6. Sélectionnez Schedule » Customize pour définir une planification personnalisée pour l’intervalle spécifié. Vous pouvez ignorer cette étape pour utiliser la planification par défaut.

    Vous pouvez définir une date de début et une date de fin personnalisées via Custom Start Date et Custom End Date ou spécifier une plage de dates via l’onglet Range.

    Note

    Si vous décidez de mettre fin à la surveillance à une date et une heure précises, tous les entrepôts affectés sont suspendus à cette date et à cette heure, même si le quota de crédit n’a pas été atteint. Une notification est envoyée lorsque cela se produit, indiquant que le moniteur de ressources a atteint un pourcentage de son quota et a déclenché une action de suspension immédiate. Le pourcentage du quota reflète le nombre de crédits utilisés dans l’intervalle en cours jusqu’à la date de fin et peut ne pas correspondre au seuil que vous avez spécifié.

    Vous pouvez également personnaliser l’intervalle spécifié pour la surveillance. Sélectionnez Resets et vous pouvez faire votre choix parmi les intervalles périodiques suivants auxquels réinitialiser le quota de crédit :

    • Monthly

    • Daily

    • Weekly

    • Yearly

    • Never

  7. Pour Actions, sélectionnez les notifications à activer en saisissant un seuil à côté de l’option. Vous devez sélectionner au moins une option.

    Sélectionnez Add pour créer des notifications supplémentaires. Vous pouvez spécifier jusqu’à cinq actions de notification.

Classic Console:
  1. Sélectionnez Account Onglet Compte » Resource Monitors » Create Resource Monitor.

  2. Pour Name, saisissez un nom pour le moniteur de ressources.

  3. Pour Credit Quota, saisissez le nombre de crédits pour chaque intervalle spécifié.

  4. Sélectionnez Monitor Level. Sélectionnez Account pour créer un moniteur de compte ou Warehouse pour sélectionner les entrepôts à surveiller.

  5. Dans Schedule, cliquez sur le lien Customize et spécifiez une ou plusieurs des propriétés suivantes, selon vos préférences :

    • Démarrez le moniteur immédiatement ou à une date et une heure ultérieures.

    • Réinitialisez les crédits utilisés en fonction de la fréquence spécifiée.

    • Mettez fin à la surveillance à une date et une heure spécifiées ou jamais.

      Note

      Si vous décidez de mettre fin à la surveillance à une date et une heure précises, tous les entrepôts affectés sont suspendus à cette date et à cette heure, même si le quota de crédit n’a pas été atteint. Une notification est envoyée lorsque cela se produit, indiquant que le moniteur de ressources a atteint un pourcentage de son quota et a déclenché une action de suspension immédiate. Le pourcentage du quota reflète le nombre de crédits utilisés dans l’intervalle en cours jusqu’à la date de fin et peut ne pas correspondre au seuil que vous avez spécifié.

  6. Pour Actions and Notifications, activez une action ou une notification donnée en saisissant un seuil à côté de l’option. Vous devez sélectionner au moins une option.

    Sélectionnez +Add more notification thresholds pour créer des notifications supplémentaires. Vous pouvez spécifier jusqu’à cinq actions de notification.

SQL:

Exécutez une commande CREATE RESOURCE MONITOR avec une ou plusieurs des propriétés de planification suivantes :

  • FREQUENCY

  • START_TIMESTAMP

  • END_TIMESTAMP

Par exemple :

  • Pour créer un moniteur de ressources au niveau du compte qui démarre immédiatement (en fonction de l’horodatage actuel), se réinitialise mensuellement le même jour, n’a pas de date ou d’heure de fin et suspend l’entrepôt affecté lorsque les crédits utilisés atteignent 100 % du quota, procédez comme suit :

    USE ROLE ACCOUNTADMIN;
    
    CREATE OR REPLACE RESOURCE MONITOR limit1 WITH CREDIT_QUOTA=1000
        FREQUENCY = MONTHLY
        START_TIMESTAMP = IMMEDIATELY
        TRIGGERS ON 100 PERCENT DO SUSPEND;
    
    ALTER WAREHOUSE wh1 SET RESOURCE_MONITOR = limit1;
    
    Copy
  • Pour créer un moniteur de ressources qui démarre à une date et à une heure spécifiques dans le futur, se réinitialise chaque semaine le même jour, n’a pas de date ni d’heure de fin et effectue deux actions de suspension différentes à des seuils différents sur les deux entrepôts affectés, procédez comme suit :

    USE ROLE ACCOUNTADMIN;
    
    CREATE OR REPLACE RESOURCE MONITOR limit1 WITH CREDIT_QUOTA=2000
        FREQUENCY = WEEKLY
        START_TIMESTAMP = '2019-03-04 00:00 PST'
        TRIGGERS ON 80 PERCENT DO SUSPEND
                 ON 100 PERCENT DO SUSPEND_IMMEDIATE;
    
    ALTER WAREHOUSE wh1 SET RESOURCE_MONITOR = limit1;
    
    ALTER WAREHOUSE wh2 SET RESOURCE_MONITOR = limit1;
    
    Copy

Note

Vous ne pouvez pas modifier la planification personnalisée d’un moniteur de ressources pour lequel la valeur par défaut a été rétablie. Vous devez supprimer le moniteur et en créer un nouveau.

Modification d’un moniteur de ressources

Vous pouvez modifier les propriétés suivantes pour un moniteur de ressources existant :

  • Augmentez ou diminuez le quota de crédit du moniteur.

  • Personnalisez la planification (fréquence, horodatage de début et horodatage de fin) du moniteur.

  • Ajoutez ou supprimez des actions, ou modifiez les pourcentages de seuil pour les actions existantes.

  • Si le moniteur surveille votre compte, convertissez-le pour surveiller des entrepôts individuels.

  • Si le moniteur surveille des entrepôts individuels :

    • Ajoutez ou supprimez des entrepôts de la liste.

    • Convertissez-le pour surveiller votre compte.

Note

La modification de l’une de ces propriétés n’affecte pas les crédits utilisés à ce jour pour le moniteur. Toutes les modifications n’affectent les crédits utilisés qu’après leur enregistrement.

Les moniteurs de ressources peuvent être modifiés via l’interface Web ou SQL.

Note

Les privilèges suivants sont nécessaires pour pouvoir modifier les propriétés d’un moniteur de ressources :

  • Pour modifier le quota de crédit, la planification ou les actions d’un moniteur de ressources, un utilisateur doit utiliser un rôle doté du privilège MODIFY sur le moniteur de ressources.

  • Pour remplacer le type de moniteur d’un moniteur de ressources qui surveille un entrepôt par un type qui surveille un compte ou inversement, un utilisateur doit utiliser le rôle ACCOUNTADMIN.

  • Pour modifier la liste des entrepôts d’un moniteur de ressources au niveau de l’entrepôt, un utilisateur doit utiliser le rôle ACCOUNTADMIN.

Snowsight:

Note

Vous ne pouvez pas utiliser Snowsight pour remplacer le type de moniteur de ressources qui surveille un entrepôt par un type qui surveille un compte. Utilisez plutôt SQL. Voir l”exemple à la section SQL.

  1. Connectez-vous à Snowsight et naviguez jusqu’à Admin » Cost Management.

  2. Sélectionnez Resource Monitors, puis sélectionnez un moniteur de ressources.

  3. Sélectionnez le menu More () dans le coin supérieur droit. Sélectionnez Edit.

Classic Console:
  1. Sélectionnez Account Onglet Compte » Resource Monitors.

  2. Sélectionnez un moniteur de ressources.

  3. Sélectionnez Edit.

SQL:
  • Pour modifier le quota, personnaliser la planification ou ajouter/supprimer/modifier des actions, exécutez une instruction ALTER RESOURCE MONITOR.

    Par exemple, pour augmenter le quota de crédit du moniteur de ressources limit1 jusqu’à 3000, exécutez l’instruction suivante :

    ALTER RESOURCE MONITOR limit1 SET CREDIT_QUOTA=3000;
    
    Copy

    Pour plus d’exemples, voir Exemples.

  • Pour modifier le type de moniteur, exécutez une instruction ALTER WAREHOUSE ou ALTER ACCOUNT.

    Par exemple, pour modifier le moniteur de ressources my_rm, qui surveille actuellement des entrepôts, afin qu’il surveille le compte my_account, procédez comme suit :

    1. Recherchez tous les entrepôts que le moniteur de ressources my_rm surveille. Vérifiez si la colonne resource_monitor contient my_rm :

      SHOW WAREHOUSES;
      
      Copy

      Renvoie les résultats suivants :

      +--------+-----------+----------+---------+---------+--------+------------+------------+--------------+-------------+-----------+--------------+-----------+-------+-------------------------------+-------------------------------+-------------------------------+--------------+---------+------------------+---------+----------+--------+-----------+------------+--------+-----------------+
      | name   | state     | type     | size    | running | queued | is_default | is_current | auto_suspend | auto_resume | available | provisioning | quiescing | other | created_on                    | resumed_on                    | updated_on                    | owner        | comment | resource_monitor | actives | pendings | failed | suspended | uuid       | budget | owner_role_type |
      |--------+-----------+----------+---------+---------+--------+------------+------------+--------------+-------------+-----------+--------------+-----------+-------+-------------------------------+-------------------------------+-------------------------------+--------------+---------+------------------+---------+----------+--------+-----------+------------+--------+-----------------|
      | MY_WH1 | STARTED   | STANDARD | X-Small |       0 |      0 | N          | N          |          600 | true        |           |              |           |       | 2024-01-17 14:37:36.223 -0800 | 2024-01-17 14:37:36.325 -0800 | 2024-01-17 14:47:49.854 -0800 | MY_ROLE      |         | null             |       0 |        0 |      0 |         1 | 1222706972 | NULL   | ROLE            |
      | MY_WH2 | SUSPENDED | STANDARD | X-Small |       0 |      0 | N          | Y          |          600 | true        |           |              |           |       | 2023-12-20 13:50:50.972 -0800 | 2024-01-17 14:28:39.170 -0800 | 2024-01-17 14:37:57.560 -0800 | ACCOUNTADMIN |         | MY_RM            |       0 |        0 |      0 |         1 | 1222706948 | NULL   | ROLE            |
      | MY_WH3 | SUSPENDED | STANDARD | Small   |       0 |      0 | N          | N          |          600 | true        |           |              |           |       | 2024-01-17 14:26:26.911 -0800 | 2024-01-17 14:33:39.260 -0800 | 2024-01-17 14:38:31.192 -0800 | ACCOUNTADMIN |         | MY_RM            |       0 |        0 |      0 |         2 | 1222706960 | NULL   | ROLE            |
      +--------+-----------+----------+---------+---------+--------+------------+------------+--------------+-------------+-----------+--------------+-----------+-------+-------------------------------+-------------------------------+-------------------------------+--------------+---------+------------------+---------+----------+--------+-----------+------------+--------+-----------------+
      

      Le moniteur de ressources my_rm surveille deux entrepôts my_wh2 et my_wh3.

    2. Supprimez le moniteur de ressources pour les deux entrepôts en exécutant les instructions suivantes :

      ALTER WAREHOUSE my_wh2 UNSET RESOURCE_MONITOR;
      
      ALTER WAREHOUSE my_wh3 UNSET RESOURCE_MONITOR;
      
      Copy
    3. Modifiez le moniteur de ressources de sorte qu’il surveille le compte en exécutant l’instruction suivante :

      ALTER ACCOUNT my_account SET RESOURCE_MONITOR = my_rm;
      
      Copy

Note

Si un moniteur de ressources a une planification personnalisée, vous ne pouvez pas rétablir la planification par défaut. Vous devez supprimer le moniteur et en créer un nouveau.

Envoi de notifications du moniteur de ressources à des utilisateurs non-administrateurs

Les utilisateurs non-administrateurs peuvent recevoir des notifications par e-mail de la part des moniteurs de ressources qui surveillent les entrepôts. Chaque utilisateur non-administrateur doit disposer d’une adresse e-mail vérifiée. Vous pouvez ajouter jusqu’à cinq utilisateurs non-administrateurs à un moniteur d’entrepôt via la commande CREATE RESOURCE MONITOR ou ALTER RESOURCE MONITOR.

Par exemple, pour ajouter les utilisateurs user1 et user2 au moniteur d’entrepôt my_warehouse_rm, exécutez l’instruction suivante :

ALTER RESOURCE MONITOR my_warehouse_rm
  SET NOTIFY_USERS = (USER1, USER2);
Copy

Note

Si un utilisateur non-administrateur de la liste de notifications n’a pas d’adresse e-mail vérifiée, l’instruction échoue.

Pour plus d’informations, voir les paramètres NOTIFY_USERS, et Notes sur l’utilisation dans le chapitre ALTER RESOURCE MONITOR.

Pour ajouter des utilisateurs non-administrateurs à la liste de notifications d’un moniteur de ressources lorsque vous créez un moniteur de ressources à l’aide de SQL, voir CREATE RESOURCE MONITOR.

Configuration d’un moniteur de ressources pour votre compte

Un moniteur de ressources peut être défini pour votre compte via l’interface Web ou SQL.

Note

Seuls les utilisateurs ayant le rôle ACCOUNTADMIN peuvent définir un moniteur de ressources pour surveiller le compte.

Snowsight:

Vous pouvez définir le type de moniteur sur compte lorsque vous créez un moniteur de ressources. Pour plus d’informations, voir Création de moniteurs de ressources.

Vous ne pouvez pas utiliser Snowsight pour remplacer le type de moniteur de ressources qui surveille un entrepôt par un type qui surveille un compte. Utilisez plutôt SQL. Voir l”exemple à la section SQL.

Classic Console:

Vous pouvez définir le type de moniteur sur Account lorsque vous créez ou modifiez un moniteur de ressources :

SQL:

Dans SQL, cette tâche est effectuée en deux étapes :

  1. Utilisez la commande CREATE RESOURCE MONITOR pour créer le moniteur de ressources (s’il n’existe pas déjà).

    Si le moniteur de ressources existe, pour modifier un moniteur de ressources au niveau de l’entrepôt afin qu’il surveille un compte, voir l’exemple à la section Modification d’un moniteur de ressources.

  2. Utilisez la commande ALTER ACCOUNT pour définir le moniteur de ressources que vous avez créé comme moniteur pour votre compte.

    Par exemple, pour définir le moniteur de ressources de compte sur my_account_rm, exécutez les instructions suivantes :

    USE ROLE ACCOUNTADMIN;
    
    CREATE RESOURCE MONITOR my_account_rm WITH CREDIT_QUOTA=10000
      TRIGGERS ON 100 PERCENT DO SUSPEND;
    
    ALTER ACCOUNT SET RESOURCE_MONITOR = my_account_rm;
    
    Copy

Pour remplacer le type de moniteur d’un moniteur de ressources existant qui surveille un entrepôt par un moniteur de compte, voir l’exemple à la section Modification d’un moniteur de ressources.

Pour voir si un moniteur de ressources est configuré pour votre compte, utilisez l’interface Web ou la commande SHOW RESOURCE MONITORS . La colonne LEVEL d’un moniteur de ressources indique s’il est défini pour votre compte ou pour des entrepôts individuels.

Important

  • Un moniteur de ressources au niveau du compte contrôle uniquement les entrepôts virtuels créés de façon explicite dans votre compte. Il ne contrôle pas l’utilisation du crédit par les entrepôts fournis par Snowflake pour les fonctionnalités sans serveur (par exemple, pour Snowpipe, Clustering automatique et les vues matérialisées). Pour une liste complète des fonctionnalités, voir Fonctionnalités sans serveur.

  • Un moniteur de ressources au niveau de l’entrepôt peut surveiller, mais ne peut pas suspendre, l’utilisation du crédit par les services Cloud. Le moniteur ne peut suspendre que les entrepôts virtuels gérés par les utilisateurs et créés dans votre compte. Après la suspension d’un entrepôt virtuel géré par un utilisateur, les requêtes ultérieures exécutées sur cet entrepôt peuvent encore entraîner des coûts supplémentaires liés aux services Cloud. Pour plus d’informations sur l’utilisation du crédit pour les services Cloud, voir Utilisation du crédit des services Cloud.

Affectation d’entrepôts à un moniteur de ressources

Les entrepôts peuvent être affectés à un moniteur de ressources existant via l’interface Web ou SQL.

Note

Seuls les utilisateurs ayant le rôle ACCOUNTADMIN peuvent affecter des entrepôts à des moniteurs de ressources.

Snowsight:
  1. Connectez-vous à Snowsight et naviguez jusqu’à Admin » Cost Management.

  2. Sélectionnez Resource Monitors, puis sélectionnez un moniteur de ressources.

  3. Sélectionnez le menu More () dans le coin supérieur droit. Sélectionnez Edit.

  4. Si Monitor Type est Account, sélectionnez Warehouse.

  5. Sélectionnez Warehouse pour déterminer les entrepôts à surveiller.

Classic Console:
  1. Sélectionnez Account Onglet Compte » Resource Monitors.

  2. Sélectionnez un moniteur de ressources.

  3. Sélectionnez Edit.

  4. Si le moniteur n’a pas encore d’entrepôts affectés, sélectionnez Monitor Level, puis Warehouse.

  5. Sélectionnez Warehouse et déterminez les entrepôts à surveiller.

SQL:

Utilisez la commande ALTER WAREHOUSE pour affecter un entrepôt à un moniteur de ressources.

Par exemple, pour surveiller l’entrepôt my_wh avec le moniteur de ressources my_rm, exécutez l’instruction suivante :

ALTER WAREHOUSE my_wh SET RESOURCE_MONITOR = my_rm;
Copy

Affichage des moniteurs de ressources

Les moniteurs de ressources peuvent être affichés via l’interface Web ou SQL.

Snowsight:
  1. Connectez-vous à Snowsight et naviguez jusqu’à Admin » Cost Management.

  2. Sélectionnez Resource Monitors pour afficher la liste des moniteurs de ressources pour lesquels votre rôle a obtenu le privilège MODIFY ou MONITOR. Les utilisateurs administrateurs de comptes peuvent voir tous les moniteurs de ressources.

  3. Sélectionnez un moniteur de ressources pour afficher des informations détaillées sur les paramètres du moniteur de ressources, l’utilisation du crédit actuelle et une liste des rôles disposant de privilèges sur le moniteur de ressources.

Classic Console:

Note

Seuls les utilisateurs ayant le rôle ACCOUNTADMIN peuvent afficher les moniteurs de ressources via Classic Console.

  1. Sélectionnez Account Onglet Compte » Resource Monitors.

SQL:

À l’aide du rôle ACCOUNTADMIN ou d’un rôle auquel le privilège MONITOR ou MODIFY a été accordé sur le moniteur de ressources, exécutez une instruction SHOW RESOURCE MONITORS.

En outre, avec n’importe quel rôle, vous pouvez exécuter une instruction SHOW WAREHOUSES pour afficher les entrepôts appartenant au rôle en question (ou pour lesquels le rôle a reçu un privilège USAGE). La sortie comprend le moniteur de ressources auquel l’entrepôt est affecté, le cas échéant.

Note

Pour les comptes fournisseurs ayant créé des comptes de lecteur, Snowflake fournit une vue supplémentaire, RESOURCE_MONITORS. Cette vue peut être utilisée pour interroger l’utilisation du moniteur de ressources dans les comptes de lecteur du fournisseur. Pour plus d’informations, voir Account Usage.

Réplication de moniteurs de ressources

Les moniteurs de ressources peuvent être répliqués d’un compte source vers des comptes cibles à l’aide d’un groupe de réplication ou de basculement. Pour plus d’informations, voir Réplication de moniteurs de ressources.