Получив ключ инструментария Application Insight, получите имя службы в Azure


Как программно определить имя экземпляра Application Insights с учетом ключа инструментирования?

Наша компания имеет большое количество экземпляров application insights в Azure. При устранении неполадок в приложении может потребоваться довольно много времени, чтобы найти нужный экземпляр app insights для конкретного приложения.

Я должен был указать (больше, чем просто используя тег C#), что я искал решение C#. В идеале, я хотел бы встроить что-то, чтобы я может реализовать страницу типа 'myapp.com/appinsights" и это дало бы мне правильный экземпляр App insights (из сотен, которые у нас есть) для данного приложения.

2 5

2 ответа:

Это можно сделать с помощью PowerShell с помощью командлетов AzureRm. Если вы новичок в этом, посмотрите здесь на диспетчер ресурсов Azure.

Сначала вам нужно войти в систему с помощью Login-AzureRmAccount , а затем выбрать подписку с помощью Select-AzureRmSubscription

Следующий скрипт получит список имен каждого экземпляра Application Insights и его instrumentationkey:

Get-AzureRmResource -ExpandProperties -ResourceType "microsoft.insights/components"  -ResourceGroupName "your-resource-group" | select -ExpandProperty Properties  | Select Name, InstrumentationKey

Это работает следующим образом:

  1. получить все ресурсы типа microsoft.инсайт / компоненты изнутри вашего группа
  2. раскройте его свойства
  3. найдите ключ и имя Instrumentation в свойствах

Согласно комментарию @mafue, следующие команды powershell позволяют находить ключи инструментирования в разных группах ресурсов:

Import-Module -Name AzureRM
Login-AzureRmAccount
Select-AzureRmSubscription <subscription id> 

Find-AzureRmResource -ExpandProperties -ResourceType "microsoft.insights/components" | select -ExpandProperty Properties | Select Name, InstrumentationKey