If you’re using Azure Virtual Desktop (AVD) or Citrix with FSLogix, your users profiles in FSLogix are pretty important to them and their overall experience using Virtual Desktop Infrastructure (VDI). If their profiles are full or almost full this can cause a whole host of issues, not the least of which possibly failing to login. Fortunately we can find the logs in event log under Microsoft-FSLogix-Apps/Admin.
With Log Analytics we can easily find all full profiles with EventID 33.
Event | where EventLog contains "Microsoft-FSLogix-Apps/Admin" | where EventID == "33"
Pretty simple. You can alert on this of course, or surface it to a dashboard or workbook
Another tool in our belt for AVD are the diagnostic logs. These have come a long long way in the last few years when I made this post, AVD was in private preview and called RDMI and we had nothing, we were pulling off the API and doing custom logs. Or even this Workbook. Probably shouldn’t use either of those anymore, for anything other than reference or ideas.
But with the Diagnostic settings we have now we can calculate profile size.
This query will find profile sizes that are more than 70% full.
WVDCheckpoints | where (Name=="ProfileLoggedOff" or Name=="ODFCLoggedOff") and (Source=="RDAgent" or Source=="FSLogix") and TimeGenerated>ago(360d) | extend ProfileType=iff(Name=="ProfileLoggedOff","Profile","ODFC") | summarize arg_max(TimeGenerated, *) by UserName, ProfileType | extend ["VHD Size On Disk"]=todouble(replace_string(replace_string(tostring(Parameters.VHDSizeOnDisk),",",""),".","")), ["VHD Free Space"]=todouble(replace_string(tostring(Parameters.VHDFreeSpace),",",".")), ["VHD Max Size"]=todouble(replace_string(tostring(Parameters.MaxVHDSize),",",".")) | where ["VHD Size On Disk"]!="" | project UserName,TimeGenerated,ProfileType, ["VHD Size On Disk"], ["VHD Free Space"], ["VHD Max Size"], Usage=100*(["VHD Max Size"]-["VHD Free Space"])/["VHD Max Size"] | order by ["Usage"] desc | where Usage > 70
This query is modified from this AVD Deep Insights workbooks, another nice tool to have different options for monitoring and troubleshooting AVD.