-
Notifications
You must be signed in to change notification settings - Fork 0
/
azuredeploy.json
50 lines (47 loc) · 34.9 KB
/
azuredeploy.json
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
{
"$schema":"https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion":"1.0.0.0",
"parameters":{
},
"variables":{
"Workbooks":{
"workbookName":[
"WVD Insights and Analytics1.json"
]
}
},
"resources":[
{
"apiVersion": "2018-02-01",
"name": "pid-829f34d0-ff76-42d3-b46f-f527d50ff819",
"type": "Microsoft.Resources/deployments",
"properties": {
"mode": "Incremental",
"template": {
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": []
}
}
},
{
"name": "f3c02d9d-aab8-43b6-9eb8-17ae3dfc11ad",
"type": "microsoft.insights/workbooktemplates",
"location": "[resourceGroup().location]",
"apiVersion": "2019-10-17-preview",
"dependsOn": [],
"properties": {
"galleries": [
{
"name": "WVD Insights and Analytics (Pre-Spring Update)",
"category": "Windows Virtual Desktop",
"order": 100,
"type": "workbook",
"resourceType": "microsoft.operationalinsights/workspaces"
}
],
"templateData": "{\"version\":\"Notebook/1.0\",\"items\":[{\"type\":1,\"content\":{\"json\":\"## WVD Metrics and Insights\\n---\\n\\nThis workbook provides a visualization of all the datapoints in WVD.\"},\"name\":\"TopOfPage\"},{\"type\":9,\"content\":{\"version\":\"KqlParameterItem/1.0\",\"parameters\":[{\"id\":\"2edae9ae-76aa-4b55-9ced-6923851ddbb5\",\"version\":\"KqlParameterItem/1.0\",\"name\":\"_defaultAggBin\",\"type\":1,\"description\":\"Default aggretgation time for operations (normally 5m)\",\"value\":\"15m\",\"isHiddenWhenLocked\":true,\"timeContext\":{\"durationMs\":0},\"timeContextFromParameter\":\"TimeRange\",\"resourceType\":\"microsoft.insights/components\"}],\"style\":\"pills\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\"},\"name\":\"parameters - 9\"},{\"type\":12,\"content\":{\"version\":\"NotebookGroup/1.0\",\"groupType\":\"editable\",\"items\":[{\"type\":12,\"content\":{\"version\":\"NotebookGroup/1.0\",\"groupType\":\"editable\",\"items\":[{\"type\":1,\"content\":{\"json\":\"## Active/Disconnected Sessions\"},\"name\":\"text - 0\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"ITPC_CTX_Session_CL\\r\\n| where TimeGenerated > ago(5m)\\r\\n| summarize dcount(SessionHash_s) by ConnectionState_s\",\"size\":1,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"visualization\":\"tiles\",\"tileSettings\":{\"showBorder\":false,\"titleContent\":{\"columnMatch\":\"ConnectionState_s\",\"formatter\":1},\"leftContent\":{\"columnMatch\":\"dcount_SessionHash_s\",\"formatter\":12,\"formatOptions\":{\"palette\":\"auto\"},\"numberFormat\":{\"unit\":17,\"options\":{\"maximumSignificantDigits\":3,\"maximumFractionDigits\":2}}}}},\"name\":\"query - 1\"}]},\"customWidth\":\"30\",\"name\":\"group - 8\"},{\"type\":12,\"content\":{\"version\":\"NotebookGroup/1.0\",\"groupType\":\"editable\",\"items\":[{\"type\":1,\"content\":{\"json\":\"## Active User Count\"},\"name\":\"text - 0\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"ITPC_CTX_Session_CL\\r\\n| where TimeGenerated > ago(5m)\\r\\n| summarize UserCount=dcount(SessionHash_s) by ConnectionState_s\\r\\n| summarize sum(UserCount)\",\"size\":4,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"visualization\":\"tiles\",\"tileSettings\":{\"titleContent\":{\"formatOptions\":{}},\"leftContent\":{\"columnMatch\":\"sum_UserCount\",\"formatter\":12,\"formatOptions\":{\"palette\":\"auto\"}},\"showBorder\":false}},\"name\":\"query - 1\"}]},\"customWidth\":\"30\",\"name\":\"group - 1\"},{\"type\":12,\"content\":{\"version\":\"NotebookGroup/1.0\",\"groupType\":\"editable\",\"items\":[{\"type\":1,\"content\":{\"json\":\"## Total Consumed Hours\"},\"name\":\"text - 0\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"ITPC_CTX_Session_CL\\r\\n| summarize TimeInMinute=count() by ConnectionState_s \\r\\n| summarize TotalHours=sum(TimeInMinute)/60\",\"size\":4,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"visualization\":\"tiles\",\"tileSettings\":{\"titleContent\":{\"formatOptions\":{}},\"leftContent\":{\"columnMatch\":\"TotalHours\",\"formatter\":12,\"formatOptions\":{\"palette\":\"auto\"}},\"showBorder\":false}},\"name\":\"query - 1\"}]},\"customWidth\":\"30\",\"name\":\"group - 2\"}]},\"name\":\"SessionInfo\"},{\"type\":9,\"content\":{\"version\":\"KqlParameterItem/1.0\",\"parameters\":[{\"id\":\"be7a6619-7e3f-4687-bf34-0f84105753ca\",\"version\":\"KqlParameterItem/1.0\",\"name\":\"TimeRange\",\"type\":4,\"isRequired\":true,\"value\":{\"durationMs\":86400000},\"typeSettings\":{\"selectableValues\":[{\"durationMs\":300000},{\"durationMs\":900000},{\"durationMs\":1800000},{\"durationMs\":3600000},{\"durationMs\":14400000},{\"durationMs\":43200000},{\"durationMs\":86400000},{\"durationMs\":172800000},{\"durationMs\":259200000},{\"durationMs\":604800000},{\"durationMs\":1209600000},{\"durationMs\":2419200000},{\"durationMs\":2592000000},{\"durationMs\":5184000000},{\"durationMs\":7776000000}],\"allowCustom\":true},\"resourceType\":\"microsoft.insights/components\"},{\"id\":\"29ba4aa6-675a-4814-bf01-fe4faa289379\",\"version\":\"KqlParameterItem/1.0\",\"name\":\"HostPool\",\"label\":\"Host Pool\",\"type\":2,\"description\":\"Select a host pool to show only data of this specific one\",\"isRequired\":true,\"query\":\"ITPC_CTX_Process_CL | distinct DesktopGroup_s | order by HostPool=DesktopGroup_s\",\"value\":\"NYCDOEWVD.WVDNDSK-POOL1\",\"typeSettings\":{\"additionalResourceOptions\":[]},\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\"}],\"style\":\"pills\",\"queryType\":0,\"resourceType\":\"microsoft.insights/components\"},\"name\":\"parameters - 3\"},{\"type\":11,\"content\":{\"version\":\"LinkItem/1.0\",\"style\":\"tabs\",\"links\":[{\"cellValue\":\"selectedTab\",\"linkTarget\":\"parameter\",\"linkLabel\":\"Sessions\",\"subTarget\":\"Sessions\",\"preText\":\"Sessions\",\"style\":\"link\"},{\"cellValue\":\"selectedTab\",\"linkTarget\":\"parameter\",\"linkLabel\":\"Session Hosts\",\"subTarget\":\"SessionHosts\",\"style\":\"link\"},{\"cellValue\":\"selectedTab\",\"linkTarget\":\"parameter\",\"linkLabel\":\"Processes\",\"subTarget\":\"Processes\",\"style\":\"link\"},{\"cellValue\":\"selectedTab\",\"linkTarget\":\"parameter\",\"linkLabel\":\"Users\",\"subTarget\":\"Users\",\"style\":\"link\"},{\"cellValue\":\"selectedTab\",\"linkTarget\":\"parameter\",\"linkLabel\":\"Applications\",\"subTarget\":\"Applications\",\"style\":\"link\"},{\"cellValue\":\"selectedTab\",\"linkTarget\":\"parameter\",\"linkLabel\":\"Diagnostics\",\"subTarget\":\"Diagnostics\",\"style\":\"link\"},{\"cellValue\":\"selectedTab\",\"linkTarget\":\"parameter\",\"linkLabel\":\"Failures/Errors\",\"subTarget\":\"Failures\",\"style\":\"link\"}]},\"name\":\"lnkMenu\"},{\"type\":12,\"content\":{\"version\":\"NotebookGroup/1.0\",\"groupType\":\"editable\",\"items\":[{\"type\":1,\"content\":{\"json\":\"## Session Information\\r\\nThe session tab shows information and data around the user sessions. This contains bandwidths, latencies and more grouped by different elements.\"},\"name\":\"text - 0\"},{\"type\":12,\"content\":{\"version\":\"NotebookGroup/1.0\",\"groupType\":\"editable\",\"items\":[{\"type\":1,\"content\":{\"json\":\"## Client Type by OS and Build Number\"},\"name\":\"text - 0\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"WVDActivityV1_CL | where TimeGenerated {TimeRange} and ClientOS_s != \\\"\\\" | summarize count() by ClientOS_s\",\"size\":1,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\"},\"name\":\"query - 1\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"WVDActivityV1_CL | where TimeGenerated {TimeRange} and ClientOS_s != \\\"\\\" | summarize count() by ClientOS_s\",\"size\":0,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"visualization\":\"barchart\"},\"name\":\"query - 2\"}]},\"customWidth\":\"50\",\"name\":\"group - 2\"},{\"type\":12,\"content\":{\"version\":\"NotebookGroup/1.0\",\"groupType\":\"editable\",\"items\":[{\"type\":1,\"content\":{\"json\":\"## Current Sessions by Client Type\"},\"name\":\"text - 0\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"WVDActivityV1_CL | where TimeGenerated > ago(5m) and ClientType_s != \\\"\\\" | summarize count() by ClientType_s\",\"size\":1,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\"},\"name\":\"query - 1\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"WVDActivityV1_CL | where TimeGenerated > ago(5m) and ClientType_s != \\\"\\\" | summarize count() by ClientType_s\",\"size\":0,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"visualization\":\"barchart\"},\"name\":\"query - 2\"}]},\"customWidth\":\"50\",\"name\":\"group - 1\"}]},\"conditionalVisibility\":{\"parameterName\":\"selectedTab\",\"comparison\":\"isEqualTo\",\"value\":\"Sessions\"},\"name\":\"group - 4\"},{\"type\":12,\"content\":{\"version\":\"NotebookGroup/1.0\",\"groupType\":\"editable\",\"items\":[{\"type\":1,\"content\":{\"json\":\"## Session Hosts\"},\"name\":\"text - 0\"},{\"type\":12,\"content\":{\"version\":\"NotebookGroup/1.0\",\"groupType\":\"editable\",\"items\":[{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"ITPC_CTX_Worker_CL\\r\\n| distinct Name_s , VmSize_s\\r\\n| summarize count() by VmSize_s\\r\\n| render piechart \\r\\n\",\"size\":2,\"title\":\"VM Count by Size\",\"timeContext\":{\"durationMs\":0},\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\"},\"name\":\"query - 1\"}]},\"customWidth\":\"50\",\"name\":\"group - 2\"},{\"type\":12,\"content\":{\"version\":\"NotebookGroup/1.0\",\"groupType\":\"editable\",\"items\":[{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"ITPC_CTX_Session_CL | where TimeGenerated {TimeRange} and DesktopGroup_s==\\\"{HostPool}\\\" | summarize AggregatedValue=dcount(SessionHash_s) by Worker_s | order by AggregatedValue desc\",\"size\":0,\"title\":\"Top unique sessions by host (#)\",\"timeContext\":{\"durationMs\":0},\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"visualization\":\"unstackedbar\"},\"name\":\"query - 0\"}]},\"customWidth\":\"50\",\"name\":\"group - 2\"}]},\"conditionalVisibility\":{\"parameterName\":\"selectedTab\",\"comparison\":\"isEqualTo\",\"value\":\"SessionHosts\"},\"name\":\"SessionHosts\"},{\"type\":12,\"content\":{\"version\":\"NotebookGroup/1.0\",\"groupType\":\"editable\",\"items\":[{\"type\":1,\"content\":{\"json\":\"## Processes\"},\"name\":\"text - 0\"},{\"type\":12,\"content\":{\"version\":\"NotebookGroup/1.0\",\"groupType\":\"editable\",\"items\":[{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"ITPC_CTX_Process_CL | where TimeGenerated {TimeRange} and DesktopGroup_s==\\\"{HostPool}\\\" and Name_s != \\\"System Idle Process\\\" | summarize AggregatedValue = avg(PercentProcessorTime_d) by Name_s, bin(TimeGenerated, {_defaultAggBin}) \",\"size\":0,\"title\":\"Process CPU consumption (%)\",\"timeContext\":{\"durationMs\":0},\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"visualization\":\"scatterchart\"},\"customWidth\":\"50\",\"name\":\"query - 0\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"ITPC_CTX_Process_CL | where TimeGenerated {TimeRange} and DesktopGroup_s==\\\"{HostPool}\\\" and Name_s != \\\"System Idle Process\\\" | summarize CPU_Average = 0.01*avg(PercentProcessorTime_d) by Name_s | order by CPU_Average desc\",\"size\":0,\"title\":\"Process CPU consumption (%)\",\"timeContext\":{\"durationMs\":0},\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"gridSettings\":{\"formatters\":[{\"columnMatch\":\"CPU_Average\",\"formatter\":0,\"formatOptions\":{},\"numberFormat\":{\"unit\":0,\"options\":{\"style\":\"percent\",\"useGrouping\":false}}}],\"labelSettings\":[{\"columnId\":\"Name_s\",\"label\":\"Process Name\"},{\"columnId\":\"CPU_Average\"}]}},\"customWidth\":\"50\",\"name\":\"query - 1\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"ITPC_CTX_Process_CL | where TimeGenerated {TimeRange} and DesktopGroup_s==\\\"{HostPool}\\\" and Name_s != \\\"System Idle Process\\\" | summarize AggregatedValue = avg(WorkingSet_d) by Name_s, bin(TimeGenerated, {_defaultAggBin}) \",\"size\":0,\"title\":\"Process memory consumption (Bytes)\",\"timeContext\":{\"durationMs\":0},\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"visualization\":\"scatterchart\"},\"customWidth\":\"50\",\"name\":\"query - 2\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"ITPC_CTX_Process_CL | where TimeGenerated {TimeRange} and DesktopGroup_s==\\\"{HostPool}\\\" and Name_s != \\\"System Idle Process\\\" | summarize IOData_Average = avg(IODataBytesPersec_d) by Name_s | order by IOData_Average desc\",\"size\":0,\"title\":\"Process IO-Data consumption (Bytes/s)\",\"timeContext\":{\"durationMs\":0},\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"gridSettings\":{\"formatters\":[{\"columnMatch\":\"IOData_Average\",\"formatter\":0,\"formatOptions\":{},\"numberFormat\":{\"unit\":11,\"options\":{\"style\":\"decimal\",\"useGrouping\":false}}}],\"labelSettings\":[{\"columnId\":\"Name_s\",\"label\":\"Process Name\"},{\"columnId\":\"IOData_Average\",\"label\":\"IO Data Average\"}]}},\"customWidth\":\"50\",\"name\":\"query - 3\"}]},\"name\":\"group - 1\"}]},\"conditionalVisibility\":{\"parameterName\":\"selectedTab\",\"comparison\":\"isEqualTo\",\"value\":\"Processes\"},\"name\":\"Processes\"},{\"type\":12,\"content\":{\"version\":\"NotebookGroup/1.0\",\"groupType\":\"editable\",\"items\":[{\"type\":1,\"content\":{\"json\":\"## Users\"},\"name\":\"text - 0\"},{\"type\":12,\"content\":{\"version\":\"NotebookGroup/1.0\",\"groupType\":\"editable\",\"items\":[{\"type\":1,\"content\":{\"json\":\"## Active Users\\r\\nThis displays the information on all active users.\"},\"name\":\"text - 1\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"ITPC_CTX_Session_CL\\r\\n| where ConnectionState_s == \\\"Active\\\" and TimeGenerated {TimeRange}\\r\\n| distinct UserName_s, DomainName_s, SessionId_d, Worker_s, LoginTime_t, DesktopGroup_s\\r\\n| order by DesktopGroup_s\",\"size\":0,\"noDataMessageStyle\":4,\"timeContext\":{\"durationMs\":0},\"timeContextFromParameter\":\"TimeRange\",\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"gridSettings\":{\"filter\":true}},\"name\":\"query - 1\"}]},\"customWidth\":\"50\",\"name\":\"group - 1\"},{\"type\":12,\"content\":{\"version\":\"NotebookGroup/1.0\",\"groupType\":\"editable\",\"items\":[{\"type\":1,\"content\":{\"json\":\"## Disconnected Users\\r\\nThis displays the information on all disconnected users.\"},\"name\":\"text - 1\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"ITPC_CTX_Session_CL\\r\\n| where UserName_s !=\\\"\\\" and ConnectionState_s contains \\\"Disconnected\\\" and TimeGenerated {TimeRange}\\r\\n| distinct TimeGenerated, UserName_s,DomainName_s, Worker_s,DesktopGroup_s, IdleTime_s\",\"size\":0,\"noDataMessageStyle\":4,\"timeContext\":{\"durationMs\":0},\"timeContextFromParameter\":\"TimeRange\",\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"gridSettings\":{\"filter\":true}},\"name\":\"query - 1\"}]},\"customWidth\":\"50\",\"name\":\"group - 2\"},{\"type\":12,\"content\":{\"version\":\"NotebookGroup/1.0\",\"groupType\":\"editable\",\"items\":[{\"type\":1,\"content\":{\"json\":\"## User Count Trend (Graph and Data)\\r\\nThis shows the current user count on a 15 minute interval.\"},\"name\":\"text - 0\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"ITPC_CTX_Session_CL\\r\\n| where ConnectionState_s ==\\\"Active\\\"\\r\\n| summarize dcount(SessionHash_s) by bin(TimeGenerated, 15m) // bin gives you the count of the distinct sessions in intervals of 15 minutes \\r\\n| render timechart \\r\\n\",\"size\":0,\"aggregation\":5,\"timeContext\":{\"durationMs\":0},\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\"},\"customWidth\":\"50\",\"name\":\"query - 1\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"ITPC_CTX_Session_CL\\r\\n| where ConnectionState_s ==\\\"Active\\\"\\r\\n| summarize dcount(SessionHash_s) by bin(TimeGenerated, 15m) // bin gives you the count of the distinct sessions in intervals of 15 minutes \",\"size\":0,\"timeContext\":{\"durationMs\":0},\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"gridSettings\":{\"sortBy\":[{\"itemKey\":\"TimeGenerated\",\"sortOrder\":1}],\"labelSettings\":[{\"columnId\":\"TimeGenerated\"},{\"columnId\":\"dcount_SessionHash_s\",\"label\":\"Session Count\"}]},\"sortBy\":[{\"itemKey\":\"TimeGenerated\",\"sortOrder\":1}]},\"customWidth\":\"50\",\"name\":\"query - 2\"}]},\"name\":\"group - 3\"},{\"type\":12,\"content\":{\"version\":\"NotebookGroup/1.0\",\"groupType\":\"editable\",\"items\":[{\"type\":1,\"content\":{\"json\":\"## WVD Consumption Per User\\r\\nThis displays the total # of hours that users have consumed on WVD.\"},\"name\":\"text - 0\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"ITPC_CTX_Session_CL\\r\\n| summarize TimeInMinute=count() by UserName_s, ConnectionState_s \\r\\n| project UserName_s, ConnectionState_s, TimeInMinute/60\",\"size\":0,\"timeContext\":{\"durationMs\":0},\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\"},\"name\":\"query - 1\"}]},\"customWidth\":\"50\",\"name\":\"group - 4\"},{\"type\":12,\"content\":{\"version\":\"NotebookGroup/1.0\",\"groupType\":\"editable\",\"items\":[{\"type\":1,\"content\":{\"json\":\"## Top Users by Usage\"},\"name\":\"text - 0\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"ITPC_CTX_Session_CL\\r\\n| summarize TimeInMinute=count() by UserName_s, ConnectionState_s \\r\\n| top 20 by UserName_s desc nulls last\",\"size\":0,\"timeContext\":{\"durationMs\":0},\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"visualization\":\"barchart\"},\"name\":\"query - 1\"}]},\"customWidth\":\"50\",\"name\":\"group - 5\"}]},\"conditionalVisibility\":{\"parameterName\":\"selectedTab\",\"comparison\":\"isEqualTo\",\"value\":\"Users\"},\"name\":\"Users\"},{\"type\":12,\"content\":{\"version\":\"NotebookGroup/1.0\",\"groupType\":\"editable\",\"items\":[{\"type\":1,\"content\":{\"json\":\"## Applications\"},\"name\":\"text - 0\"},{\"type\":12,\"content\":{\"version\":\"NotebookGroup/1.0\",\"groupType\":\"editable\",\"items\":[{\"type\":1,\"content\":{\"json\":\"## Application Crash Report\\r\\nThis displays information on application crashes in WVD. \"},\"name\":\"text - 0\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"ITPC_CTX_Application_CL\\r\\n| where Event_s == \\\"crashed\\\" \\r\\n| project TimeGenerated, Worker_s, Name_s, Message\",\"size\":0,\"timeContext\":{\"durationMs\":0},\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\"},\"customWidth\":\"50\",\"name\":\"query - 1\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"ITPC_CTX_Application_CL\\r\\n| where Event_s == \\\"crashed\\\" \\r\\n| summarize count() by Name_s\",\"size\":0,\"timeContext\":{\"durationMs\":0},\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"visualization\":\"barchart\"},\"customWidth\":\"50\",\"name\":\"query - 2\"}]},\"name\":\"group - 2\"}]},\"conditionalVisibility\":{\"parameterName\":\"selectedTab\",\"comparison\":\"isEqualTo\",\"value\":\"Applications\"},\"name\":\"Applications\"},{\"type\":12,\"content\":{\"version\":\"NotebookGroup/1.0\",\"groupType\":\"editable\",\"items\":[{\"type\":1,\"content\":{\"json\":\"## Failures and Errors\"},\"name\":\"text - 0\"},{\"type\":12,\"content\":{\"version\":\"NotebookGroup/1.0\",\"groupType\":\"editable\",\"items\":[{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"WVDActivityV1_CL | where TimeGenerated {TimeRange} and Type_s =~ \\\"Connection\\\" | summarize Count=count() by State=Outcome_s\",\"size\":1,\"title\":\"Brokered Sessions\",\"timeContext\":{\"durationMs\":0},\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"visualization\":\"piechart\"},\"customWidth\":\"50\",\"name\":\"query - 0\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"WVDActivityV1_CL \\r\\n| where TimeGenerated {TimeRange} and Type_s =~\\\"Connection\\\" | project ResourceType, SessionHostPoolName_s, SessionHostName_s , UserName_s ,Outcome_s, Id_g, TenantId_s, StartTime_t, DesktopGroup_s=toupper(strcat(TenantId_s,\\\".\\\",SessionHostPoolName_s)) \\r\\n| join kind= leftouter (\\r\\n WVDCheckpointV1_CL | where TimeGenerated {TimeRange} | extend Id_g=ActivityId_g \\r\\n) on Id_g\\r\\n| extend DurationFromLogon=datetime_diff(\\\"Second\\\",Time_t,StartTime_t)\\r\\n| where Name_s=~\\\"RdpStackLogon\\\" \\r\\n| project UserName=UserName_s, Tenant=TenantId_s, HostPool=SessionHostPoolName_s,SessionHost=SessionHostName_s, TimeStamp=StartTime_t , DurationFromLogon, DesktopGroup_s\\r\\n| summarize DurationInSeconds=avg(DurationFromLogon) by HostPool=DesktopGroup_s \",\"size\":1,\"title\":\"Session logon time (s)\",\"timeContext\":{\"durationMs\":0},\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"visualization\":\"piechart\"},\"customWidth\":\"50\",\"name\":\"query - 1\"}]},\"name\":\"group - 1\"},{\"type\":12,\"content\":{\"version\":\"NotebookGroup/1.0\",\"groupType\":\"editable\",\"items\":[{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"WVDActivityV1_CL | where TimeGenerated {TimeRange} and Type_s =~ \\\"Connection\\\" and Outcome_s=~\\\"Failure\\\" |project TimeStamp=TimeGenerated, User=UserName_s, Tenant=TenantId_s, HostPool=SessionHostPoolName_s,ResourceType, SessionHost=SessionHostName_s, ClientOS=ClientOS_s, ClientWvdVersion=ClientVersion_s, Id_g| order by TimeStamp desc\",\"size\":0,\"title\":\"Failed sessions\",\"timeContext\":{\"durationMs\":0},\"timeContextFromParameter\":\"TimeRange\",\"exportFieldName\":\"Id_g\",\"exportParameterName\":\"_ActivityId\",\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"gridSettings\":{\"filter\":true}},\"name\":\"failed-logins\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"WVDActivityV1_CL | where TimeGenerated {TimeRange} and (Id_g==\\\"{_ActivityId}\\\" or isempty(\\\"{_ActivityId}\\\")) |order by TimeGenerated desc\\r\\n| where Type_s =~\\\"Connection\\\" | project ResourceType, SessionHostPoolName_s, SessionHostName_s , UserName_s ,Outcome_s, Id_g, StartTime_t \\r\\n| join kind= leftouter (\\r\\n WVDCheckpointV1_CL | where TimeGenerated {TimeRange} | extend Id_g=ActivityId_g \\r\\n) on Id_g\\r\\n| extend DurationFromLogon=Time_t-StartTime_t \\r\\n| project TimeStamp=Time_t, DurationFromLogon, UserName=UserName_s, Success=Outcome_s=~\\\"Failure\\\", Operation=Name_s, Parameters=Parameters_s, ResourceType ,SessionHost=SessionHostName_s, ActivityId_g, TimeGenerated\\r\\n| order by TimeGenerated desc, TimeStamp asc\",\"size\":0,\"title\":\"Last user logon logs (filtered by failed sessions)\",\"timeContext\":{\"durationMs\":0},\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\"},\"name\":\"query - 1\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"WVDActivityV1_CL | where TimeGenerated {TimeRange} and (Id_g==\\\"{_ActivityId}\\\" or isempty(\\\"{_ActivityId}\\\")) |order by TimeGenerated desc\\r\\n| where Type_s =~\\\"Connection\\\" | project ResourceType, SessionHostPoolName_s, SessionHostName_s , UserName_s ,Outcome_s, Id_g, StartTime_t \\r\\n| join kind= leftouter (\\r\\n WVDErrorV1_CL | where TimeGenerated {TimeRange} | extend Id_g=ActivityId_g \\r\\n) on Id_g \\r\\n| extend DurationFromLogon=Time_t-StartTime_t \\r\\n| project TimeStamp=Time_t, DurationFromLogon, UserName=UserName_s, ResourceType ,SessionHost=SessionHostName_s, Operations=ErrorOperation_s , ErrorCodeSymbolic=ErrorCodeSymbolic_s , ErrorMessage=ErrorMessage_s, ErrorCode=ErrorCode_s, ErrorSource=ErrorSource_s ,IsInternal=ErrorInternal_s, ReportedBy=ReportedBy_s , ActivityId_g\\r\\n| order by TimeStamp desc\",\"size\":1,\"title\":\"Last user logon errors (filtered by failed sessions)\",\"timeContext\":{\"durationMs\":0},\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\"},\"name\":\"query - 2\"}]},\"name\":\"group - 2\"},{\"type\":12,\"content\":{\"version\":\"NotebookGroup/1.0\",\"groupType\":\"editable\",\"items\":[{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"WVDErrorV1_CL | where TimeGenerated {TimeRange} | summarize Count=count() by ErrorCodeSymbolic_s\\r\\n| render piechart\",\"size\":1,\"title\":\"Errors by Reason\",\"timeContext\":{\"durationMs\":0},\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\"},\"name\":\"query - 0\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"WVDErrorV1_CL | where TimeGenerated {TimeRange} | summarize Count=count() by ErrorSource_s\",\"size\":1,\"title\":\"Errors by Source\",\"timeContext\":{\"durationMs\":0},\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"visualization\":\"piechart\"},\"name\":\"query - 1\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"WVDErrorV1_CL | where TimeGenerated {TimeRange} | summarize Count=count() by bin(TimeGenerated, 15m), ErrorCodeSymbolic_s\",\"size\":1,\"title\":\"Errors Raised Over Time\",\"timeContext\":{\"durationMs\":0},\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"visualization\":\"scatterchart\"},\"name\":\"query - 2\"},{\"type\":12,\"content\":{\"version\":\"NotebookGroup/1.0\",\"groupType\":\"editable\",\"items\":[{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"WVDErrorV1_CL\\r\\n| summarize count() by ErrorInternal_s\\r\\n| render piechart\",\"size\":1,\"title\":\"Internal vs External Errors\",\"timeContext\":{\"durationMs\":0},\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"chartSettings\":{\"seriesLabelSettings\":[{\"seriesName\":\"False\",\"label\":\"External\",\"color\":\"blueDark\"},{\"seriesName\":\"True\",\"label\":\"Internal\",\"color\":\"red\"}]}},\"name\":\"query - 3\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"WVDErrorV1_CL\\r\\n| where ErrorInternal_s == \\\"False\\\"\\r\\n| project TimeGenerated, ErrorSource_s, ErrorCode_s ,ErrorOperation_s , ErrorCodeSymbolic_s , ErrorMessage_s \",\"size\":0,\"title\":\"External Errors\",\"timeContext\":{\"durationMs\":0},\"timeContextFromParameter\":\"TimeRange\",\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"gridSettings\":{\"filter\":true,\"labelSettings\":[{\"columnId\":\"TimeGenerated\"},{\"columnId\":\"ErrorSource_s\",\"label\":\"Error Source\"},{\"columnId\":\"ErrorCode_s\",\"label\":\"Error Code\"},{\"columnId\":\"ErrorOperation_s\",\"label\":\"Error Operation\"},{\"columnId\":\"ErrorCodeSymbolic_s\",\"label\":\"Symbolic Error\"},{\"columnId\":\"ErrorMessage_s\",\"label\":\"Error Message\"}]}},\"name\":\"query - 1\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"WVDErrorV1_CL\\r\\n| where ErrorInternal_s == \\\"False\\\"\\r\\n| summarize count() by ErrorCodeSymbolic_s\",\"size\":0,\"title\":\"External Error Count by Category\",\"timeContext\":{\"durationMs\":0},\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"visualization\":\"unstackedbar\"},\"name\":\"query - 4\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"WVDErrorV1_CL\\r\\n| where ErrorInternal_s == \\\"True\\\"\\r\\n| project TimeGenerated, ErrorSource_s, ErrorCode_s ,ErrorOperation_s , ErrorCodeSymbolic_s , ErrorMessage_s \",\"size\":0,\"title\":\"Internal Errors\",\"timeContext\":{\"durationMs\":0},\"timeContextFromParameter\":\"TimeRange\",\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"gridSettings\":{\"filter\":true,\"labelSettings\":[{\"columnId\":\"TimeGenerated\"},{\"columnId\":\"ErrorSource_s\",\"label\":\"Error Source\"},{\"columnId\":\"ErrorCode_s\",\"label\":\"Error Code\"},{\"columnId\":\"ErrorOperation_s\",\"label\":\"Error Operation\"},{\"columnId\":\"ErrorCodeSymbolic_s\",\"label\":\"Symbolic Error\"},{\"columnId\":\"ErrorMessage_s\",\"label\":\"Error Message\"}]}},\"name\":\"query - 2\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"WVDErrorV1_CL\\r\\n| where ErrorInternal_s == \\\"True\\\"\\r\\n| summarize count() by ErrorCodeSymbolic_s\",\"size\":0,\"title\":\"Internal Errors Count by Category\",\"timeContext\":{\"durationMs\":0},\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"visualization\":\"unstackedbar\"},\"name\":\"query - 3\"}]},\"name\":\"group - 4\"}]},\"name\":\"group - 3\"}]},\"conditionalVisibility\":{\"parameterName\":\"selectedTab\",\"comparison\":\"isEqualTo\",\"value\":\"Failures\"},\"name\":\"Failures\"},{\"type\":12,\"content\":{\"version\":\"NotebookGroup/1.0\",\"groupType\":\"editable\",\"items\":[{\"type\":1,\"content\":{\"json\":\"## Diagnostics\\r\\nThis section shows WVD Diagnostics related to errors, failures, and connection information.\"},\"name\":\"text - 0\"},{\"type\":12,\"content\":{\"version\":\"NotebookGroup/1.0\",\"groupType\":\"editable\",\"items\":[{\"type\":1,\"content\":{\"json\":\"## Top 25 RDP Activity\"},\"name\":\"text - 0\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"WVDActivityV1_CL\\r\\n| where TimeGenerated > ago(24h) and ClientOS_s != \\\"\\\"\\r\\n|project TimeGenerated , ClientOS_s, ResourceType , SessionHostPoolName_s , SessionHostName_s , SessionHostIPAddress_s \\r\\n| limit 25\",\"size\":1,\"timeContext\":{\"durationMs\":0},\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\"},\"name\":\"query - 1\"}]},\"name\":\"group - 1\"},{\"type\":12,\"content\":{\"version\":\"NotebookGroup/1.0\",\"groupType\":\"editable\",\"items\":[{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"WVDActivityV1_CL\\r\\n| where ClientOS_s != \\\"\\\"\\r\\n|summarize count() by ClientOS_s\\r\\n| top 10 by ClientOS_s\\r\\n| render piechart \\r\\n\",\"size\":0,\"title\":\"Top Client OS\",\"timeContext\":{\"durationMs\":0},\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\"},\"name\":\"query - 1\"}]},\"customWidth\":\"50\",\"name\":\"group - 2\"},{\"type\":12,\"content\":{\"version\":\"NotebookGroup/1.0\",\"groupType\":\"editable\",\"items\":[{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"WVDActivityV1_CL | where TimeGenerated {TimeRange} and Type_s =~ \\\"Connection\\\" | summarize Count=count() by State=Outcome_s\",\"size\":0,\"title\":\"Brokered Sessions\",\"timeContext\":{\"durationMs\":0},\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"visualization\":\"piechart\"},\"name\":\"query - 1\"}]},\"customWidth\":\"50\",\"name\":\"group - 3\"},{\"type\":12,\"content\":{\"version\":\"NotebookGroup/1.0\",\"groupType\":\"editable\",\"items\":[{\"type\":1,\"content\":{\"json\":\"## WVD Connection Information\"},\"name\":\"text - 0\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"WVDActivityV1_CL \\r\\n| where Type_s == \\\"Connection\\\" \\r\\n| join kind=leftouter ( \\r\\n WVDErrorV1_CL \\r\\n | summarize Errors = makelist(pack('Time', Time_t, 'Code', ErrorCode_s , 'CodeSymbolic', ErrorCodeSymbolic_s, 'Message', ErrorMessage_s, 'ReportedBy', ReportedBy_s , 'Internal', ErrorInternal_s )) by ActivityId_g \\r\\n ) on $left.Id_g == $right.ActivityId_g \\r\\n| join kind=leftouter ( \\r\\n WVDCheckpointV1_CL \\r\\n | summarize Checkpoints = makelist(pack('Time', Time_t, 'ReportedBy', ReportedBy_s, 'Name', Name_s, 'Parameters', Parameters_s) ) by ActivityId_g \\r\\n ) on $left.Id_g == $right.ActivityId_g \\r\\n|project-away ActivityId_g, ActivityId_g1\",\"size\":0,\"timeContext\":{\"durationMs\":0},\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\"},\"name\":\"query - 1\"}]},\"name\":\"group - 4\"},{\"type\":12,\"content\":{\"version\":\"NotebookGroup/1.0\",\"groupType\":\"editable\",\"items\":[{\"type\":1,\"content\":{\"json\":\"## WVD Management Activity\"},\"name\":\"text - 0\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"WVDActivityV1_CL \\r\\n| where Type_s == \\\"Management\\\" \\r\\n| join kind=leftouter ( \\r\\n WVDErrorV1_CL \\r\\n | summarize Errors = makelist(pack('Time', Time_t, 'Code', ErrorCode_s , 'CodeSymbolic', ErrorCodeSymbolic_s, 'Message', ErrorMessage_s, 'ReportedBy', ReportedBy_s , 'Internal', ErrorInternal_s )) by ActivityId_g \\r\\n ) on $left.Id_g == $right.ActivityId_g \\r\\n| join kind=leftouter ( \\r\\n WVDCheckpointV1_CL \\r\\n | summarize Checkpoints = makelist(pack('Time', Time_t, 'ReportedBy', ReportedBy_s, 'Name', Name_s, 'Parameters', Parameters_s) ) by ActivityId_g \\r\\n ) on $left.Id_g == $right.ActivityId_g \\r\\n|project-away ActivityId_g, ActivityId_g1\",\"size\":0,\"timeContext\":{\"durationMs\":0},\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\"},\"name\":\"query - 1\"}]},\"name\":\"group - 5\"}]},\"conditionalVisibility\":{\"parameterName\":\"selectedTab\",\"comparison\":\"isEqualTo\",\"value\":\"Diagnostics\"},\"name\":\"Diagnostics\"},{\"type\":11,\"content\":{\"version\":\"LinkItem/1.0\",\"style\":\"nav\",\"links\":[{\"cellValue\":\"lnkMenu\",\"linkTarget\":\"step\",\"linkLabel\":\"Top\",\"style\":\"primary\"}]},\"name\":\"links - 12\"}],\"isLocked\":false}"
}
}
]
}