Funções nas consultas de registo do Azure Monitor

Uma função é uma consulta de registo no Azure Monitor que pode ser utilizada noutras consultas de registo como se fosse um comando. Pode utilizar funções para fornecer soluções para diferentes clientes e reutilizar a lógica de consulta no seu próprio ambiente. Este artigo descreve como utilizar funções e como criar as suas próprias funções.

Permissões necessárias

  • Para ver ou utilizar funções, precisa de Microsoft.OperationalInsights/workspaces/query/*/read permissões para a área de trabalho do Log Analytics, conforme fornecido pela função incorporada leitor do Log Analytics, por exemplo.

  • Para criar ou editar funções, precisa de microsoft.operationalinsights/workspaces/savedSearches/write permissões para a área de trabalho do Log Analytics, conforme fornecido pela função incorporada leitor do Log Analytics, por exemplo.

Tipos de funções

Existem dois tipos de funções no Azure Monitor:

  • Funções da solução: As funções pré-criadas estão incluídas no Azure Monitor. Estas funções estão disponíveis em todas as áreas de trabalho do Log Analytics e não podem ser modificadas.
  • Funções da área de trabalho: Estas funções estão instaladas numa área de trabalho específica do Log Analytics. Podem ser modificados e controlados pelo utilizador.

Ver funções

Pode ver funções de solução e funções de área de trabalho na área de trabalho atual no separador Funções no painel esquerdo de uma área de trabalho do Log Analytics. Utilize Filtrar para filtrar as funções incluídas na lista. Utilize a opção Agrupar por para alterar o agrupamento. Introduza uma cadeia na caixa Procurar para localizar uma função específica. Paire o cursor sobre uma função para ver detalhes sobre a mesma, incluindo uma descrição e parâmetros.

Captura de ecrã que mostra a visualização de uma função.

Utilizar uma função

Utilize uma função numa consulta ao escrever o respetivo nome com valores para quaisquer parâmetros da mesma forma que escreveria num comando. A saída da função pode ser devolvida como resultados ou encaminhada para outro comando.

Adicione uma função à consulta atual ao fazer duplo clique no respetivo nome ou pairando sobre a mesma e selecionando Utilizar no editor. As funções na área de trabalho também serão incluídas no IntelliSense à medida que escreve numa consulta.

Se uma consulta necessitar de parâmetros, forneça-os com a sintaxe function_name(param1,param2,...).

Captura de ecrã que mostra a utilização de uma função.

Criar uma função

Para criar uma função a partir da consulta atual no editor, selecione Guardar>Guardar como função.

Captura de ecrã que mostra a criação de uma função.

Crie uma função com o Log Analytics no portal do Azure selecionando Guardar e, em seguida, fornecendo as informações na seguinte tabela:

Definições Descrição
Nome da função Nome da função. O nome pode não incluir um espaço ou quaisquer carateres especiais. Também pode não começar com um caráter de sublinhado (_) porque este caráter está reservado para funções de solução.
Categoria legada Categoria definida pelo utilizador para ajudar a filtrar e a agrupar funções.
Guardar como grupo de computadores Guarde a consulta como um grupo de computadores.
Parâmetros Adicione um parâmetro para cada variável na função que requer um valor quando é utilizada. Para obter mais informações, veja Parâmetros de função.

Captura de ecrã que mostra os detalhes da função.

Parâmetros de função

Pode adicionar parâmetros a uma função para que possa fornecer valores para determinadas variáveis quando lhe chamar. Como resultado, a mesma função pode ser utilizada em consultas diferentes, cada uma fornecendo valores diferentes para os parâmetros. Os parâmetros são definidos pelas seguintes propriedades:

Definições Descrição
Tipo Tipo de dados para o valor.
Name Nome para o parâmetro. Este nome tem de ser utilizado na consulta para substituir pelo valor do parâmetro.
Valor predefinido Valor a ser utilizado para o parâmetro se não for fornecido um valor.

Os parâmetros são ordenados à medida que são criados. Os parâmetros que não têm um valor predefinido estão posicionados à frente dos parâmetros que têm um valor predefinido.

Nota

Os recursos clássicos do Application Insights não suportam funções parametrizadas. Se tiver um recurso do Application Insights baseado na área de trabalho, pode criar funções parametrizadas a partir da área de trabalho do Log Analytics. Para obter informações sobre como migrar o recurso do Application Insights Clássico para um recurso baseado na área de trabalho, veja Migrar para recursos do Application Insights baseados na área de trabalho.

Trabalhar com código de função

Pode ver o código de uma função para obter informações sobre como funciona ou para modificar o código de uma função de área de trabalho. Selecione Carregar o código da função para adicionar o código de função à consulta atual no editor.

Se adicionar o código de função a uma consulta vazia ou à primeira linha de uma consulta existente, o nome da função será adicionado ao separador. Uma função de área de trabalho permite a opção de editar os detalhes da função.

Captura de ecrã que mostra o código de função de carregamento.

Editar uma função

Edite as propriedades ou o código de uma função ao criar uma nova consulta. Paire o cursor sobre o nome da função e selecione Carregar código da função. Efetue quaisquer modificações que pretenda ao código e selecione Guardar. Em seguida, selecione Editar detalhes da função. Faça as alterações que pretender às propriedades e parâmetros da função e selecione Guardar.

Captura de ecrã que mostra a edição de uma função.

Exemplo

A função de exemplo seguinte devolve todos os eventos no registo de atividades do Azure desde uma data específica e que correspondem a uma categoria específica.

Comece com a seguinte consulta através de valores codificados para verificar se a consulta funciona conforme esperado.

AzureActivity
| where CategoryValue == "Administrative"
| where TimeGenerated > todatetime("2021/04/05 5:40:01.032 PM")

Captura de ecrã que mostra a consulta inicial.

Em seguida, substitua os valores codificados por nomes de parâmetros. Em seguida, guarde a função ao selecionar Guardar>Guardar como função.

AzureActivity
| where CategoryValue == CategoryParam
| where TimeGenerated > DateParam

Captura de ecrã que mostra a gravação da função.

Indique os seguintes valores para as propriedades da função:

Propriedade Valor
Nome da função AzureActivityByCategory
Categoria legada Funções de demonstração

Defina os seguintes parâmetros antes de guardar a função:

Tipo Name Valor predefinido
string CategoryParam "Administrativo"
datetime DateParam

Captura de ecrã que mostra as propriedades da função.

Crie uma nova consulta e veja a nova função ao pairar sobre a mesma. Observe a ordem dos parâmetros. Têm de ser especificadas por esta ordem quando utilizar a função.

Captura de ecrã que mostra os detalhes de visualização.

Selecione Utilizar no editor para adicionar a nova função a uma consulta. Em seguida, adicione valores para os parâmetros. Não precisa de especificar um valor para CategoryParam porque tem um valor predefinido.

Captura de ecrã que mostra a adição de valores para parâmetros.

Passos seguintes

Veja Operações de cadeia para obter mais informações sobre como escrever consultas de registo do Azure Monitor.