给出:
我想从PowerShell脚本中查询这些指标。
我确实尝试通过谷歌搜索找到解决方案-没有成功。并非没有关于该主题的帖子-我只是无法按照这些帖子进行操作。
问题的要点是如何在没有用户交互的情况下做到这一点。
答案 0 :(得分:2)
您可以使用application-insights扩展az cli来做到这一点。
az extension add -n application-insights
az monitor app-insights query --apps "$my-app-name" --resource-group "$my-resource-group" --offset 24H --analytics-query 'requests | summarize count() by bin(timestamp, 1h)'
这是一个powershell脚本,可以从给定的应用程序见解实例和资源组中的文件运行kusto查询,并将数据作为powershell表返回:
<#
.SYNOPSIS
Run query in application insights and return Powershell table
.PARAMETER filename
File name of kusto query
.PARAMETER app
Application Insights instance name
.PARAMETER rg
Resource group name
.EXAMPLE
Search-AppInsights -filename file.kusto -app my-app-name -rg my-resource-group-name
#>
param([string] $filename, [string]$app, [string]$rg)
$query = Get-Content $filename
$data = az monitor app-insights query --apps "$app" --resource-group "$rg" --offset 48H --analytics-query "$query" | ConvertFrom-Json
$cols = $data.tables.columns | % { $_.name }
$data.tables.rows | % {
$obj = New-Object -TypeName psobject
for ($i=0; $i -lt $cols.Length; $i++) {
$obj | Add-Member -MemberType NoteProperty -Name $cols[$i] -Value $_[$i]
}
$obj
}
答案 1 :(得分:1)
您可以使用Azure Application Insights REST API来获取这些指标。
步骤如下:
第1步:获取应用程序ID和API密钥。
导航至应用程序见解-> API Access,请参见屏幕截图(请记住,生成api密钥时,请写下来):
步骤2:在powershell中,输入以下cmdlet(获取customEvents计数的示例代码):
Invoke-WebRequest -Uri https://api.applicationinsights.io/v1/apps/your_application_id/metrics/customEvents/cou
nt?timespan=P20D -Headers @{"accept"="application/json"; "x-api-key"="your_api_key"}
REST API的详细信息为here。
答案 2 :(得分:0)
$WorkspaceName = 'weu-co-law-security-01'
$ResourceGroupName = 'aaa-co-rsg-security-01'
$Workspace = Get-AzOperationalInsightsWorkspace -ResourceGroupName $ResourceGroupName -Name $WorkspaceName
$QueryResults = Invoke-AzOperationalInsightsQuery -Workspace $Workspace -Query 'AuditLogs | where OperationName == "Add member to group" | project TargetResources[0].displayName'
$QueryResults.Results