Forum Discussion
Settings an alert if available sessions is low
- Jun 28, 2021
DeletedHey, Vinisz
I don't have the Kusto query for you, but this could be an alternative option. look at this (full Credit goes to Travis, I just pulled the relevant parts out - replace the hostpool variables with your own), you should be able to turn the below into an Azure Automation runbook to trigger an email based on count:
#https://raw.githubusercontent.com/tsrob50/WVD-Public/master/WVDARM_ScaleHostPoolVMs.ps1
# Set default error action
$defaultErrorAction = $ErrorActionPreference# Enable Verbose logging
$VerbosePreference = 'SilentlyContinue'$hostPoolName = 'avd-pooled'
$hostPoolRg = 'avd_prod'$hostPool = Get-AzWvdHostPool -ResourceGroupName $hostPoolRg -HostPoolName $hostPoolName
$sessionHosts = Get-AzWvdSessionHost -ResourceGroupName $hostPoolRg -HostPoolName $hostPoolName | Where-Object { $_.AllowNewSession -eq $true }
$runningSessionHosts = $sessionHosts | Where-Object { $_.Status -eq "Available" }
# Get the Max Session Limit on the host pool
# This is the total number of sessions per session host
$maxSession = $hostPool.MaxSessionLimit
# Get current active user sessions
$currentSessions = 0
foreach ($sessionHost in $sessionHosts) {
$count = $sessionHost.session
$currentSessions += $count
}
$runningSessionHostsCount = $runningSessionHosts.count
$sessionHostTarget = [math]::Ceiling((($currentSessions) / $maxSession))
if ($runningSessionHostsCount -lt $sessionHostTarget) {
Write-Verbose "Running session host count $runningSessionHostsCount is less than session host target count $sessionHostTarget"}
elseif ($runningSessionHostsCount -gt $sessionHostTarget) {
Write-Verbose "Running session hosts count $runningSessionHostsCount is greater than session host target count $sessionHostTarget"}
else {
Write-Verbose "Running session host count $runningSessionHostsCount matches session host target count $sessionHostTarget, doing nothing"
}
Perf
| where ObjectName == "Terminal Services"
| where CounterName == "Active Sessions"
| where Computer contains "avd"
| where CounterValue > 0
| summarize arg_max(TimeGenerated, *) by Computer
| project Computer, CounterName, CounterValue
- DeletedJul 12, 2021
JasonMasten , Pretty nice query, but it outputs the amount of sessions per-host.
What I'm looking for is per hostpool and then "max sessions per pool - current sessions per pool"Al dynamic of course. (just like it is displayed in the Azure WVD workbook under "utilization"
Is there no way to get underlying query of that one ?