You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
### Define if the server to be monitored will change during the monitoring period
134
+
135
+
If the set of servers being monitored may change during the overall monitoring period then set $staticServerList to $false to cause server evaluation to be repeated periodically. If this is set to false, the runner script will run for the same duration as the job scripts, and will start additional jobs if new servers are added and stop jobs if servers are removed from the query scope. Otherwise if set to $true, the runner script will complete as soon as the jobs have been spawned.
136
+
137
+
``` $staticServerList = $true ```
138
+
139
+
### Collection interval, lag-time and job duration
140
+
141
+
Provide the interval in minutes. This defines both how far back the data collection will look on each execution and the interval between executions. A value between 15-30 minutes is probably most appropriate. Note that fine-grained database telemetry (15 second averages) is only retained in each database for 60 minutes, beyond that it based on 5 minute averages. Pool telemetry in the master database is always based on 5 minute averages. Pool telemetry is not available immediately. A lag time of 30 minutes is programmed in the collection script. It is not recommended to change this lag setting. The effect of this is that the look-back window for pool data is pushed back, by this lag time so if gathering data for 15 interval the query window is -45 minutes to -30 minutes on each execution. Note that the lag time setting does not affect gathering 15s averaged telemetry from each database, which is available immediately. 5 minute averaged data is retained for 14 days.
142
+
143
+
``` $intervalMinutes = 15 ```
144
+
145
+
Provide the job duration in minutes. This defines how long the job will execute for in the background. A value of zero will cause the job to execute once only. The value is best
146
+
147
+
``` $durationMinutes = 600 ```
148
+
149
+
### Load all available pool telemetry
150
+
151
+
In normal execution the spawned jobs look back 'window' is based on the interval and lag settings. For pool telemetry which is available for 14 days, the data collection script can be configured to look back 15 days on its first execution to ensue it gathers all available telemetry for each pool. Be careful if you stop the runner script and restart it on the same servers within this 15 day period as it may gather and load duplicate data entries. Using this option with many pools may load a large amount of data.
152
+
153
+
``` $loadAllAvailablePoolTelemetry = $true ```
154
+
155
+
### Specify the source server(s) to use
156
+
157
+
The script allows either a single server to be specified or multiple. Several sample PowerShell scripted queries are provided but in general only one should be used, the others should be commented out. The script requires that the $servers variable is populated as input to the job execution. Either uncomment and use one of the queries that populates $servers or use one of the queries that populates $resourceList and then uncomment the section in the script that uses the $resourceList to populate $servers. If not using $resourceList leave this translation section commented out.
158
+
159
+
<aname=executing-the-runner-script></a>
160
+
161
+
## Executing the runner script
162
+
163
+
The runner script PoolTelemetryRunner.ps1 should be executed from within an Azure PowerShell context.
164
+
165
+
>>>>>>> decdc4e2faa3ac0192d70adb7d1673755bfb7768
118
166
The script will prompt for Azure login and the user name and password for the source servers and the user name and password for the telemetry server. It will then spawn a PowerShell job for each server that has been identified within the script. Each job will run in the background for the time specified in $durationMinutes.
119
167
120
168
It will gather data for the most recent period defined by the interval value and load this, then sleep until the next data gathering point, wake up, gather and load more data and then sleep again, etc.
@@ -162,6 +210,21 @@ For example, once the telemetry is being collected, this TVF can be called with
162
210
Data can be queried while data collection is in progress.
163
211
164
212
> [AZURE.NOTE] If the scripts are stopped and started again within a short period they may add duplicate rows to the telemetry tables.
213
+
<<<<<<< HEAD
214
+
=======
215
+
216
+
<apower-bi></a>
217
+
218
+
## Power BI designer file
219
+
220
+
A sample Power BI designer (PBIX) file is also provided in this location (which can be opened using PowerBI desktop tool). It provides a simple dashboard experience over the elastic pool data collected using the scripts described above. To use this PBIX file follow these steps
221
+
222
+
- Download the file and open it in [Power BI desktop tool](https://powerbi.microsoft.com/en-us/desktop/).
223
+
- Change the queries to point them to your telemetry database servers and database.
224
+
- Refresh the report to get current data.
225
+
- The report will show the busiest top 5 elastic pools over the last 6 hours, 24 hours and 7 days.
226
+
- This report can also be published as a dashboard to your organization’s PowerBI site for use by others in your organization.
0 commit comments