You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用PowerShell查询Azure Service Plan过去24/12/1小时总连接数

Azure Service Plan总连接次数自动化统计方案

你已经完成了Azure账号登录的代码封装,仅需补充指标拉取、汇总逻辑即可完成需求,核心是调用Azure Monitor公开的指标接口获取数据,不需要额外改造现有应用。

前置准备

  • 安装PowerShell Az监控模块:Install-Module -Name Az.Monitor -Scope CurrentUser -Force
  • 确保登录账号持有目标Service Plan所属资源组的监控数据读取权限

完整实现代码

# 原有登录逻辑
function connectionMenthod($AzureUserName,$AzureP,$AzureTenantID,$AzureSubscriptionID) {
    $username = $AzureUserName;
    $password = ConvertTo-SecureString $AzureP -AsPlainText -Force;
    $creds = New-Object System.Management.Automation.PSCredential -ArgumentList ($username, $password);
    Connect-AzAccount -Credential $creds -Tenant $AzureTenantID 
    # 切换到目标订阅
    Set-AzContext -Subscription $AzureSubscriptionID
}

function upgradeNFREnvironment () {
    $AzureTenantID = "<Azure_tenant_id>"
    $AzureSubscriptionID = "<Azure_Subscription_Id>"
    $AzureUserName = "<User_Name>"
    $AzureP = "<Password>"
    connectionMenthod $AzureUserName $AzureP $AzureTenantID $AzureSubscriptionID
}

# 执行登录
upgradeNFREnvironment 

# --------------------------以下为新增统计逻辑--------------------------
# 配置参数:替换为你要统计的Service Plan信息
$servicePlanName = "<你的Service Plan名称>"
$resourceGroupName = "<Service Plan所在资源组名称>"
# 配置统计时间范围:示例为统计过去24小时的总连接次数,可自行调整
$endTime = Get-Date
$startTime = $endTime.AddHours(-24)
$timeGrain = [TimeSpan]::FromHours(1)
$totalConnections = 0

# 获取目标Service Plan下关联的所有App Service应用
$apps = Get-AzWebApp | Where-Object {$_.ServerFarmId -like "*$servicePlanName*" -and $_.ResourceGroup -eq $resourceGroupName}

foreach ($app in $apps) {
    # 拉取单个应用的连接数指标,聚合方式为总和
    $metric = Get-AzMetric -ResourceId $app.Id -MetricName "AppConnections" -StartTime $startTime -EndTime $endTime -TimeGrain $timeGrain -AggregationType Total
    # 累加该应用统计周期内的总连接数
    $appTotal = ($metric.Data | Measure-Object -Property Total -Sum).Sum
    $totalConnections += $appTotal
    Write-Host "应用$($app.Name) 统计周期内连接数:$appTotal"
}

Write-Host "====================================="
Write-Host "Service Plan[$servicePlanName] 统计周期[$startTime ~ $endTime] 总连接次数:$totalConnections"

定时自动化执行配置

如果需要定期自动执行统计,可以把脚本托管到Azure自动化账户的Runbook中,配置定时触发器即可自动运行,运行结果可以输出到Azure日志或者自定义通知逻辑。

内容的提问来源于stack exchange,提问作者user16991483

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 12:15:02