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
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 ?