Monitoramento de solicitações do Cortex Search¶
O Cortex Search registra informações detalhadas sobre solicitações de pesquisa para fins de monitoramento e depuração. Com o registro de solicitações habilitado, você pode revisar padrões de consulta, tempos de resposta e detalhes da solicitação para um Cortex Search Service.
Informações coletadas em logs de solicitações¶
Os logs de solicitações do Cortex Search incluem as seguintes informações:
Tipo de operação (por exemplo,QUERY )
Todo o corpo da solicitação, incluindo texto e parâmetros de consulta
Código de status da resposta
Tempo de resposta em milissegundos
Banco de dados, esquema e nome do serviço
Informações sobre o usuário, função e sessão
Habilitação do registro de solicitações¶
Para coletar logs de solicitações para um Cortex Search Service, ative a propriedade REQUEST_LOGGING no serviço.
Você pode habilitar o registro de solicitações ao criar um serviço:
Você também pode habilitar o registro de solicitações em um serviço que já existe:
Para desabilitar o registro de solicitações:
Considerações operacionais¶
Volume de dados do log¶
Cada solicitação do Cortex Search registrada gera uma linha de evento em``SNOWFLAKE.LOCAL.AI_OBSERVABILITY_EVENTS`` . A quantidade de dados acumulada depende da sua taxa de solicitações e de quanto tempo o registro em log continua ativado. Defina a retenção e o armazenamento de acordo com o volume de logs que você pretende manter.
Considerações sobre custo¶
Dados armazenados em tabelas SNOWFLAKE.LOCAL incorrem em encargos de armazenamento do Snowflake. Para consultar logs de solicitações com SQL, é necessário usar os recursos do warehouse como em qualquer outra consulta.
Latência de consultas¶
Habilitar o registro de solicitações não afeta a latência das solicitações de consulta do Cortex Search.
Acesso aos logs de solicitações do Cortex Search¶
Os logs de solicitações para um Cortex Search Service são armazenados na tabela de eventos SNOWFLAKE.LOCAL.AI_OBSERVABILITY_EVENTS. É possível acessar esses logs usando uma função de tabela ou consultando a tabela de eventos diretamente.
Uso da função snowflake.local.get_ai_observability_events ¶
Usuários com o privilégio MONITOR em um Cortex Search Service pode visualizar logs de solicitações para esse serviço usando a função snowflake.local.get_ai_observability_events.
Conceder privilégio MONITOR: Conceda o privilégio MONITOR no Cortex Search Service à função que usará:
Eventos de observabilidade de consultas: Chame
snowflake.local.get_ai_observability_eventsusando a função com o privilégio MONITOR:
Consultar a tabela de eventos como ACCOUNTADMIN¶
Usuários com a função ACCOUNTADMIN podem consultar a tabela de eventos diretamente:
Nota
Usuários com a função ACCOUNTADMIN podem consultar a tabela snowflake.local.ai_observability_events e acessar os eventos de solicitações para todos os Cortex Search Services na conta.
Controle de acesso e permissões¶
Para visualizar os logs de solicitações do Cortex Search, os usuários devem ter um dos seguintes:
O privilégio OWNERSHIP ou MONITOR no Cortex Search Service
A função ACCOUNTADMIN (para acesso direto à tabela de eventos)
O exemplo a seguir usa a função ACCOUNTADMIN para criar uma nova função search_monitoring_role com as permissões necessárias para visualizar os logs do Cortex Search:
Esquema de saída¶
A função snowflake.local.get_ai_observability_events retorna uma tabela com as seguintes colunas:
Nome da coluna |
Tipo de dados |
Descrição |
|---|---|---|
TIMESTAMP |
TIMESTAMP_NTZ(9) |
Nome do evento |
START_TIMESTAMP |
TIMESTAMP_NTZ(9) |
Hora de início do evento (pode serNULL) |
TRACE |
OBJECT |
Informações de rastreamento do evento (pode ser NULL) |
RESOURCE_ATTRIBUTES |
OBJECT |
Contém informações de sessão, usuário e função, incluindo ID da sessão, ID do usuário, nome do usuário, ID da função e nome da função |
RECORD_TYPE |
STRING |
Tipo de registro, normalmente “EVENT‘ para solicitações do Cortex Search |
RECORD |
OBJECT |
Contém o nome do evento, normalmente “CORTEX_SEARCH_REQUEST” |
RECORD_ATTRIBUTES |
OBJECT |
Contém metadados detalhados de observabilidade, incluindo informações de banco de dados, esquema, serviço, usuário, função e sessão |
VALUE |
VARIANT |
Contém os detalhes reais da solicitação, incluindo tipo de operação, corpo da solicitação, código de status da resposta e tempo de resposta |
A coluna VALUE contém os dois seguintes campos importantes:
snow.ai.observability.operation_type: O tipo de operação, como “QUERY”snow.ai.observability.request_body: A solicitação completa, incluindo texto e parâmetros da consultao código de status
snow.ai.observability.response_status_code:HTTP da respostasnow.ai.observability.response_time_ms: Tempo de resposta em milissegundossnow.ai.observability.database.name: Banco de dados com o Cortex Search Servicesnow.ai.observability.schema.name: Esquema com o Cortex Search Servicesnow.ai.observability.object.name: Nome do Cortex Search Service
A seguir, um exemplo de dados encontrados na coluna VALUE:
Exemplo¶
Consulte os logs de solicitações das últimas 24 horas usando uma função com privilégio MONITOR no serviço.