This section covers the following key areas:
The HADR dashboard provides monitoring information regarding the disaster recovering solutions provided by SQL Server: Log Shipping, Cluster, Mirroring, and AlwaysOn. While the data in the Log Shipping dashboard is available for all versions of SQL Server:
Log shipping is used for setting up backup databases to take the place of a current “live” database if that database goes down. To that end, database logs that are dumped on the live database are copied to the backup server and restored on the backup database. Monitoring log shipping requires connecting to a monitor server (which may be the live server, one of its backups, or an outside monitor that does not take place in the log shipping process). The monitoring server is used for analyzing log shipping performance.
Foglight for SQL Server monitors log shipping for the following types of errors:
The Log Shipping dashboard allows investigating the cause for a log shipping alarm by carrying out the tasks detailed in the following topics:
The Log Shipping table contains performance details for the primary and backup servers used in Log Shipping, as presented in the table below. To create a custom filter for this table, use the options accessible by clicking Advanced.
The Log Shipping table contains performance details.
Column | Description |
---|---|
Server | The server name (Primary server for the parent instance, and Secondary server for all subsequent child instances). |
DBName | Depending on the instance role: - For the primary instance, the backup database on the source server - For the secondary instance, the destination database on the secondary server. |
Last Activity | Depending on the instance role: - For the primary instance, the last time the database was backed up - For the secondary instance, the last time a file was copied or restored |
Activity Type | What activity was performed at the Last Activity time (Backup or Copy). |
Threshold | The maximum allowed time (in minutes) before a Log Shipping alert occurs. The amount of time depends on the instance role: - For the primary instance, this is the maximum allowed time since the last transaction log backup was made on the source server. - For the secondary instance — the maximum allowed time between the last backup on the source server and the last restore on the secondary server. |
Outage | During an outage, no alerts occur when thresholds are exceeded (for both the parent and child instances). If this field is blank, no outage takes place. |
Threshold Alert | The Error Log dashboard displays this alert if the threshold is exceeded. |
Alert Enabled | If this option is selected, only enabled alerts are displayed. |
The Log Shipping Details section displays the following indicators about the currently selected activity:
Column | Description |
---|---|
Last Backup File | The name of the most recent backup file. |
Last File Copied | The name of the most recent backup file that was copied to the secondary server. |
Last File Restored | The name of the backup file that was most recently restored to the secondary server. |
Backup Time | The time when the most recent backup was carried out. |
Copy Time | The date the backup file was most recently copied from the primary to the secondary server. |
Restore Time | The date the backup file was most recently restored to the secondary server. |
Under the Current Time section: | |
Source Server | The current timestamp at the primary server. |
Target Server | The current timestamp at the secondary server. |
Monitor Server | The current timestamp at the monitor server. |
The Cluster Services dashboard displays information about the state of the current Microsoft Cluster Server.
If the currently connected SQL Server instance is not part of a Microsoft Cluster Server, this page displays the message SQL Server is not running on a Cluster server.
This dashboard is used for investigating the causes for the Cluster Server Down alarm, which is raised when Foglight for SQL Server detects that at least one cluster node (server) is not currently running as part of the cluster. The Cluster Services dashboard provides only tabular information, using the Cluster Services table.
The Cluster Services table displays information about the state of the currently monitored Microsoft Cluster Server. This table allows viewing the status of each cluster resource and group, as well as the status of any cluster resources owned by each server (node) in the cluster. Foglight for SQL Server highlights any unusual conditions such as resources offline, or cluster nodes down. To create a custom filter for this table, use the options accessible by clicking Advanced.
The Cluster Services table displays indicators of the Cluster Server performance:
Column | Description |
---|---|
Name | The hierarchical tree of cluster resources, the root of which is the name of the cluster.nLower levels in the tree represent cluster groups, resource groups and servers, and resource details. |
Status | The status of the current resource (where applicable). |
Server | The individual server in the cluster where the specified resource is located. |
Comment | A brief description of the specified cluster resource (if available). |
If one or more databases within the monitored instance take part in a mirroring operation, either as a principal database whose exact copy is mirrored on a different instance, or as a mirror database, the Mirroring dashboard allows viewing the status of the mirroring operation.
If no database within the monitored instance takes part in a mirroring operation, the Mirroring dashboard is left blank and displays the note This instance has no database configured for database mirroring.
If the monitored instance supports the AlwaysOn feature (supported only for SQL Server version 2012 Enterprise edition), AlwaysOn cannot function at the same time with Mirroring operation: enabling Mirroring requires disabling AlwaysOn and conversely. Therefore, if the monitored instance contains databases that have AlwaysOn enabled, the Mirroring dashboard displays the note: This instance has no database configured for database mirroring.
The Mirroring dashboard includes the following sections:
In addition, this dashboard allows further investigation of the selected database, by drilling down to other locations.
The Mirroring table displays the columns listed below. The table below provides data about the columns that appear by default in the table.
Mirroring table, default columns:
Column | Description |
---|---|
DBID | A number (ID) uniquely identifying a database within a SQL Server. |
Database | The database name. Note: The database name appears as a link which, when clicked, displays the Databases dashboard in Overview mode, with the selected database highlighted in the Databases table and its details displayed in the panes below. |
Mirroring Role | The role the database takes in the mirroring process; either principal or mirror. Note: The mirroring role is displayed as a link which, when clicked, displays the mirroring performance history of the selected database. |
Principal | The name of the instance whose role in the process is principal. |
Mirror | The name of the instance whose role in the mirroring process is mirror |
Mirroring Status | Indicates the severity determined based on the database state: Normal, Warning, or Critical. Each of these severity level values can correspond to several mirroring states. Normal — can correspond to one of the following mirroring states: - SYNCHRONIZED (with a Witness) - SYNCHRONIZED (without a Witness) Note: To view whether the mirroring operation is configured to use a Witness, click the Customizer button at the end of the table and turn on the display of the Witness Name and Witness State columns. - SYNCHRONIZING Warning — can correspond to one of the following mirroring states: - DISCONNECTED - PENDING_FAILOVER Critical — can correspond to one of the following mirroring states: - SUSPENDED - UNSYNCHRONIZED |
Mirroring State | A state indicating the mirroring session condition. This field can have one of the following values: - DISCONNECTED - SYNCHRONIZED (with a Witness configured) - SYNCHRONIZING - PENDING_FAILOVER - SUSPENDED - UNSYNCHRONIZED - SYNCHRONIZED (without a Witness configured) |
Safety Level | The safety level at which the mirroring session is configured to work. This column indicates the level of synchronization between the two servers that take part in the mirroring process. This field can have one of the following values: - UNKNOWN — unknown state - OFF — high availability (asynchronous). When an instance is configured with this safety level, the main consideration is that it remains available, regardless of the availability of its mirroring partner. - FULL — high safety (synchronous). The instance is configured to fail over when its mirroring partner becomes unavailable. Failover can be carried out automatically (if a Witness is configured) or manually |
Redo Queue | The redo queue size. This size can be either left Unlimited or defined in megabytes (MB). |
Alarms | The number of warning, critical, and fatal alarms for the SQL Server database instance. When holding the cursor over one of the alarm counts, the dwell displays the most recent alarms raised against this database, sorted by severity. Clicking this field displays the Alarms list, which is listed by severity order. |
Additional metrics in the Mirroring table
The metrics listed below, which are also part of the Database Mirroring collection, do not appear by default in the Mirroring table. To display the metrics listed below:
Additional metrics list
The Role and Data Flow of Database section displays the mirroring operation of the database selected in the Mirroring table and its mirroring partner. The monitored instance is always displayed on the left, and the data is shown as flowing in this instance’s direction, that is: Log Received if the database is Mirror, and Log Sent if the database is Principal.
To investigate the data flow by displaying the selected database’s mirroring partner, use one of the following methods:
If the partner is currently monitored, its mirroring page will now be displayed. Otherwise, an error message is displayed, notifying that the partner server is currently not monitored.
Clicking the Mirroring Role column of the Mirroring table displays the database’s Mirroring Performance History page, which allows carrying out the tasks described in the following sections:
Tracking the mirroring role over time
The Mirroring Role pane displays the role the database played in the mirroring operation during the selected time range: Principal, Mirror, or Not Mirroring. The mirroring role is displayed as a gauge, with each of the mirroring roles indicated by another color. Positioning the cursor over the gauge displays the percentage, within the specified time range, the database spent in each role.
Tracking data transfer between the principal and the mirror databases
The middle section of the Mirroring Performance History page includes the following panes:
Tracking the mirroring roundtrip during the selected time range The Mirroring Roundtrip section displays a chart that indicates the latency of the mirroring session during the selected time range.
When viewing the mirroring performance of a database that takes part in the mirroring operation, either as a principal or as a mirror database, it is possible to investigate the selected database’s mirroring partner, using one of the following methods:
In so doing, the mirroring operation can be investigated from the point of view of the other database, thereby determining the source of the performance issue.
The AlwaysOn dashboard requires a SQL Server version that includes the AlwaysOn Availability Group capability (SQL Server 2012 and higher).
AlwaysOn cannot function at the same time with Mirroring operation: enabling Mirroring requires disabling AlwaysOn and conversely. Therefore, if the monitored instance contains databases that support AlwaysOn but have Mirroring enabled, the AlwaysOn dashboard displays the note This instance has no database configured for AlwaysOn.
The AlwaysOn dashboard includes the following sections:
The OS cluster information section displays the following details:
The High Availability group table displays information about the availability and health of all availability groups configured in the instance and the databases they serve.
It is possible that one or more of the availability replicas participating in a group are not currently monitored. In such cases, an indication appears near the replica in the availability group map. Click this indication to launch the instance monitoring wizard.
The High Availability group table includes the following columns:
The data displayed in the tabs (Availability group map, Group Info, Availability Replica, and Databases) is for the selected Availability Group in the High Availability Groups table.
The AlwaysOn configuration supports one primary replica and up to four secondary replicas for each availability group. The Availability Group Map section allows viewing the dependencies between the various replicas that form the availability group selected in the table. In addition to indicating the name of the OS cluster where the availability replicas reside, the map displays the connections between the primary replica and the secondary replicas, showing on the left the replica that resides on the currently monitored instance.
On each replica there is an indication of the highest severity level encountered on the replica. A replica that is not currently monitored is indicated by the edit icon. Click this icon to launch the wizard used for configuring an instance for monitoring.
Clicking the monitored replica displays a pop-up with the following tabs:
Clicking any other replica displays a pop-up with the following tabs:
To view the dependencies between all replicas in all availability groups, click View map for all availability groups. To return from this map to the AlwaysOn dashboard, click Back.
The Group Info tab includes the following fields:
This tab lists all replicas associated with the group. This tab includes the following fields:
This tab displays all databases associated with the group. This tab includes the following fields:
The Logs dashboard provides access to SQL Server Error Log and SQL Server Agent Error Log. To configure which error logs generated by the SQL Server database are to be displayed in the Logs dashboard, use the Error Log Scanning view in the Databases Administration dashboard.
The SQL Server Error Logs dashboard displays errors that are defined in the match list and can be viewed by a paging resolution of 1 hour. This dashboard contains the following items:
Error log table parameters:
Column | Description |
---|---|
Date/Time | The date and time when the specified error was logged. |
Process Info | Information about the process to which the entry in the error log refers. |
Message | A brief description of the error. |
The SQL Server Error Logs table displays the contents of the error log selected in the list above the table. This table is a snapshot of the selected error log, and is therefore not updated automatically. To define and edit the alert rules for which Foglight for SQL Server scans the SQL Server Error Log, go to the Error Log Scanning view in the Databases Administration dashboard. To access this view, click the In-context actions button at the upper right side of the screen and then select Agent settings.
The SQL Agent Error Logs dashboard displays errors that are defined in the match list and can be viewed by a paging resolution of 1 hour. It contains the following items:
Error log table parameters:
Column | Description |
---|---|
Date/Time | The date and time when the specified error was logged. |
Message | A brief description of the error. This description can also provide the reason for the error, thereby helping to resolve the issue; for example, Unable to start mail session (reason: no mail profile defined). |
The Configuration dashboard displays the various SQL Server configuration options.
The SQL Server Configuration dashboard allows carrying out the following tasks:
Viewing the Server Property Values
The Server Property Values dashboard contains information about the server properties of the monitored SQL Server instance.
The Server Property Values parameters:
Parameter | Description |
---|---|
SQL Server Version | Version number of the currently monitored SQL Server instance. |
Windows Version | The full version number of the Windows operating system installed on the computer that runs the SQL Server instance (including build and service pack). |
Processor Type | The processor type (usually a vendor code). |
Processor Count | The number of processors on the computer on which Windows is installed. |
Physical Memory | The amount of actual RAM in the monitored host. |
Collation | Default collation for databases on the SQL Server instance. Unless another collation is specified when creating a new database, this collation will apply to all of the instance’s databases. |
The SQL Server Configuration table displays the configuration parameters for the currently monitored SQL Server, as listed in the table below. These parameters often affect the system’s performance. Therefore, reviewing the values displayed in this table and modifying them, if needed, may successfully resolve performance issues. To create a custom filter for this table, use the options accessible by clicking the button at the table’s upper right side.
The SQL Server Configuration table parameters:
Parameter | Description |
---|---|
Configuration Name | The name of the specified configuration option. |
Run Value | The value currently used by the configuration option. |
Configuration Value | The value to which the configuration option is set. Depending on the Modifiable setting, changing the Config value can be implemented either immediately or only after restarting SQL Server. |
Previous Value | The configuration option’s value before the last change took place. |
Last Change Time | The time the most recent change took place. |
Min | The minimum permitted value for the configuration option. |
Max | The maximum permitted value for the configuration option. |
Modifiable | Indicates when changes to the option take effect. The following options are possible: - Immediate: changes to these options take effect immediately. - Restart: changes to these options take effect after SQL Server is stopped and restarted. - Never: these options cannot be modified. |
Description | Description of the specified configuration option. |