Trabalhe programaticamente com anomalias de custo¶
Você pode usar a classe ANOMALY_INSIGHTS para identificar e investigar anomalias de custo de forma programática. A instância totalmente qualificada que você usa para trabalhar com anomalias é SNOWFLAKE.LOCAL.ANOMALY_INSIGHTS.
Você deve ter os privilégios necessários para executar os métodos de classe.
Para obter uma visão geral das anomalias de custo, consulte Introdução às anomalias de custo.
Identificar anomalias de custo com ANOMALY_INSIGHTS¶
O Snowflake cria uma instância da classe ANOMALY_INSIGHTS, que você pode usar para identificar anomalias de custo de forma programática. O método ANOMALY_INSIGHTS!GET_DAILY_CONSUMPTION_ANOMALY_DATA retorna dados de consumo de uma conta ou organização juntamente com um valor booliano que indica se esse consumo é uma anomalia de custo.
Identifique anomalias de custo no nível da organização¶
Os usuários chamam o método GET_DAILY_CONSUMPTION_ANOMALY_DATA da conta da organização ou de uma conta habilitada pelo ORGADMIN para identificar anomalias de custo no nível da organização. Para se concentrar nas anomalias de custo no nível da organização, o usuário passa NULL como um argumento em vez do nome de uma conta.
- Exemplo: anomalia de custo no nível da organização
Para identificar anomalias de custo no nível da organização entre 1º de janeiro de 2024 e 31 de março de 2024, faça o seguinte:
Faça login na conta da organização ou em uma conta habilitada pelo ORGADMIN.
Chame o método:
CALL SNOWFLAKE.LOCAL.ANOMALY_INSIGHTS!GET_DAILY_CONSUMPTION_ANOMALY_DATA( '2024-01-01', '2024-03-31', NULL);
Na saída, encontre os dias em que o valor da coluna
is_anomaly
éTRUE
.
Identifique as anomalias de custo no nível da conta¶
Você pode usar o método GET_DAILY_CONSUMPTION_ANOMALY_DATA para identificar as anomalias de custo no nível da conta para a conta atual ou, se estiver conectado à conta da organização ou a uma conta habilitada para ORGADMIN, a qualquer conta da organização.
- Exemplo: anomalias de custo na conta corrente
Para identificar anomalias de custo na conta atual entre 1º de janeiro de 2024 e 31 de março de 2024, chame o seguinte método quando estiver conectado à conta.
CALL SNOWFLAKE.LOCAL.ANOMALY_INSIGHTS!GET_DAILY_CONSUMPTION_ANOMALY_DATA( '2024-01-01', '2024-03-31', CURRENT_ACCOUNT_NAME() );
Para usar a saída para identificar anomalias de custo, procure os dias em que o valor da coluna
is_anomaly
éTRUE
.- Exemplo: anomalias de custo em uma conta diferente
Se você estiver conectado à conta da organização ou a uma conta habilitada para ORGADMIN e quiser identificar anomalias de custo em uma conta diferente, especifique o nome da conta ao chamar o método GET_DAILY_CONSUMPTION_ANOMALY_DATA.
Por exemplo, suponha que você esteja conectado à conta da organização
my_orgacct
. Você pode identificar anomalias de custo na contaprod_acct
entre 1º de novembro de 2024 e 31 de dezembro de 2024 executando o seguinte comando:CALL SNOWFLAKE.LOCAL.ANOMALY_INSIGHTS!GET_DAILY_CONSUMPTION_ANOMALY_DATA( '2024-11-01', '2024-12-31', 'prod_acct');
Para usar a saída para identificar anomalias de custo, procure os dias em que o valor da coluna
is_anomaly
éTRUE
.
Investigue anomalias de custo com ANOMALY_INSIGHTS¶
A classe ANOMALY_INSIGHTS fornece métodos que você pode usar para investigar por que ocorreu uma anomalia de custo. Esses métodos permitem que você faça uma análise detalhada do seguinte:
Consumo no nível da conta¶
Chame o método ANOMALY_INSIGHTS!GET_TOP_ACCOUNTS_BY_CONSUMPTION para recuperar uma lista de contas com a maior alteração no consumo em um determinado dia. A mudança no consumo é determinada pela comparação do consumo em um dia específico com o consumo no dia anterior. Isso é útil para investigar anomalias de custo no nível da organização.
Por exemplo, se você for um administrador que deseja conhecer as cinco principais contas em termos de alteração no consumo ao comparar 14 de dezembro de 2024 e 15 de dezembro de 2024, execute o seguinte na conta da organização ou em uma conta habilitada para ORGADMIN:
CALL SNOWFLAKE.LOCAL.ANOMALY_INSIGHTS!GET_TOP_ACCOUNTS_BY_CONSUMPTION('2024-12-15', 5);
Consumo no nível de warehouse¶
Chame o método ANOMALY_INSIGHTS!GET_TOP_WAREHOUSES_ON_DATE para recuperar uma lista de warehouses com a maior alteração no consumo em um determinado dia. A mudança no consumo é determinada pela comparação do consumo de um warehouse em um dia específico com o consumo do dia anterior. Você pode se concentrar nos principais warehouses de uma conta específica ou identificar os principais warehouses de toda a organização.
- Exemplo: identificação dos principais warehouses da organização
Para encontrar os seis principais warehouses da organização em termos de alteração no consumo ao comparar 9 de agosto de 2024 e 10 de agosto de 2024, faça login na conta da organização ou em uma conta habilitada para ORGADMIN e execute o seguinte:
CALL SNOWFLAKE.LOCAL.ANOMALY_INSIGHTS!GET_TOP_WAREHOUSES_ON_DATE( '2024-08-10', 6, NULL);
- Exemplo: identificação dos principais warehouses na conta atual
Para encontrar os cinco principais warehouses na conta atual em termos de mudança no consumo ao comparar 8 de dezembro de 2024 e 9 de dezembro de 2024, faça o seguinte:
CALL SNOWFLAKE.LOCAL.ANOMALY_INSIGHTS!GET_TOP_WAREHOUSES_ON_DATE( '2024-12-09', 5, CURRENT_ACCOUNT_NAME());
- Exemplo: identificação dos principais warehouses em uma conta diferente
Para encontrar os três principais warehouses na conta
my_acct
em termos de alteração no consumo ao comparar 8 de novembro de 2024 e 9 de novembro de 2024, faça login na conta da organização ou em uma conta habilitada para ORGADMIN e execute o seguinte:CALL SNOWFLAKE.LOCAL.ANOMALY_INSIGHTS!GET_TOP_WAREHOUSES_ON_DATE( '2024-11-09', 5, 'my_acct');
Consumo no nível de consulta¶
Chame o método ANOMALY_INSIGHTS!GET_TOP_QUERIES_FROM_WAREHOUSE para recuperar uma lista de consultas que foram executadas em um warehouse específico para que você possa identificar quais consultas resultaram em alto consumo. As consultas retornadas são listadas na ordem de consumo, da maior para a menor.
Você usa um ID de warehouse para especificar o warehouse que está investigando. Você pode encontrar o ID de warehouse chamando o método ANOMALY_INSIGHTS!GET_TOP_WAREHOUSES_ON_DATE ou consultando o Exibição WAREHOUSE_METERING_HISTORY.
Por exemplo, para investigar o consumo de um warehouse cujo ID é 838
, execute o seguinte para listar as seis principais consultas que consumiram mais créditos em 1º de dezembro de 2024:
CALL SNOWFLAKE.LOCAL.ANOMALY_INSIGHTS!GET_TOP_QUERIES_FROM_WAREHOUSE(838, '2024-12-01', 6);
Consumo por hora¶
Chame o método ANOMALY_INSIGHTS!GET_HOURLY_SPEND_FOR_ANOMALY para recuperar o consumo por hora de um determinado dia. Só é possível recuperar dados da conta na qual você está conectado no momento.
Por exemplo, para retornar o consumo por hora em 17 de outubro de 2024, execute o seguinte:
CALL SNOWFLAKE.LOCAL.ANOMALY_INSIGHTS!GET_HOURLY_SPEND_FOR_ANOMALY('2024-10-17');