-
Notifications
You must be signed in to change notification settings - Fork 0
/
springdeploy.json
50 lines (47 loc) · 33.8 KB
/
springdeploy.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 Analytics Spring Update.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 (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 (Spring Update)\\n---\\n\\nThis workbook provides a visualization of all the datapoints in WVD.\"},\"name\":\"text - 2\"},{\"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\":604800000},\"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\":\"WVD-BASE-RG.WVDHOSTPOOL1\",\"typeSettings\":{\"additionalResourceOptions\":[]},\"timeContext\":{\"durationMs\":2592000000},\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\"}],\"style\":\"pills\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\"},\"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\":\"links - 7\"},{\"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\":\"WVDConnections | where TimeGenerated > ago(5m) and ClientOS != \\\"\\\" | summarize count() by ClientOS\",\"size\":1,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\"},\"name\":\"query - 1\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"WVDConnections | where TimeGenerated > ago(5m) and ClientOS != \\\"\\\" | summarize count() by ClientOS\",\"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\":\"WVDConnections | where TimeGenerated > ago(5m) and ClientType != \\\"\\\" | summarize count() by ClientType\",\"size\":1,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\"},\"name\":\"query - 1\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"WVDConnections | where TimeGenerated > ago(5m) and ClientType != \\\"\\\" | summarize count() by ClientType\",\"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\\n\\r\\nThis displays information on all active users.\"},\"name\":\"text - 0\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"ITPC_CTX_Session_CL\\r\\n| where ConnectionState_s == \\\"Active\\\" and TimeGenerated >ago(5m)\\r\\n| distinct UserName_s, SessionId_d, Worker_s, LoginTime_t, DesktopGroup_s\\r\\n| order by DesktopGroup_s\",\"size\":0,\"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\\n\\r\\nThis displays information on users who are currently connected but disconnected.\"},\"name\":\"text - 0\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"ITPC_CTX_Session_CL\\r\\n| where UserName_s !=\\\"\\\" and ConnectionState_s contains \\\"Disconnected\\\" and TimeGenerated >ago(5m)\\r\\n| distinct TimeGenerated, UserName_s, Worker_s,DesktopGroup_s, IdleTime_s\",\"size\":0,\"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 Usage Per User\"},\"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\"},{\"type\":12,\"content\":{\"version\":\"NotebookGroup/1.0\",\"groupType\":\"editable\",\"items\":[{\"type\":1,\"content\":{\"json\":\"## User Connection Search (Spring Update Only)\\r\\n\\r\\nUse this report to find all connections for a specific user. \\r\\n\\r\\nUse the dropdown to select a username and find all the connections for that user.\"},\"name\":\"text - 0\"},{\"type\":9,\"content\":{\"version\":\"KqlParameterItem/1.0\",\"parameters\":[{\"id\":\"e5359918-07fe-448d-a65f-2fed121ec9b0\",\"version\":\"KqlParameterItem/1.0\",\"name\":\"UserName\",\"type\":2,\"description\":\"UserName Search\",\"isRequired\":true,\"query\":\"WVDConnections | distinct UserName | order by UserName\",\"value\":null,\"typeSettings\":{\"additionalResourceOptions\":[]},\"timeContext\":{\"durationMs\":0},\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\"}],\"style\":\"pills\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\"},\"name\":\"parameters - 2\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"WVDConnections\\r\\n|where UserName == \\\"{UserName}\\\" and TimeGenerated {TimeRange}\\r\\n|take 100 \\r\\n|sort by TimeGenerated asc, CorrelationId \",\"size\":0,\"timeContext\":{\"durationMs\":0},\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\"},\"name\":\"query - 1\"}]},\"name\":\"group - 6\"}]},\"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\"},\"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\",\"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\":\"WVDConnections | where TimeGenerated {TimeRange} and State =~ \\\"Started\\\" and Type =~\\\"WVDConnections\\\" | extend CState=iff(SessionHostOSVersion==\\\"<>\\\",\\\"Failure\\\",\\\"Success\\\") | summarize Count=count() by State=CState\",\"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\":\"WVDConnections \\r\\n| where TimeGenerated {TimeRange} and Type =~\\\"WVDConnections\\\" and State =~ \\\"Started\\\" | extend Multi=split(_ResourceId, \\\"/\\\") | project ResourceAlias, HostPool=toupper(HP=Multi[8]), SessionHostName , UserName ,CState=iff(SessionHostOSVersion==\\\"<>\\\",\\\"Failure\\\",\\\"Success\\\"), CorrelationId, TimeGenerated, ResourceGroup=Multi[4], DesktopGroup_s=toupper(strcat(RG=Multi[4],\\\".\\\", HP=Multi[8])) \\r\\n| join kind= leftouter (\\r\\n WVDCheckpoints | where TimeGenerated {TimeRange} \\r\\n) on CorrelationId\\r\\n| extend DurationFromLogon=datetime_diff(\\\"Second\\\",TimeGenerated1,TimeGenerated)\\r\\n| where Name=~\\\"RdpStackLogon\\\" \\r\\n| project UserName, ResourceGroup, DesktopGroup_s,SessionHost=SessionHostName, TimeStamp=TimeGenerated1, DurationFromLogon\\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\":\"WVDConnections | where TimeGenerated {TimeRange} and State =~ \\\"Started\\\" and Type =~\\\"WVDConnections\\\" | extend Multi=split(_ResourceId, \\\"/\\\") | extend CState=iff(SessionHostOSVersion==\\\"<>\\\",\\\"Failure\\\",\\\"Success\\\")| where CState=~\\\"Failure\\\" | project TimeStamp=TimeGenerated, UserName, ResourceGroup=Multi[4], HostPool=Multi[8],ResourceAlias, SessionHost=SessionHostName, ClientOS=ClientOS, ClientWvdVersion=ClientVersion, CorrelationId| order by TimeStamp desc\",\"size\":0,\"title\":\"Failed sessions\",\"timeContext\":{\"durationMs\":0},\"timeContextFromParameter\":\"TimeRange\",\"exportFieldName\":\"CorrelationId\",\"exportParameterName\":\"_ActivityId\",\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"gridSettings\":{\"filter\":true}},\"name\":\"failed-logins\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"WVDConnections | where TimeGenerated {TimeRange} and (CorrelationId==\\\"{_ActivityId}\\\" or isempty(\\\"{_ActivityId}\\\")) |order by TimeGenerated desc\\r\\n| where State =~ \\\"Started\\\" | extend Multi=split(_ResourceId, \\\"/\\\") | project ResourceAlias, ResourceGroup=Multi[4], HostPool=Multi[8], SessionHostName ,UserName ,CState=iff(SessionHostOSVersion==\\\"<>\\\",\\\"Failure\\\",\\\"Success\\\"), CorrelationId, TimeGenerated\\r\\n| join kind= leftouter (\\r\\n WVDCheckpoints | where TimeGenerated {TimeRange}\\r\\n) on CorrelationId\\r\\n| extend DurationFromLogon=datetime_diff(\\\"Second\\\",TimeGenerated1,TimeGenerated)\\r\\n| project TimeStamp=TimeGenerated, DurationFromLogon, UserName, Success=CState=~\\\"Failure\\\", Operation=Name, Parameters, ResourceAlias ,SessionHost=SessionHostName, CorrelationId, TimeGenerated\\r\\n| order by TimeGenerated desc, TimeStamp asc\\r\\n\",\"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\":\"WVDConnections | where TimeGenerated {TimeRange} and (CorrelationId==\\\"{_ActivityId}\\\" or isempty(\\\"{_ActivityId}\\\")) |order by TimeGenerated desc\\r\\n| where State =~ \\\"Started\\\" | extend Multi=split(_ResourceId, \\\"/\\\") | project ResourceAlias, ResourceGroup=Multi[4], HostPool=Multi[8], SessionHostName ,UserName ,CState=iff(SessionHostOSVersion==\\\"<>\\\",\\\"Failure\\\",\\\"Success\\\"), CorrelationId, TimeGenerated\\r\\n| join kind= leftouter (\\r\\n WVDErrors | where TimeGenerated {TimeRange}\\r\\n) on CorrelationId\\r\\n| extend DurationFromLogon=datetime_diff(\\\"Second\\\",TimeGenerated1,TimeGenerated)\\r\\n| project TimeStamp=TimeGenerated, DurationFromLogon, UserName, ResourceAlias ,SessionHost=SessionHostName ,Source ,CodeSymbolic , ErrorMessage=Message, ErrorCode=Code, ErrorSource=Source ,ServiceError, CorrelationId\\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\":\"WVDErrors | where TimeGenerated {TimeRange} | summarize Count=count() by CodeSymbolic\\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\":\"WVDErrors| where TimeGenerated {TimeRange} | summarize Count=count() by Source\",\"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\":\"WVDErrors | where TimeGenerated {TimeRange} | summarize Count=count() by bin(TimeGenerated, 15m), CodeSymbolic\",\"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\":1,\"content\":{\"json\":\"## Internal vs External Errors\"},\"name\":\"text - 2\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"WVDErrors\\r\\n| where ServiceError == \\\"True\\\"\\r\\n| project TimeGenerated, Source, Code , CodeSymbolic , Message \",\"size\":0,\"title\":\"Internal Errors\",\"timeContext\":{\"durationMs\":0},\"timeContextFromParameter\":\"TimeRange\",\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"gridSettings\":{\"filter\":true}},\"name\":\"query - 2\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"WVDErrors\\r\\n| where ServiceError == \\\"False\\\"\\r\\n| project TimeGenerated, Source, Code , CodeSymbolic , Message \",\"size\":0,\"title\":\"External Errors\",\"timeContext\":{\"durationMs\":0},\"timeContextFromParameter\":\"TimeRange\",\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"gridSettings\":{\"filter\":true}},\"name\":\"query - 1\"}]},\"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\":\"WVDConnections\\r\\n| where TimeGenerated > ago(24h) and ClientOS != \\\"\\\"\\r\\n|project TimeGenerated , SessionHostName, State, ClientOS, ClientType, ResourceAlias , SessionHostIPAddress \\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\":\"WVDConnections\\r\\n| where ClientOS != \\\"\\\"\\r\\n|summarize count() by ClientOS\\r\\n| top 10 by ClientOS\\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\":\"WVDConnections| where TimeGenerated {TimeRange} | summarize Count=count() by State\",\"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\":\"WVDConnections \\r\\n| project-away TenantId,SourceSystem \\r\\n| summarize arg_max(TimeGenerated, *), StartTime = min(iff(State== 'Started', TimeGenerated , datetime(null) )), ConnectTime = min(iff(State== 'Connected', TimeGenerated , datetime(null) )) by CorrelationId \\r\\n| join kind=leftouter ( \\r\\n WVDErrors \\r\\n |summarize Errors=makelist(pack('Code', Code, 'CodeSymbolic', CodeSymbolic, 'Time', TimeGenerated, 'Message', Message ,'ServiceError', ServiceError, 'Source', Source)) by CorrelationId \\r\\n ) on CorrelationId \\r\\n| join kind=leftouter ( \\r\\n WVDCheckpoints \\r\\n | summarize Checkpoints=makelist(pack('Time', TimeGenerated, 'Name', Name, 'Parameters', Parameters, 'Source', Source)) by CorrelationId \\r\\n | mv-apply Checkpoints on \\r\\n ( \\r\\n order by todatetime(Checkpoints['Time']) asc \\r\\n | summarize Checkpoints=makelist(Checkpoints) \\r\\n ) \\r\\n ) on CorrelationId \\r\\n| project-away CorrelationId1, CorrelationId2 \\r\\n| order by TimeGenerated desc \",\"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\":\"WVDManagement\",\"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\"}],\"isLocked\":false}"
}
}
]
}