Como trabalhar com monitores de recursos

Um monitor de recursos ajuda a controlar os custos e evitar o uso de créditos inesperado causado pelo funcionamento de warehouses. Um warehouse virtual consome créditos do Snowflake ao ser executado. Você pode usar um monitor de recursos para monitorar o uso de crédito por warehouses virtuais e os serviços de nuvem necessários para dar suporte a esses warehouses. Você também pode configurar um monitor de recursos para suspender um warehouse virtual gerenciado pelo usuário quando ele atingir um limite de crédito.

O número de créditos consumidos depende do tamanho do warehouse e de quanto tempo ele é executado. Para obter mais informações sobre o uso de crédito do warehouse, consulte Uso de crédito do warehouse virtual.

Limites de uso de crédito podem ser definidos para um período ou intervalo de datas especificado. Quando um limite é atingido e/ou atinge um limite especificado, o monitor de recursos pode acionar várias ações, como o envio de notificações de alerta e/ou a suspensão de warehouses gerenciados pelo usuário.

Somente usuários com a função ACCOUNTADMIN podem criar um monitor de recursos, mas um administrador de conta pode conceder privilégios a outras funções para permitir que outros usuários visualizem e modifiquem monitores de recursos.

Neste tópico:

Propriedades do monitor de recursos

Um monitor de recursos é um objeto de primeira classe no Snowflake, que consiste nas seguintes propriedades.

Cota de crédito

A cota de crédito especifica o número de créditos do Snowflake alocados ao monitor para o intervalo de frequência especificado. Qualquer número pode ser especificado.

Além disso, o Snowflake rastreia os créditos/cotas usados dentro do intervalo de frequência especificado por todos os warehouses atribuídos ao monitor. No intervalo especificado, este número é redefinido como 0.

A cota de crédito contabiliza créditos consumidos tanto por warehouses virtuais gerenciados pelo usuário quanto por warehouses virtuais utilizados pelos serviços de nuvem.

Por exemplo, seu o limite de seu monitor de recursos for definido como 1000 créditos, seu warehouse consumir 700 créditos e os serviços de nuvem consumirem 300 créditos dentro de um período ou intervalo de datas especificado, um alerta será acionado.

Nota

Os limites do monitor de recursos não levam em conta o ajuste diário de 10% para serviços de nuvem. Snowflake utiliza todo o consumo de crédito pela camada de serviços de nuvem para calcular se um limite foi atingido, mesmo que esse consumo nunca seja faturado. Para obter mais informações sobre como são calculados os créditos e ajustes dos serviços de nuvem, consulte Explicação do faturamento para uso de serviços de nuvem.

Para obter instruções sobre como visualizar o uso de créditos de seus serviços de nuvem, consulte Exploração do custo de computação.

Tipo de monitor

Esta propriedade especifica se o monitor de recursos é usado para monitorar sua conta ou um conjunto específico de warehouses individuais:

  • Um monitor de conta monitora o uso de crédito de todos os warehouses da conta. Uma conta só pode ter um monitor de conta.

  • Um monitor de warehouse monitora o uso de crédito dos warehouses atribuídos ao monitor de recursos. Uma conta pode ter vários monitores de warehouse.

    Um monitor de warehouse pode ter um ou mais warehouses atribuídos a ele, mas cada warehouse só pode ser atribuído a um monitor de recursos.

Se esta propriedade não estiver definida, o monitor de recursos não monitora nenhum uso de crédito. Ele permanece inativo.

Para obter mais informações, consulte Atribuição de monitores de recursos.

Cronograma

O cronograma padrão para um monitor de recursos especifica que ele começa a monitorar o uso de créditos imediatamente e os créditos usados são redefinidos como 0 no início de cada mês civil (ou seja, o início do ciclo de faturamento padrão do Snowflake).

Entretanto, você pode opcionalmente personalizar o cronograma de um monitor de recursos usando as seguintes propriedades:

Frequência:

O intervalo no qual os créditos usados são redefinidos relativo à data de início especificada.

Valores com suporte:

  • Diariamente

  • Semanalmente

  • Mensalmente

  • Anualmente

  • Nunca (créditos usados nunca são redefinidos; os warehouses atribuídos continuam usando créditos até que a cota de crédito seja atingida)

Início:

Data e hora (ou seja, carimbo de data/hora) quando o monitor de recursos começa a monitorar os warehouses atribuídos.

Valores com suporte:

  • Imediatamente (ou seja, carimbo de data/hora atual)

  • Mais tarde (ou seja, qualquer carimbo de data/hora futuro)

Além disso, o Snowflake usa esta data para determinar quando redefinir os créditos usados, com base na frequência especificada. Observe, entretanto, que independentemente da hora especificada em data e hora de início, os monitores de recursos são redefinidos à 0h UTC. Por exemplo, se o início for 15 de julho de 2019 (segunda-feira) às 8h:

  • Frequência = Mensalmente: Os créditos usados são redefinidos à 0h UTC no 15.º dia de cada mês seguinte.

  • Frequência = Semanalmente: Os créditos usados são redefinidos à 0h UTC de cada segunda-feira seguinte.

Observe que, se você especificar o último dia de um mês como data de início, o Snowflake redefine os créditos usados no último dia de todos os meses seguintes, independentemente do número de dias do mês. Por exemplo, se você definir a data de início para 31 de janeiro, o Snowflake posteriormente redefine os créditos usados para o monitor de recursos em 28 de fevereiro (ou 29 de fevereiro em um ano bissexto), 31 de março, 30 de abril e assim por diante.

Fim:

Data e hora (ou seja, carimbo de data/hora) quando o Snowflake suspende os warehouses associados ao monitor de recursos, independentemente de os créditos utilizados terem atingido algum dos limites definidos para as ações do monitor de recursos (consulte a próxima seção neste tópico).

Valores com suporte: Qualquer carimbo de data/hora futuro.

Note que esta propriedade não é comumente usada.

Importante

Se você optar por personalizar o cronograma de um monitor de recursos, a frequência é relativa à data de início especificada, que é diferente do cronograma padrão.

Além disso, se você especificar uma frequência, também deve especificar uma data e hora de início e vice-versa (ou seja, você não pode definir uma sem definir a outra).

Ações

Também chamado de disparadores, cada ação especifica um limite, como uma porcentagem da cota de crédito para o monitor de recursos, e a ação a ser executada quando o limite é atingido dentro do intervalo especificado. Note que as ações suportam limites maiores que 100.

Os monitores de recursos suportam as seguintes ações:

Notificar e suspender:

Envie uma notificação e suspenda todos os warehouses atribuídos depois que todas as instruções sendo executadas pelo(s) warehouse(s) tiverem sido completadas.

Notificar e suspender imediatamente:

Envie uma notificação e suspenda todos os warehouses atribuídos imediatamente, o que cancela todas as instruções sendo executadas pelos warehouses no momento.

Notificar:

Não execute nenhuma ação nos warehouses, mas envie uma notificação.

As notificações são enviadas a todos os administradores de conta com notificações habilitadas. Notificações por e-mail para monitores de recursos que monitoram warehouses também são enviadas a qualquer usuário não administrador que esteja habilitado para receber essas notificações.

Cada monitor de recursos pode ter as seguintes ações:

  • Uma ação Suspender.

  • Uma ação Suspender imediatamente.

  • Até cinco ações Notificar.

Nota

Um monitor de recursos deve ter pelo menos uma ação definida; se nenhuma ação tiver sido definida, nada acontece quando os créditos utilizados atingem o limite.

Atribuição de monitores de recursos

Um único monitor pode ser definido no nível de conta para controlar o uso de créditos para todos os warehouses em sua conta.

Além disso, um ou mais warehouses podem ser atribuídos a um monitor de recursos, controlando assim o uso de crédito para cada warehouse atribuído. Observe, entretanto, que um warehouse só pode ser atribuído a um único monitor de recursos abaixo do nível da conta.

O diagrama a seguir ilustra um cenário no qual um monitor de recursos é definido no nível de conta e warehouses individuais são atribuídos a dois outros monitores de recursos:

Relações entre o warehouse e o monitor de recursos

Com base neste diagrama:

  • A cota de crédito para toda a conta é 5000 para o intervalo (mês, semana, etc.), como controlado pelo Monitor de recursos 1; se essa cota for atingida dentro do intervalo, as ações definidas para o monitor de recursos (Suspender, Suspender imediatamente, etc.) são aplicadas para todos os cinco warehouses.

  • O warehouse 3 pode consumir um máximo de 1000 créditos dentro do intervalo.

  • Os warehouses 4 e 5 podem consumir um total máximo combinado de 2500 créditos dentro do intervalo.

Observe que os créditos reais consumidos pelos warehouses 3, 4, e 5 podem ser menores que suas cotas se a cota para a conta for atingida primeiro.

Importante

  • Um monitor de recursos em nível de conta não substitui a atribuição de monitor de recursos para warehouses individuais. Se o monitor de recursos da conta ou o monitor de recursos do warehouse atingir seu limite definido e uma ação de suspensão tiver sido definida, o warehouse será suspenso.

  • Um monitor de recursos em nível de conta não controla o uso de créditos pelos recursos de computação fornecidos pelo Snowflake para recursos sem servidor (por exemplo, Snowpipe, reclustering automático e exibições materializadas). Para uma lista completa de recursos, consulte Recursos sem servidor.

  • Um monitor de recursos no nível de warehouse pode monitorar, mas não pode suspender, o uso de crédito pelos serviços de nuvem. Depois que um warehouse virtual é suspenso, as consultas subsequentes feitas para esse warehouse ainda podem resultar em custos adicionais de serviços de nuvem. Para obter mais informações sobre o uso de créditos para serviços de nuvem, consulte Uso de crédito de serviços de nuvem.

Suspensão e retomada do warehouse

Os créditos usados para um monitor de recursos refletem a soma dos créditos consumidos por todos os warehouses designados dentro do intervalo especificado, juntamente com os serviços de nuvem usados para oferecer suporte a esses warehouses durante o mesmo intervalo. Se um monitor tiver uma ação Suspender ou Suspender imediatamente definida e seus créditos utilizados atingirem o limite para a ação, quaisquer warehouses atribuídos ao monitor são suspensos e não podem ser retomados até que uma das seguintes condições seja satisfeita:

  • O próximo intervalo, se houver, começa como ditado pela data de início do monitor.

  • A cota de crédito para o monitor é aumentada.

  • O limite de crédito para a ação de suspensão é aumentado.

  • Os warehouses não estão mais atribuídos ao monitor.

  • O monitor é descartado.

Dica

Os monitores de recursos não se destinam a controlar estritamente o consumo por hora; eles se destinam a rastrear e controlar o consumo de crédito por intervalo (dia, semana, mês, etc.). Além disso, eles não se destinam a estabelecer limites precisos no uso de crédito (ou seja, até o nível de créditos individuais). Por exemplo, quando os limites das cotas de crédito são atingidos para um monitor de recursos, os warehouses atribuídos podem levar algum tempo para serem suspensos, mesmo quando a ação é Suspender imediatamente, consumindo assim créditos adicionais.

Se você deseja aplicar estritamente suas cotas, recomendamos o seguinte:

  • Use buffers nos limites das cotas para ações (por exemplo, estabeleça um limite de 90% ao invés de 100%).

    Isto ajudará a garantir que seu uso de crédito não exceda a cota.

  • Para controlar mais rigorosamente o uso de crédito para warehouses individuais, atribua apenas um único warehouse a cada monitor de recursos.

    Quando vários warehouses são atribuídos ao mesmo monitor de recursos, eles compartilham os mesmos limites de cota, o que pode resultar no uso de crédito para um warehouse impactando os outros warehouses atribuídos.

Notificações do monitor de recursos

Quando um monitor de recursos atinge o limite para uma ação, ele gera uma das seguintes notificações, com base na ação executada:

  • Os warehouses atribuídos serão suspensos após a conclusão de todas as consultas em andamento.

  • Todas as consultas em andamento nos warehouses atribuídos serão canceladas e os warehouses suspensos imediatamente.

  • Foi atingido um limite, mas nenhuma ação foi realizada.

A notificação é enviada a todos os administradores de conta que permitiram o recebimento de notificações e a usuários não administradores na lista de notificação para um monitor de warehouse. Usuários não administradores não podem ser adicionados à lista de notificações de um monitor de conta.

Importante

As notificações do monitor de recursos podem ser enviadas por e-mail ou no Classic Console, mas estão desativadas por padrão. Você deve configurar as notificações antes de elas serem enviadas. Os usuários que não têm a função ACCOUNTADMIN só podem receber notificações por e-mail.

Para ativar notificações, consulte Ativação do recebimento de notificações.

DDL para monitores de recursos

O Snowflake fornece os seguintes comandos DDL para criar e usar/gerenciar monitores de recursos:

Além disso, os seguintes comandos DDL podem ser usados para atribuir um monitor de recursos a um warehouse e ver se um warehouse está atribuído a um monitor:

Privilégios de controle de acesso para monitores de recursos

Por padrão, os monitores de recursos só podem ser criados por administradores de conta e, portanto, só podem ser vistos e mantidos por eles.

Entretanto, as funções que receberam os seguintes privilégios para monitores de recursos específicos podem visualizar e modificar o monitor de recursos conforme necessário usando SQL:

  • MONITOR

  • MODIFY

Para obter mais informações, consulte Privilégios de controle de acesso e GRANT <privilégios>.

Observe que somente administradores de conta podem visualizar e gerenciar monitores de recursos através da Classic Console.

Ativação do recebimento de notificações

Antes de poder receber notificações de monitores de recursos, você deve ativar as notificações na interface da web e verificar seu e-mail.

Snowsight:

Para ativar notificações, siga estas etapas:

  1. Verifique seu endereço de e-mail, caso ainda não tenha feito isso. Para obter instruções sobre como verificar seu endereço de e-mail, consulte Verificação de seu endereço de e-mail.

  2. Selecione seu nome de usuário e selecione Profile

  3. Para Notifications, selecione Enable notifications from resource monitors.

    Nota

    • Se você não tiver verificado seu endereço de e-mail, a opção Notifications não estará disponível até que você verifique seu e-mail.

    • Em Notifications, a opção Enable notifications from resource monitors está disponível apenas para usuários com a função ACCOUNTADMIN.

Classic Console:

Para ativar notificações, siga estas etapas:

  1. Verifique seu endereço de e-mail, caso ainda não tenha feito isso. Para obter instruções sobre como verificar seu endereço de e-mail, consulte Verificação de seu endereço de e-mail no console clássico.

  2. Selecione o menu suspenso ao lado do seu nome no canto superior direito e selecione Preferences » Notifications.

  3. Selecione uma das opções.

Criação de monitores de recursos

Monitores de recursos podem ser criados através da interface da Web ou de SQL; entretanto, somente administradores de conta (ou seja, usuários com a função ACCOUNTADMIN) podem criar monitores de recursos.

Importante

Você precisa atribuir pelo menos um warehouse a um monitor de recursos ou definir o monitor no nível da conta para que ele comece a monitorar/acompanhar o uso do crédito:

  • Na interface da Web, você é obrigado a fazer isso no momento da criação.

  • No SQL, deve-se criar primeiro o monitor de recursos, depois atribuir-lhe um ou mais warehouses executando ALTER WAREHOUSE como uma etapa adicional e separada.

Além disso, para receber notificações quando as ações de monitoramento de recursos são acionadas, você precisa habilitar notificações.

Criação de um monitor de recursos com um cronograma padrão

Você pode criar um monitor de recursos que use a programação padrão (ou seja, inicia o monitoramento imediatamente e reinicia no primeiro dia de cada mês) usando a interface da Web ou SQL.

Nota

Somente usuários com a função ACCOUNTADMIN podem criar monitores de recursos.

Snowsight:
  1. Entre em Snowsight e navegue até Admin » Cost Management.

  2. Selecione Resource Monitors e depois selecione + Resource Monitor.

  3. Para Name, insira um nome para o monitor de recursos.

  4. Para Credit Quota, insira o número de créditos para cada intervalo especificado.

  5. Selecione Monitor Type. Escolha Account para criar um monitor de conta ou escolha Warehouse para selecionar os warehouses a serem monitorados.

  6. Para Actions, escolha quais notificações ativar inserindo um limite ao lado da opção. Você deve selecionar pelo menos uma opção.

    Selecione Add para criar notificações adicionais. Você pode especificar até cinco ações de notificação.

Classic Console:
  1. Selecione Account Guia de conta » Resource Monitors » Create Resource Monitor.

  2. Para Name, digite um nome.

  3. Para Credit Quota, insira o número de créditos para cada intervalo especificado.

  4. Selecione Monitor Level. Escolha Account para criar um monitor de conta ou escolha Warehouse para selecionar os warehouses a serem monitorados.

  5. Selecione Actions and Notifications para ativar inserindo um limite próximo à opção. Você deve selecionar pelo menos uma opção.

    Selecione +Add more notification thresholds para criar notificações adicionais. Você pode especificar até cinco ações de notificação.

SQL:

No SQL, esta tarefa é executada em duas etapas:

  1. Execute um comando CREATE RESOURCE MONITOR, mas não especifique nenhuma propriedade de agendamento.

  2. Execute uma instrução ALTER WAREHOUSE para atribuir warehouses ao monitor de recursos ou uma instrução ALTER ACCOUNT para definir o monitor de recursos para a conta.

Por exemplo:

  • Para criar um monitor que começa a monitorar imediatamente, reinicia no início de cada mês e suspende o warehouse atribuído quando os créditos usados atingem 100% da cota de crédito:

    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

    A ação SUSPEND aguarda a conclusão das consultas em execução no momento antes de suspender o warehouse. Uma consulta pode começar antes que o limite seja atingido e ser concluída após a ação SUSPEND ser acionada. Neste caso, o warehouse continua a consumir créditos mesmo depois de atingida a cota.

  • Para criar um monitor que seja semelhante ao primeiro exemplo, mas que suspenda em 90% e suspenda imediatamente em 100% para evitar que todos os warehouses da conta consumam créditos após a cota ter sido atingida:

    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

    Neste exemplo, uma notificação é enviada e os warehouses atribuídos são suspensos quando 90% da cota de crédito é atingida. As consultas em execução no momento foram concluídas, mas o monitor de recursos impede que os warehouses executem quaisquer novas consultas. Se os warehouses atribuídos atingirem 100% da cota de crédito, uma notificação será enviada e os warehouses serão suspensos imediatamente, cancelando todas as consultas em execução no momento.

  • Para criar um monitor que seja semelhante ao primeiro exemplo, mas que permita que o warehouse atribuído exceda a cota em 10% e também inclua duas ações de notificação para alertar os administradores de conta uma vez que os créditos utilizados tenham atingido a metade e os três quartos da cota:

    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

    Neste exemplo:

    • Quando 50% e 75% de uso são atingidos, uma notificação de alerta é enviada a todos os administradores de conta que ativaram as notificações, mas nenhuma outra ação é executada.

    • Quando 100% de uso é atingido, o warehouse atribuído é suspenso.

    • Se o warehouse ainda estiver funcionando quando 110% de uso for atingido, ele é suspenso imediatamente.

Criação de um monitor de recursos com um cronograma personalizado

Você pode criar um monitor de recursos que use uma programação diferente da padrão usando a interface da Web ou SQL.

Nota

Somente usuários com a função ACCOUNTADMIN podem criar monitores de recursos.

Conclua as etapas a seguir para criar um monitor de recursos com um agendamento personalizado:

Snowsight:
  1. Entre em Snowsight e navegue até Admin » Cost Management.

  2. Selecione Resource Monitors e depois selecione + Resource Monitor.

  3. Para Name, insira um nome para o monitor de recursos.

  4. Para Credit Quota, insira o número de créditos para cada intervalo especificado.

  5. Selecione Monitor Type. Escolha Account para criar um monitor de conta ou escolha Warehouse para selecionar os warehouses a serem monitorados.

  6. Selecione Schedule » Customize para definir um agendamento personalizado para o intervalo especificado. Você pode pular esta etapa para usar o agendamento padrão.

    Você pode definir uma data de início e término personalizada usando Custom Start Date e Custom End Date ou especificar um intervalo de datas usando a guia Range.

    Nota

    Se você optar por encerrar o monitoramento em uma data e hora específicas, todos os warehouses atribuídos serão suspensos nessa data e hora, mesmo que a cota de crédito não tenha sido atingida. Quando isso ocorre, é enviada uma notificação informando que o monitor de recursos atingiu uma porcentagem de sua cota e acionou uma ação imediata de suspensão. A porcentagem da cota reflete o número de créditos usados no intervalo atual até a data de término e pode não ser um limite especificado.

    Você também pode personalizar o intervalo especificado para monitoramento. Selecione Resets e você pode selecionar um dos seguintes intervalos periódicos para redefinir a cota de crédito:

    • Monthly

    • Daily

    • Weekly

    • Yearly

    • Never

  7. Para Actions, escolha quais notificações ativar inserindo um limite ao lado da opção. Você deve selecionar pelo menos uma opção.

    Selecione Add para criar notificações adicionais. Você pode especificar até cinco ações de notificação.

Classic Console:
  1. Selecione Account Guia de conta » Resource Monitors » Create Resource Monitor.

  2. Para Name, insira um nome para o monitor de recursos.

  3. Para Credit Quota, insira o número de créditos para cada intervalo especificado.

  4. Selecione Monitor Level. Escolha Account para criar um monitor de conta ou escolha Warehouse para selecionar os warehouses a serem monitorados.

  5. Para Schedule, clique no link Customize e especifique uma ou mais das seguintes propriedades, conforme desejado:

    • Inicie o monitor imediatamente ou em data e hora posteriores.

    • Redefinir créditos usados com base na frequência especificada.

    • Encerre o monitoramento em uma data e hora específicas ou nunca.

      Nota

      Se você optar por encerrar o monitoramento em uma data e hora específicas, todos os warehouses atribuídos serão suspensos nessa data e hora, mesmo que a cota de crédito não tenha sido atingida. Quando isso ocorre, é enviada uma notificação informando que o monitor de recursos atingiu uma porcentagem de sua cota e acionou uma ação imediata de suspensão. A porcentagem da cota reflete o número de créditos usados no intervalo atual até a data de término e pode não ser um limite especificado.

  6. Para Actions and Notifications, ative uma determinada ação ou notificação inserindo um limite próximo à opção. Você deve selecionar pelo menos uma opção.

    Selecione +Add more notification thresholds para criar notificações adicionais. Você pode especificar até cinco ações de notificação.

SQL:

Execute um comando CREATE RESOURCE MONITOR, com uma ou mais das seguintes propriedades de agendamento:

  • FREQUENCY

  • START_TIMESTAMP

  • END_TIMESTAMP

Por exemplo:

  • Para criar um monitor de recursos em nível de conta que começa imediatamente (com base no carimbo de data/hora atual), reinicia mensalmente no mesmo dia, não tem data ou hora final e suspende o warehouse atribuído quando os créditos utilizados alcançarem 100% da cota:

    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
  • Para criar um monitor de recursos que começa em uma data e hora específica no futuro, reinicia semanalmente no mesmo dia, não tem data ou hora final e realiza duas ações diferentes de suspensão em limiares diferentes em dois warehouses atribuídos:

    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

Nota

Você não pode alterar o cronograma personalizado de um monitor de recursos de volta ao padrão. Você precisa descartar o monitor e criar um novo.

Modificação de um monitor de recursos

Você pode modificar as seguintes propriedades para um monitor de recursos existente:

  • Aumente ou diminua a cota de crédito para o monitor.

  • Personalize o cronograma (frequência, horário de início e fim do carimbo de data/hora) para o monitor.

  • Adicione ou remova ações, ou modifique as porcentagens de limite para as ações existentes.

  • Se o monitor estiver monitorando sua conta, converta-o para monitorar warehouses individuais.

  • Se o monitor estiver monitorando warehouses individuais:

    • Adicionar ou remover warehouses da lista.

    • Converta-o para monitorar sua conta.

Nota

A alteração de qualquer uma destas propriedades não afeta os créditos utilizados até a data para o monitor. Todas as mudanças só afetam os créditos usados após as mudanças serem salvas.

Os monitores de recursos podem ser modificados através da interface da Web ou SQL.

Nota

Os seguintes privilégios são necessários para modificar as propriedades de um monitor de recursos:

  • Para modificar a cota de crédito, o agendamento ou as ações de um monitor de recursos, um usuário deve usar uma função com o privilégio MODIFY no monitor de recursos.

  • Para modificar o tipo de monitor de um monitor de recursos do warehouse para a conta ou vice-versa, um usuário deve usar a função ACCOUNTADMIN.

  • Para modificar a lista de warehouses para um monitor de recursos no nível do warehouse, um usuário deve usar a função ACCOUNTADMIN.

Snowsight:

Nota

Você não pode usar Snowsight para alterar o tipo de monitor de recursos de um warehouse para uma conta. Em vez disso, use SQL. Consulte o exemplo na seção SQL.

  1. Entre em Snowsight e navegue até Admin » Cost Management.

  2. Selecione Resource Monitors e selecione um monitor de recursos.

  3. Selecione o menu More () no canto superior direito. Selecione Edit.

Classic Console:
  1. Selecione Account Guia de conta » Resource Monitors.

  2. Selecione um monitor de recursos.

  3. Selecione Edit.

SQL:
  • Para alterar a cota, personalizar a programação ou adicionar/remover/modificar ações, execute uma instrução ALTER RESOURCE MONITOR.

    Por exemplo, para aumentar a cota de crédito do monitor de recursos limit1 para 3000, execute a seguinte instrução:

    ALTER RESOURCE MONITOR limit1 SET CREDIT_QUOTA=3000;
    
    Copy

    Para obter mais exemplos, consulte Exemplos.

  • Para alterar o tipo de monitor, execute uma instrução ALTER WAREHOUSE ou ALTER ACCOUNT.

    Por exemplo, para alterar o monitor de recursos my_rm que atualmente monitora warehouses para monitorar a conta my_account, execute as seguintes etapas:

    1. Encontre todos os warehouses que o monitor de recursos my_rm está monitorando. Verifique a coluna resource_monitor para my_rm:

      SHOW WAREHOUSES;
      
      Copy

      Retorna os seguintes resultados:

      +--------+-----------+----------+---------+---------+--------+------------+------------+--------------+-------------+-----------+--------------+-----------+-------+-------------------------------+-------------------------------+-------------------------------+--------------+---------+------------------+---------+----------+--------+-----------+------------+--------+-----------------+
      | 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            |
      +--------+-----------+----------+---------+---------+--------+------------+------------+--------------+-------------+-----------+--------------+-----------+-------+-------------------------------+-------------------------------+-------------------------------+--------------+---------+------------------+---------+----------+--------+-----------+------------+--------+-----------------+
      

      O monitor de recursos my_rm está monitorando dois warehouses my_wh2 e my_wh3.

    2. Remova o monitor de recursos de ambos os warehouses executando as seguintes instruções:

      ALTER WAREHOUSE my_wh2 UNSET RESOURCE_MONITOR;
      
      ALTER WAREHOUSE my_wh3 UNSET RESOURCE_MONITOR;
      
      Copy
    3. Altere o monitor de recursos para monitorar a conta executando a seguinte instrução:

      ALTER ACCOUNT my_account SET RESOURCE_MONITOR = my_rm;
      
      Copy

Nota

Se um monitor de recursos tiver um cronograma personalizado, não será possível alterar a programação de volta ao padrão. Você precisa descartar o monitor e criar um novo.

Envio de notificações do monitor de recursos para usuários não administradores

Usuários não administradores podem receber notificações por e-mail para monitores de recursos que monitoram warehouses. Cada usuário não administrador deve ter um endereço de e-mail verificado. É possível adicionar até cinco usuários não administradores a um monitor do warehouse usando o comando CREATE RESOURCE MONITOR ou ALTER RESOURCE MONITOR.

Por exemplo, para adicionar usuários user1 e user2 ao monitor do warehouse my_warehouse_rm, execute a seguinte instrução:

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

Nota

Se algum usuário não administrador na lista de notificação não tiver um e-mail verificado, a instrução falhará.

Para obter mais informações, consulte os parâmetros NOTIFY_USERS e Notas de uso no tópico ALTER RESOURCE MONITOR.

Para adicionar usuários não administradores à lista de notificações de um monitor de recursos ao criar um monitor de recursos usando SQL, consulte CREATE RESOURCE MONITOR.

Configuração de um monitor de recursos para sua conta

Um monitor de recursos pode ser definido para sua conta através da interface da Web ou SQL.

Nota

Somente usuários com a função ACCOUNTADMIN podem definir um monitor de recursos para monitorar a conta.

Snowsight:

Você pode definir o tipo de monitor como conta ao criar um monitor de recursos. Para obter mais informações, consulte Criação de monitores de recursos.

Você não pode usar Snowsight para alterar o tipo de monitor de recursos de um warehouse para uma conta. Em vez disso, use SQL. Consulte o exemplo na seção SQL.

Classic Console:

Você pode definir o tipo de monitor como Account ao criar ou modificar um monitor de recursos:

SQL:

No SQL, esta tarefa é executada em duas etapas:

  1. Use o comando CREATE RESOURCE MONITOR para criar o monitor de recursos (se ele ainda não existir).

    Se o monitor de recursos existir, para alterar um monitor de recursos no nível do warehouse para monitorar uma conta, consulte o exemplo na seção Modificação de um monitor de recursos.

  2. Use o comando ALTER ACCOUNT para definir o monitor de recursos que você criou como o monitor para sua conta.

    Por exemplo, para definir o monitor de recursos da conta como my_account_rm, execute as seguintes instruções:

    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

Para alterar o tipo de monitor de um monitor de recursos existente de um monitor de warehouse para um monitor de conta, consulte o exemplo na seção Modificação de um monitor de recursos.

Para ver se um monitor de recursos está definido para sua conta, use a interface da Web ou o comando SHOW RESOURCE MONITORS. A coluna LEVEL para um monitor de recursos mostra se ele está definido para sua conta ou para warehouses individuais.

Importante

  • Um monitor de recursos em nível de conta controla apenas os warehouses virtuais explicitamente criados em sua conta; ele não controla o uso de crédito pelos warehouses fornecidos pelo Snowflake para recursos sem servidor (por exemplo, Snowpipe, Clustering automático e exibições materializadas). Para uma lista completa de recursos, consulte Recursos sem servidor.

  • Um monitor de recursos no nível de warehouse pode monitorar, mas não pode suspender, o uso de crédito pelos serviços de nuvem. O monitor só pode suspender os warehouses virtuais gerenciados pelo usuário criados em sua conta. Depois que um warehouse virtual gerenciado pelo usuário é suspenso, as consultas subsequentes feitas para esse warehouse ainda podem resultar em custos adicionais de serviços de nuvem. Para obter mais informações sobre o uso de créditos para serviços de nuvem, consulte Uso de crédito de serviços de nuvem.

Atribuição de warehouses a um monitor de recursos

Os warehouses podem ser atribuídos a um monitor de recursos existente através da interface da Web ou SQL.

Nota

Somente usuários com a função ACCOUNTADMIN podem atribuir warehouses a monitores de recursos.

Snowsight:
  1. Entre em Snowsight e navegue até Admin » Cost Management.

  2. Selecione Resource Monitors e selecione um monitor de recursos.

  3. Selecione o menu More () no canto superior direito. Selecione Edit.

  4. Se Monitor Type for Account, selecione Warehouse.

  5. Selecione Warehouse para escolher os warehouses a serem monitorados.

Classic Console:
  1. Selecione Account Guia de conta » Resource Monitors.

  2. Selecione um monitor de recursos.

  3. Selecione Edit.

  4. Se o monitor ainda não tiver warehouses atribuídos, selecione Monitor Level e, em seguida, selecione Warehouse.

  5. Selecione Warehouse e escolha os warehouses a serem monitorados.

SQL:

Use o comando ALTER WAREHOUSE para atribuir um warehouse a um monitor de recursos.

Por exemplo, para monitorar o warehouse my_wh com o monitor de recursos my_rm, execute a seguinte instrução:

ALTER WAREHOUSE my_wh SET RESOURCE_MONITOR = my_rm;
Copy

Visualização de monitores de recursos

Os monitores de recursos podem ser visualizados na interface da Web ou SQL.

Snowsight:
  1. Entre em Snowsight e navegue até Admin » Cost Management.

  2. Selecione Resource Monitors para ver uma lista de monitores de recursos para os quais sua função recebeu o privilégio MODIFY ou MONITOR. Os usuários administradores de conta podem ver todos os monitores de recursos.

  3. Selecione um monitor de recursos para visualizar informações detalhadas sobre configurações do monitor de recursos, uso atual de crédito e uma lista de funções com privilégios no monitor de recursos.

Classic Console:

Nota

Somente usuários com a função ACCOUNTADMIN podem visualizar os monitores de recursos usando Classic Console.

  1. Selecione Account Guia de conta » Resource Monitors.

SQL:

Usando a função ACCOUNTADMIN ou uma função com o privilégio MONITOR ou MODIFY no monitor de recursos, execute uma instrução SHOW RESOURCE MONITORS.

Além disso, usando qualquer função, você pode executar uma instrução SHOW WAREHOUSES para visualizar os warehouses de propriedade da função (ou para os quais a função recebeu o privilégio USAGE). A saída inclui o monitor de recursos, se houver, para o qual o warehouse está atribuído.

Nota

Para contas de provedor que criaram contas de leitor, o Snowflake fornece uma exibição adicional, RESOURCE_MONITORS. Esta exibição pode ser usada para consultar o uso do monitor de recursos nas contas de leitor do provedor. Para obter mais informações, consulte Account Usage.

Replicação de monitores de recursos

Os monitores de recursos podem ser replicados de uma conta de origem para contas de destino usando um grupo de replicação ou failover. Para obter mais informações, consulte Replicação de monitores de recursos.