As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Conecte-se a uma fonte de dados do Azure Monitor
A fonte de dados do Azure Monitor oferece suporte a vários serviços na nuvem do Azure:
-
O serviço Azure Monitor é o serviço de plataforma que fornece uma fonte única para monitorar os recursos do Azure. Para ter mais informações, consulte Consultando o serviço Azure Monitor.
-
O servidor Application Insights é um serviço extensível de gerenciamento de desempenho de aplicativos (APM) para desenvolvedores web em várias plataformas e pode ser usado para monitorar seu aplicativo web ativo. Ele detectará automaticamente anomalias de desempenho. Para ter mais informações, consulte Consultando o serviço Application Insights Analytics.
-
O Azure Log Analytics (ou Azure Logs) fornece acesso aos dados de log coletados pelo Azure Monitor. Para ter mais informações, consulte Consultando o serviço Azure Log Analytics.
-
Use o serviço Application Insights Analytics para consultar dados do Application Insights
usando a mesma linguagem de consulta usada para o Azure Log Analytics. Para ter mais informações, consulte Consultando o serviço Application Insights Analytics.
Adicionando a fonte de dados
A fonte de dados pode acessar métricas de quatro serviços diferentes. Você pode configurar o acesso aos serviços que você usa. Também é possível usar as mesmas credenciais para vários serviços, se for assim que você os configurou no Azure AD.
-
Acessadas no menu principal do Grafana, as fontes de dados recém-instaladas podem ser adicionadas imediatamente na seção Fontes de dados. Em seguida, escolha o botão Adicionar fonte de dados no canto superior direito. A fonte de dados do Azure Monitor estará disponível para seleção na seção Nuvem na lista de fontes de dados.
-
No campo do nome, o Grafana preencherá automaticamente um nome para a fonte de dados:
Azure Monitor
ou algo parecido com.Azure Monitor - 3
Se você estiver configurando várias fontes de dados, altere o nome para algo mais informativo. -
Se você estiver usando o Azure Monitor, precisará de quatro informações do portal do Azure (para obter instruções detalhadas, consulte o link fornecido anteriormente):
-
ID do inquilino (Azure Active Directory, Propriedades, ID do diretório)
-
ID do cliente (Azure Active Directory, registros de aplicativos, escolha seu aplicativo, ID do aplicativo)
-
Segredo do cliente (Azure Active Directory, registros de aplicativos, escolha seu aplicativo, chaves)
-
ID de assinatura padrão (assinaturas, escolha da assinatura, visão geral, ID da assinatura)
-
-
Cole esses quatro itens nos campos na seção Detalhes da API do Azure Monitor.
-
O ID da assinatura pode ser alterado por consulta. Salve a fonte de dados e atualize a página para ver a lista de assinaturas disponíveis para o ID do cliente especificado.
-
-
Se você também estiver usando o serviço Azure Log Analytics, deverá especificar esses dois valores de configuração ou reutilizar a ID e o segredo do cliente da etapa anterior.
-
ID do cliente (Azure Active Directory, registros de aplicativos, escolha seu aplicativo, ID do aplicativo)
-
Segredo do cliente (Azure Active Directory, registros de aplicativos, escolha seu aplicativo, chaves, criar uma chave, usar segredo do cliente)
-
-
Se você estiver usando o Application Insights, precisará de duas informações do Portal do Azure (para obter instruções detalhadas, consulte o link fornecido anteriormente):
-
ID da aplicação
-
Chave de API
-
-
Cole esses dois itens nos campos apropriados na seção Detalhes da API do Application Insights.
-
Teste se os detalhes da configuração estão corretos escolhendo o botão Salvar e testar.
Como alternativa, na etapa 4, se você estiver criando um novo aplicativo Azure Active Directory, use a CLI do Azure
az ad sp create-for-rbac -n "http://localhost:3000"
Escolhendo um serviço
No editor de consultas de um painel, depois de escolher sua fonte de dados do Azure Monitor, a primeira etapa é selecionar um serviço. Há quatro opções:
-
Azure Monitor
-
Application Insights
-
Azure Log Analytics
-
Insights Analytics
O editor de consultas muda dependendo da opção selecionada. O Azure Monitor é o padrão.
Consultando o serviço Azure Monitor
O serviço Azure Monitor fornece métricas para todos os serviços do Azure que você está executando. Ele ajuda você a entender o desempenho de seus aplicativos no Azure e encontra proativamente problemas que afetam seus aplicativos.
Se suas credenciais do Azure Monitor fornecerem acesso a várias assinaturas, escolha primeiro a assinatura apropriada.
Exemplos de métricas que você pode obter do serviço são:
-
Microsoft.Compute/virtualMachines - Percentage CPU
-
Microsoft.Network/networkInterfaces - Bytes sent
-
Microsoft.Storage/storageAccounts - Used Capacity
O editor de consultas permite que você consulte várias dimensões em busca de métricas que as suportem. As métricas que oferecem suporte a várias dimensões são aquelas listadas na Lista de Métricas suportadas pelo Azure Monitor
Formatando chaves de legenda com aliases para o Azure Monitor
A formatação de legenda padrão para a API do Azure Monitor é:
metricName{dimensionName=dimensionValue,dimensionTwoName=DimensionTwoValue}
Eles podem ser longos, mas você pode alterar essa formatação usando aliases. No campo Formato da legenda, você pode combinar os seguintes aliases da maneira que quiser.
Exemplos do Azure Monitor:
-
Blob Type: {{ blobtype }}
-
{{ resourcegroup }} - {{ resourcename }}
Padrões de aliases para o Azure Monitor
-
{{ resourcegroup }}
= substituído pelo valor do Grupo de Recursos -
{{ namespace }}
= substituído pelo valor do namespace (por exemplo, Microsoft.compute/VirtualMachines) -
{{ resourcename }}
= substituído pelo valor do nome do recurso -
{{ metric }}
= substituído pelo nome da métrica (por exemplo, porcentagem de CPU) -
{{ dimensionname }}
= Legacy a partir de 7.1+ (para compatibilidade com versões anteriores) substituído pela chave/rótulo da primeira dimensão (conforme classificada pela chave/rótulo) (por exemplo, blobtype) -
{{ dimensionvalue }}
= Legacy a partir de 7.1+ (para compatibilidade com versões anteriores) substituído pelo valor da primeira dimensão (conforme classificado pela chave/rótulo) (por exemplo,) BlockBlob -
{{ arbitraryDim }}
= Disponível em 7.1+ substituído pelo valor da dimensão correspondente. (por exemplo,{{ blobtype }}
se torna BlockBlob)
Criação de variáveis de modelo para o Azure Monitor
Em vez de codificar itens como nome do servidor, do aplicativo e do sensor em suas consultas métricas, você pode usar variáveis em seu lugar. As variáveis são mostradas como caixas de seleção suspensas na parte superior do painel. Você pode usar essas caixas suspensas para alterar os dados exibidos em seu painel.
Observe que o serviço Azure Monitor ainda não oferece suporte a vários valores. Para visualizar várias séries temporais (por exemplo, métricas para servidor1 e servidor2), adicione várias consultas para que você possa visualizá-las no mesmo gráfico ou na mesma tabela.
O plug-in de fonte de dados do Azure Monitor fornece as seguintes consultas que você pode especificar no campo Consulta na exibição de edição de variáveis. Você pode usá-los para preencher a lista de opções de uma variável.
Nome | Descrição |
---|---|
Subscriptions()
|
Retorna uma lista de assinaturas. |
ResourceGroups()
|
Retorna uma lista de grupos de recursos. |
ResourceGroups(12345678-aaaa-bbbb-cccc-123456789aaa)
|
Retorna uma lista de grupos de recursos para uma assinatura especificada. |
Namespaces(aResourceGroup)
|
Retorna uma lista de namespaces para o grupo de recursos especificado. |
Namespaces(12345678-aaaa-bbbb-cccc-123456789aaa,
aResourceGroup)
|
Retorna uma lista de namespaces para o grupo de recursos e a assinatura especificados. |
ResourceNames(aResourceGroup, aNamespace)
|
Retorna uma lista de nomes de recursos. |
ResourceNames(12345678-aaaa-bbbb-cccc-123456789aaa,
aResourceGroup, aNamespace)
|
Retorna uma lista de nomes de recursos para uma assinatura especificada. |
MetricNamespace(aResourceGroup, aNamespace,
aResourceName)
|
Retorna uma lista de namespaces métricos. |
MetricNamespace(12345678-aaaa-bbbb-cccc-123456789aaa,
aResourceGroup, aNamespace, aResourceName)
|
Retorna uma lista de namespaces métricos para uma assinatura especificada. |
MetricNames(aResourceGroup, aNamespace,
aResourceName)
|
Retorna uma lista de nomes de métricas. |
MetricNames(12345678-aaaa-bbbb-cccc-123456789aaa,
aResourceGroup, aNamespace, aResourceName)
|
Retorna uma lista de nomes de métricas para uma assinatura especificada. |
Exemplos:
-
Consulta de Resource Groups:
ResourceGroups()
-
Passando a variável de nome da métrica:
Namespaces(cosmo)
-
Encadeamento de variáveis do modelo:
ResourceNames($rg, $ns)
-
Não cite parâmetros:
MetricNames(hg, Microsoft.Network/publicIPAddresses, grafanaIP)
Para obter mais informações sobre modelos e variáveis de modelo, consulteModelos.
Lista de métricas suportadas do Azure Monitor
Nem todas as métricas retornadas pela API do Azure Monitor têm valores. Para facilitar a criação de uma consulta, a fonte de dados Grafana tem uma lista de métricas suportadas do Azure Monitor e ignora métricas que nunca terão valores. Essa lista é atualizada regularmente à medida que novos serviços e métricas são adicionados à nuvem do Azure.
Alertas do Azure Monitor
O alerta Grafana é compatível com o serviço Azure Monitor. Esse não é o suporte do Azure Alerts. Para obter mais informações sobre os alertas da Grafana, consulte. Alerta Grafana
Consultando o serviço Application Insights
Formatando chaves de legenda com aliases para o Application Insights
A formatação padrão da legenda é:
metricName{dimensionName=dimensionValue,dimensionTwoName=DimensionTwoValue}
No campo Formato da legenda, os seguintes aliases podem ser combinados da maneira que você quiser.
Exemplos do Application Insights:
-
city: {{ client/city }}
-
{{ metric }} [Location: {{ client/countryOrRegion }}, {{ client/city }}]
Padrões de aliases para o Application Insights
-
{{ groupbyvalue }}
= Legacy a partir do Grafana 7.1+ (para compatibilidade com versões anteriores) substituído pela chave/rótulo da primeira dimensão (conforme classificado pela chave/rótulo) -
{{ groupbyname }}
= Legacy a partir do Grafana 7.1+ (para compatibilidade com versões anteriores) substituído pelo valor da primeira dimensão (conforme classificado pela chave/rótulo) (por exemplo,) BlockBlob -
{{ metric }}
= substituído pelo nome da métrica (por exemplo, solicitações/contagem) -
{{ arbitraryDim }}
= Disponível em 7.1+ substituído pelo valor da dimensão correspondente. (por exemplo,{{ client/city }}
se torna Chicago)
Expressões de filtro para Application Insights
O campo de filtro usa uma expressão de filtro OData.
Exemplos:
-
client/city eq 'Boydton'
-
client/city ne 'Boydton'
-
client/city ne 'Boydton' and client/city ne 'Dublin'
-
client/city eq 'Boydton' or client/city eq 'Dublin'
Modelagem com variáveis para o Application Insights
Use uma das seguintes consultas no campo Consulta na visualização de edição de variáveis.
Para obter mais informações sobre modelos e variáveis de modelo, consulteModelos.
Nome | Descrição |
---|---|
AppInsightsMetricNames()
|
Retorna uma lista de nomes de métricas. |
AppInsightsGroupBys(aMetricName)
|
Retorna uma lista de group by cláusulas para o nome da métrica especificada. |
Exemplos:
-
Consulta de nomes métricos:
AppInsightsMetricNames()
-
Passando a variável de nome da métrica:
AppInsightsGroupBys(requests/count)
-
Encadeamento de variáveis do modelo:
AppInsightsGroupBys($metricnames)
Alerta do Application Insights
O alerta Grafana é compatível com o Application Insights. Esse não é o suporte do Azure Alerts. Para obter mais informações sobre os alertas da Grafana, consulte. Alerta Grafana
Consultando o serviço Azure Log Analytics
As consultas são escritas na nova linguagem de consulta do Azure Log Analytics (ou KustoDB)
Se suas credenciais fornecerem acesso a várias assinaturas, escolha a assinatura apropriada antes de inserir as consultas.
Consultas de séries temporais
As consultas de séries temporais são para o painel gráfico e outros painéis, como o SingleStat painel. Cada consulta deve conter pelo menos uma coluna de data e hora e uma coluna de valor numérico. O resultado deve ser classificado em ordem crescente pela coluna de data e hora.
O exemplo de código a seguir mostra uma consulta que retorna a contagem agregada agrupada por hora.
Perf | where $__timeFilter(TimeGenerated) | summarize count() by bin(TimeGenerated, 1h) | order by TimeGenerated asc
Uma consulta também pode ter uma ou mais colunas não numéricas/sem data e hora, e essas colunas são consideradas dimensões e se tornam rótulos na resposta. Por exemplo, uma consulta que retorna a contagem agregada agrupada por hora, Computador e o. CounterName
Perf | where $__timeFilter(TimeGenerated) | summarize count() by bin(TimeGenerated, 1h), Computer, CounterName | order by TimeGenerated asc
Você também pode selecionar colunas de valor numérico adicionais (com ou sem várias dimensões). Por exemplo, obter uma contagem e um valor médio por hora CounterName, computador e InstanceName:
Perf | where $__timeFilter(TimeGenerated) | summarize Samples=count(), ["Avg Value"]=avg(CounterValue) by bin(TimeGenerated, $__interval), Computer, CounterName, InstanceName | order by TimeGenerated asc
nota
Dica: na consulta anterior, a sintaxe Kusto Samples=count()
["Avg
Value"]=...
é usada para renomear essas colunas — a segunda sintaxe permite o espaço. Isso muda o nome da métrica que a Grafana usa. Como resultado, itens como legendas de séries e colunas de tabelas corresponderão ao que você especificar. Neste exemplo, Samples
é exibido em vez de_count
.
Consultas de tabela
As consultas de tabela são usadas principalmente no painel de tabelas e mostram uma lista de colunas e linhas. Esse exemplo de consulta retorna linhas com as seis colunas especificadas.
AzureActivity | where $__timeFilter() | project TimeGenerated, ResourceGroup, Category, OperationName, ActivityStatus, Caller | order by TimeGenerated desc
Formatando o nome de exibição do Log Analytics
O formato padrão do nome de exibição é:
metricName{dimensionName=dimensionValue,dimensionTwoName=DimensionTwoValue}
Isso pode ser personalizado usando a opção de campo do nome de exibição.
Macros do Azure Log Analytics
Para facilitar a escrita de consultas, o Grafana fornece várias macros que você pode usar na cláusula where de uma consulta:
-
$__timeFilter()
— Expande-se paraTimeGenerated ≥ datetime(2018-06-05T18:09:58.907Z) and
TimeGenerated ≤ datetime(2018-06-05T20:09:58.907Z)
onde estão as datas de origem e de destino no seletor de horas da Grafana. -
$__timeFilter(datetimeColumn)
— Expande-se paradatetimeColumn ≥ datetime(2018-06-05T18:09:58.907Z) and
datetimeColumn ≤ datetime(2018-06-05T20:09:58.907Z)
onde estão as datas de origem e de destino no seletor de horas da Grafana. -
$__timeFrom()
— Retorna a data e hora do From do seletor Grafana. Exemplo:datetime(2018-06-05T18:09:58.907Z)
. -
$__timeTo()
— Retorna a data e hora do From do seletor Grafana. Exemplo:datetime(2018-06-05T20:09:58.907Z)
. -
$__escapeMulti($myVar)
— deve ser usado com variáveis de modelo de vários valores que contêm caracteres ilegais. Se$myVar
tiver os dois valores a seguir como uma string'\\grafana-vm\Network(eth0)\Total','\\hello!'
, então ele se expande para:@'\\grafana-vm\Network(eth0)\Total', @'\\hello!'
. Se estiver usando variáveis de valor único, não há necessidade dessa macro, escape da variável em linha:@'\$myVar'
. -
$__contains(colName, $myVar)
— deve ser usado com variáveis de modelo de vários valores. Se$myVar
tiver o valor'value1','value2'
, ele se expande para:colName in ('value1','value2')
.Se estiver usando a opção Tudo, marque a caixa de seleção Incluir todas as opções e no campo Personalizar todos os valores, insira o seguinte valor:
all
. Se$myVar
tiver o valorall
, a macro se expandirá para1 == 1
. Para variáveis de modelo com várias opções, isso aumenta o desempenho da consulta ao não criar uma grande cláusula “where.. in”.
Variáveis internas do Azure Log Analytics
Há também algumas variáveis da Grafana que podem ser usadas nas consultas do Azure Log Analytics:
-
$__interval
- Grafana calcula o grão de tempo mínimo que pode ser usado para agrupar por tempo nas consultas. Ele retorna um grão de tempo, como5m
ou1h
que pode ser usado na função bin; por exemplo,summarize count() by bin(TimeGenerated, $__interval)
. Para obter mais informações sobre variáveis de intervalo, consulteAdicionando uma variável de intervalo.
Modelagem com variáveis para o Azure Log Analytics
Qualquer consulta do Log Analytics que retorne uma lista de valores pode ser usada no campo Consulta na exibição de edição de variáveis. Há também uma função Grafana para o Log Analytics que retorna uma lista de espaços de trabalho.
Para obter informações sobre modelos e variáveis de modelo, consulteModelos e variáveis.
Nome | Descrição |
---|---|
workspaces()
|
Retorna uma lista de espaços de trabalho para a assinatura padrão. |
workspaces(12345678-aaaa-bbbb-cccc-123456789aaa)
|
Retorna uma lista de espaços de trabalho para a assinatura especificada (o parâmetro pode estar entre aspas ou não). |
A tabela a seguir mostra exemplos de consultas variáveis.
Consulta | Descrição |
---|---|
subscriptions()
|
Retorna uma lista de assinaturas do Azure. |
workspaces()
|
Retorna uma lista de espaços de trabalho para assinatura padrão. |
workspaces("12345678-aaaa-bbbb-cccc-123456789aaa")
|
Retorna uma lista de espaços de trabalho para uma assinatura especificada. |
workspaces("$subscription")
|
Com variável de modelo para o parâmetro de assinatura. |
workspace("myWorkspace").Heartbeat \|
distinct Computer
|
Retorna uma lista de máquinas virtuais. |
workspace("$workspace").Heartbeat \|
distinct Computer
|
Retorna uma lista de máquinas virtuais com a variável de modelo. |
workspace("$workspace").Perf \| distinct
ObjectName
|
Retorna uma lista de objetos da tabela Perf. |
workspace("$workspace").Perf \| where
ObjectName == "$object" \| distinct
CounterName
|
Retorna uma lista de nomes de métricas da tabela Perf. |
O exemplo de código a seguir mostra uma consulta de série temporal usando variáveis.
Perf | where ObjectName == "$object" and CounterName == "$metric" | where TimeGenerated >= $__timeFrom() and TimeGenerated <= $__timeTo() | where $__contains(Computer, $computer) | summarize avg(CounterValue) by bin(TimeGenerated, $__interval), Computer | order by TimeGenerated asc
Links diretos dos painéis do Grafana para o editor de consultas do Log Analytics no Portal do Azure
Escolha uma série temporal no painel para ver um menu de contexto com um link para Exibir no Portal do Azure. A escolha desse link abre o editor de consultas do Azure Log Analytics no Portal do Azure e executa a consulta no painel Grafana.
Se você não estiver conectado atualmente ao Portal do Azure, o link abrirá a página de login. O link fornecido é válido para qualquer conta, mas só exibe a consulta se sua conta tiver acesso ao espaço de trabalho do Azure Log Analytics especificado na consulta.
Alertas do Azure Log Analytics
O alerta Grafana é compatível com o Application Insights. Esse não é o suporte do Azure Alerts. Para obter mais informações sobre alertas nos espaços de trabalho da Grafana, consulte. Alerta Grafana
Consultando o serviço Application Insights Analytics
Se você alterar o tipo de serviço para Insights Analytics, um editor semelhante ao serviço Log Analytics estará disponível. Esse serviço também usa a linguagem Kusto, portanto, as instruções para consultar dados são idênticasConsultando o serviço Azure Log Analytics, exceto que você consulta os dados do Application Insights Analytics.