如何获取Power BI所用VNet数据网关的性能统计及状态(含编程方式)
Power BI VNet数据网关:性能统计与状态获取
获取VNet数据网关性能统计信息的途径
- Power BI管理门户:在网关管理界面直接查看实时及历史统计数据,包含CPU使用率、内存占用、数据传输量、连接成功率等核心指标,同时可查看网关的活动日志详情。
- Azure Monitor:若网关为Azure托管的VNet类型,可通过Azure Monitor配置指标收集,构建自定义仪表盘或设置告警,覆盖带宽利用率、数据包转发速率、连接状态等运维指标。
- 本地日志(仅本地部署网关):本地网关的日志文件默认存放在
C:\Program Files\On-premises data gateway\目录下,分析日志可获取更细粒度的性能与运行数据。
PowerShell脚本获取网关状态
首先安装Power BI管理模块:
Install-Module -Name MicrosoftPowerBIMgmt -Force
以下脚本可筛选并输出所有VNet网关的状态:
# 登录Power BI服务 Connect-PowerBIServiceAccount # 遍历所有网关,筛选VNet类型并输出状态 $gateways = Get-PowerBIGateway foreach ($gateway in $gateways) { if ($gateway.Type -eq "VNet") { Write-Host "网关名称: $($gateway.Name)" Write-Host "网关ID: $($gateway.Id)" Write-Host "网关状态: $($gateway.Status)" Write-Host "-------------------------" } } # 登出服务 Disconnect-PowerBIServiceAccount
若需指定单个网关状态,可添加-GatewayId参数精准查询,例如:
Get-PowerBIGateway -GatewayId "你的网关ID" | Select-Object Name, Status
编程方式获取网关状态
可通过Power BI REST API实现,以下是PowerShell调用示例:
# 配置Azure AD应用信息 $clientId = "你的Azure AD应用ID" $clientSecret = "你的应用密钥" $tenantId = "你的租户ID" $resourceUrl = "https://analysis.windows.net/powerbi/api" # 获取访问令牌 $tokenBody = @{ Grant_Type = "client_credentials" Client_Id = $clientId Client_Secret = $clientSecret Scope = "$resourceUrl/.default" } $tokenResponse = Invoke-RestMethod -Uri "https://login.microsoftonline.com/$tenantId/oauth2/v2.0/token" -Method Post -Body $tokenBody $accessToken = $tokenResponse.access_token # 调用网关列表API $gatewaysUrl = "https://api.powerbi.com/v1.0/myorg/gateways" $headers = @{ "Authorization" = "Bearer $accessToken" } $gateways = Invoke-RestMethod -Uri $gatewaysUrl -Headers $headers -Method Get # 筛选VNet网关并输出状态 foreach ($gateway in $gateways.value) { if ($gateway.type -eq "VNet") { Write-Host "网关名称: $($gateway.name)" Write-Host "网关状态: $($gateway.status)" # Active表示在线 } }
注意:需先在Azure AD中注册应用,授予Gateway.Read.All权限,确保应用拥有读取网关信息的权限。
内容的提问来源于stack exchange,提问作者learner
相关产品推荐
相关产品推荐

