The Settings pane is where settings are configured for instances, sources, and objects. This tab is also where performance counter thresholds are configured when a counter is selected. Settings can be configured globally, at the instance level, or at the object level, and just like conditions they work on the principle of inheritance. The scope is determined by items selected in the Navigator pane. For more information, see the Conditions pane topic.
Connection settings can be applied at the global level or for an individual instance. To adjust the settings at the global level, select the devices node, and then select the Settings tab to display. To change any of the child level settings, change Inherit from Parent to False. There are three types of settings for an instance:
- Maintenance Window
Note: Selecting away from the Settings pane saves any changes made to the settings.
Maintenance Window Settings
Maintenance Window settings allow a time frame to be specified where failsafe notifications are disabled while maintenance activities take place on that instance. This prevents excessive notifications that may occur if a watched instance is temporarily inaccessible during these activities. Log actions will still be enabled during this window, but any execute or send actions will not fire.
Miscellaneous Settings (SQL Server 2005 and above)
Auto-enable SQL Server Agent Tokens
Important: On SQL Server 2005 and above, SQL Server Agent tokens are disabled as a security measure. They must be enabled to allow SentryOne to watch alerts on these servers. Selecting True allows SentryOne to automatically enable these tokens when an alert is watched on a 2005 and above server. For more information, see SQL Server Books Online.
Auto-Recycle Large SQL Server Agent Logs
This setting determines whether to automatically recycle large agent log files in SQL Server 2005 and above.
Maximum Queue Length
This setting specifies the maximum number of jobs that can be queued at one time on this server. For more information, see the Job Queuing topic. The default setting is 5.
This setting is used to provide more detail than the basic cleaner memory data, but it is higher overhead to collect. Use caution when enabling this setting to ensure it doesn't impact performance. The default value for this setting is False.
Azure SQL Database
Allow SentryOne Monitoring Objects in Target
To provide the best experience, some features of monitoring an Azure SQL database require a few small tables and procedures to be stored in the target database. These objects are created and maintained in a SentryOne schema. If you choose not to allow the monitoring objects to be created, the features dependent upon them (e.g., Top SQL collection) are disabled for the target database. This is set to False by default, but it can be changed globally or overridden at the target level.
This setting refers to how the SentryOne client responds if it discovers the data in the SentryOne database isn't up to date. The default is to show a warning of the condition and asking if the SentryOne client should synchronize the information itself.
This is the amount of time that must pass since the last successful synchronization by the SentryOne monitoring service before the client attempts to synchronize directly with the target.
Important: This situation may suggest that the SentryOne monitoring service isn't retrieving data from this instance. If this is the case, verify that the SentryOne monitoring service is running, and check for any entries in the failsafe log.
Event Object Settings
To display the settings for an object type, select the object in either the Navigator or Calendar pane, and then select the Settings tab. For each category in the drop-down list for the job, Global settings display. This means that it will be automatically inherited by all SQL Agent Jobs unless overridden at the individual instance or job level.
Note: Not all event types have Object settings. For example, maintenance plans or SQL Server Agent logs don't have Object settings.
For SQL Server Agent Jobs, the Settings pane is used to configure a job’s behavior when queuing another job or when it's queued by another job. For more information, see the Job Queuing topic.
In the Runtime Thresholds section, a value for Minimum Runtime Threshold Percent and Maximum Runtime Threshold Percent can be specified. For the Global Minimum Runtime Threshold, 10 percent is usually a good starting value, and for the Maximum Runtime Threshold, we recommend starting with 250 percent. This means that any time a job runs for less than 10 percent or longer than 250 percent of its average runtime, a notification is sent. If too many messages are being received, these settings can be adjusted as needed.
Note: The Maximum Runtime Threshold Percent is set to 250, and the Minimum Runtime Threshold Percent is set to 10 by default.
Important: For the Maximum Runtime Threshold Percent setting, in cases where the average runtime for a job is less than 30 seconds, a maximum allowed runtime value of two minutes is used regardless of the Maximum Runtime Threshold Percent setting value.
If you wish to avoid this, you can do either of the following:
- Use the Maximum Runtime Threshold setting rather than Maximum Runtime Threshold Percent setting.
- Use a Response Ruleset for the SQL Server Agent Job: Runtime Threshold Max condition that delays alerting until the jobs have run for a duration the user defines.
Explicit time-based thresholds can also be specified. Any time an explicit time-based threshold is specified it overrides the percentage-based thresholds for that object. Time-based thresholds are usually less valuable at the global level, particularly the Minimum Runtime Threshold that doesn't have much value globally. Explicit runtime thresholds tend to be more applicable at the actual instance or object level for overriding the global percentage thresholds on a case-by-case basis.
Note: One notification is sent once the Maximum Runtime Threshold has been met, and a separate notification is sent once it has completed.
For example, consider a job that has a great deal of volatility in runtime such as a transaction log backup that can run from anywhere between 30 seconds and 30 minutes, and its average runtime is five minutes. To avoid unnecessary percentage-based threshold notifications for the job, one option sets its Maximum Runtime Threshold to 35 minutes and Minimum Runtime Threshold to 20 seconds. This can be done by selecting either the job's node in the Navigator pane or an instance of the job on the calendar, and then follow the same steps as above to access and change the job's Runtime Threshold settings.
Note: Runtime threshold messages for Reporting Services Reports completing in less than two minutes aren't processed until they are complete.
General Event Source Settings
Auto-watch New Objects
This setting determines whether SentryOne automatically watches any new objects that appear for this event source. It's highly recommended that Auto-watch is set to True for all sources at the global level, so that no new objects are missed by SentryOne. The default setting is True.
Maximum Rows to Synchronize
Use this setting to adjust the amount of historical data to collect from this source at any given time. This setting is most applicable during the initial synchronization process, to prevent tens or hundreds of thousands of rows from being synchronized from an existing server, which can cause contention issues with the SentryOne database. The default setting is 5000.
Missed Run Threshold
This setting determines how much time must pass for an object run to be considered missed. The default value for this setting is five minutes.
Performance Counter Settings
The Performance Counter settings screen is used to set the minimum and maximum values for the counter thresholds of that particular counter. These are used to trigger the Performance Counter: Threshold Min and Max conditions if any conditions are enabled for them. This option is only available when selecting a specific performance counter from the Navigator pane.
Important: There can be only one minimum and maximum value for a given counter, regardless of how many objects are linked to the counter.
Blocking SQL Settings
This setting determines how long blocking must occur before the blocking condition is triggered. The default for this setting is 45 seconds.
The Maximum Duration Threshold value is used when triggering the Top SQL: Runtime Threshold Max condition. The default value is set to one hour at the global level and is set at lower levels to be inherited by the parent. At each level, this value can be overridden or changed.
Top SQL Source Settings
The Minimum Duration setting determines the required duration for a Top SQL event to be collected. The default setting is five seconds. For safety reasons, it cannot be reduced below 100 ms unless one of the CPU reads or writes filters is > 0.
The Minimum CPU, Minimum Reads, and Minimum Writes settings can also be used to filter the Top SQL events collected. The default settings are 0.
Collect Trace Events, Collect Statement Events, and Collect Execution Plans settings specify whether or not these are collected. All are set to True by default.
- If Collect Trace Events is disabled, SentryOne starts a trace or collects any Top SQL events from a monitored target.
- If Collect Statement Events is disabled, statement-level information isn't available in the Plan Explorer statements tree when viewing a query plan.
- If Collect Execution Plans is disabled, Top SQL event collection occurs as normal, however query plan information does automatically collect for those events. Plan information can still be collected on demand from within a Plan Explorer session, however.
Warning: On systems with very high transaction volumes that also make extensive use of scalar functions, enabling collect statement events may cause a negative impact on the performance of the monitored target, regardless of the effective Top SQL Filter settings or the number of events actually collected. For more information, see Performance impact: SQL trace and user defined scalar functions.
- Running Events Polling Interval—Specifies how often the service checks for running events, primarily for the purpose of capturing query plan information. This setting does not impact the actual Top SQL events collected. The default setting is five seconds.
- Collect Query Stats—Enables the collection of query stats. This setting must be set to True in order for the query stats area in the Top SQL tab to work. Note that in order to collect query stats for Azure SQL Database targets the Allow SentryOne Monitoring Objects in Target setting under the Azure SQL Database Connection setting must also be set to True.
- Query Stats Sample Interval—Specifies how often to sample query stats.
- Filter Time Span—Specifies the base length of time over which the collection filters are applied to query stats.
- Filter Factor—Is calculated by dividing the query stats sample interval by the filter time span. The collection filters, such as Minimum Duration, are multiplied by this value when applied to the query stats collection.
Deadlock Source Settings
This setting determines if the deadlock statement collection is enabled. The default value is True.
See the Runtime Thresholds Settings section above for detailed information about these settings.
These settings are used to determine the behavior of a job when it's queuing other jobs or when the job is being queued. For more information, see the Job Queuing topic.
The Minimum Duration value is the amount of time required for a statement to be logged. The default for this setting is one second.
The Collect MDX/DMX/XMLA Events setting determines whether the command collection is enabled. The default setting is True.