You are here

Microsoft SQL Server Monitoring

Download version    6    5

Included in Opsview Monitor 5
Included in Opsview Monitor 6
check_circle
Opsview Supported

Microsoft SQL Server 2008 Opspack

Microsoft SQL Server is a relational database management system. As a database server, it is a software product with the primary function of storing and retrieving data as requested by other software applications which may run either on the same computer or on another computer across a network. Microsoft markets numerous editions of Microsoft SQL Server aimed at varying audiences/workloads (ranging from small single-machine applications to large Internet-facing applications) and our Opspack ensures that you can monitor your Microsoft SQL server to ensure it is operating correctly every step of the way.

What You Can Monitor

Opsview Monitor contains all the important service checks to make sure your Microsoft SQL Server is up and running. Service Checks for Microsoft SQL Server include:

  • Database size, memory, and agents checks
  • Database Log Information
  • SQL Stats including Server cache statistics and wait statistics
  • SQL transactions per second, time to connect and more.

Service Checks

Service Check Description
Active transactions Check number of active transactions on DB
Check memory Check memory without agent using WMI
Database size Check size of DB in KB's
DB Agent Service Checks Microsoft SQL Agent service is started
DB Browser Checks Microsoft SQL Browser service is started
Generic SQL server statistics Check SQL server stats without agent using WMI
List all DBs List SQL cache types without agent using WMI
List all lock types List all lock types without agent using WMI
List SQL cache types List SQL cache types without agent using WMI
Lock statistics Lock statistics without agent using WMI
Log cache hit Log cache hit percentage.
Log flush time How long to flush logs (ms)
Log growths Check log growths
Server buffer manager Check system buffer without agent using WMI
Server Latch/SuperLatch statistics Check SQL latch/superlatch stats without agent using WMI
Server Listener Checks Microsoft SQL Server on TCP port 1433
Server Service Checks Microsoft SQL Server Service is started
Server wait statistics Server wait statistics without agent using WMI
SQL Server cache statistics Check SQL server cache stats without agent using WMI
Stats SQL stats without agent using WMI
Time to connect Checks how long it takes to connect to DB (ms)
Transactions per second Number of transactions per second on this database

Database - Microsoft SQL Opspack

Microsoft SQL Server is a relational database management system. As a database server, it is a software product with the primary function of storing and retrieving data as requested by other software applications which may run either on the same computer or on another computer across a network. Microsoft markets numerous editions of Microsoft SQL Server aimed at varying audiences/workloads (ranging from small single-machine applications to large Internet-facing applications) and our Opspack ensures that you can monitor your Microsoft SQL server to ensure it is operating correctly every step of the way.

What You Can Monitor

Opsview Monitor contains all the important service checks to make sure your Microsoft SQL Server is up and running. Service Checks for Microsoft SQL Server include:

  • Database size, memory, and agents checks
  • Database Log Information
  • SQL Stats including Server cache statistics and wait statistics
  • SQL transactions per second, time to connect and more

Service Checks

Service Check Description
Microsoft SQL - Active transactions Number of active transactions for the Database
Microsoft SQL - Check memory Memory usage
Microsoft SQL - Database size Database size in KB's
Microsoft SQL - DB Agent Service Check Microsoft SQL Agent service is started
Microsoft SQL - DB Browser Check Microsoft SQL Browser service is started
Microsoft SQL - Generic SQL server statistics SQL server stats
Microsoft SQL - List all DBs Database enumeration
Microsoft SQL - List all lock types Lock type enumeration
Microsoft SQL - List SQL cache types Cache type enumeration
Microsoft SQL - Lock statistics Lock statistics
Microsoft SQL - Log cache hit Log cache hit ratio percentage.
Microsoft SQL - Log flush time Length of time to flush logs (ms)
Microsoft SQL - Log growths Log growth
Microsoft SQL - Server buffer manager Server buffer stats
Microsoft SQL - Server Latch/SuperLatch statistics Microsoft SQL latch/superlatch stats
Microsoft SQL - Server Listener Microsoft SQL Server response time on TCP port 1433
Microsoft SQL - Server Service Microsoft SQL Server Service status
Microsoft SQL - Server wait statistics Server wait stats
Microsoft SQL - SQL Server cache statistics Microsoft SQL server cache stats
Microsoft SQL - Stats SQL stats
Microsoft SQL - Time to connect Time to connect to the Database (ms)
Microsoft SQL - Transactions per second Number of transactions per second for the database

Setup and Configuration

The plugins check_mssql_database.py and check_wmi_plus.pl are used with this Opspack. check_wmi_plus.pl is delivered from the WMI Opspack. check_mssql_database.py is also included, but has some dependencies:

Download the above .rpm files, and then use a command such as “yum –nogpgcheck localinstall pymssql-1.0.2-4.el6.i686.rpm”

For SLES: Download and compile using the source .tar.gz file here

Note: There have been issues during initial testing with monitoring from Ubuntu 12.04 LTS, due to differences in Python versions. This Opspack has been tested on MS SQL Server 2008 R2 running on Windows Server 2008 R2.

Network Dependencies

TCP port 1433 needs to be open from the Opsview Monitor server to connect to the monitored host. For more details, see the Microsoft document: http://support.microsoft.com/kb/287932

Configuration

In Opsview Monitor, add your Microsoft SQL Database as a Host and apply the Host Template “Database - Microsoft SQL” to that host.

Creating a monitoring user

  • Create a new “SQL Authentication user” on the server you are monitoring by logging into the “Microsoft SQL Server Management Studio”, and navigating to “localhost > Security > Logins” and right clicking on Logins and selecting “New Login…”.

  • Populate the sections as below:

    • GENERAL: create a new login name (username), and change to “SQL Server Authentication”. Enter a password (must be complex, ex. numbers and upper case characters) and then remove “Enforce password expiration and “user must change password at new login”.

    • SERVER ROLES: Select “public” and “sysadmin”.

    • USER MAPPING: Leave as default.
    • SECURABLES: Click “Search..”, select “All objects of the types..”, and then “Servers” and click OK. Then scroll down the lists to find the permission titled “View server state”, and check “Grant”.
    • STATUS: Ensure “Grant” and “Enabled” are checked respectively.

Variables

Add the MSSQLCREDENTIALS Variable to the host (the value here can be anything). Set arg1 to be the username of the database (e.g., sa) and arg2 to be the password.

We recommend that you do not use the sa user and instead create a specific user for monitoring. For further details, see Microsoft's documentation.

Try to avoid using passwords that contain the exclamation mark (!), as Nagios uses this as a special argument separator.

You will also need to set WINCREDENTIALS. Set arg1 to be the username of the server, eg. Administrator orDOMAIN\User. Set arg2 to be the password.

You will need to set MSSQLDATABASE for each database you want to monitor.

Troubleshooting

If we see an error such as 'CRITICAL:Unable to access SQL Server', then you should check that the credentials you have specified are those for MSSQL (e.g. sa), and not the Windows credentials (e.g. Administrator)

Setup and Configuration

Pymssql is required to run this plugin and can be installed on your system by running:

/opt/opsview/python/bin/pip install pymssql

Network Dependencies

TCP port 1433 needs to be open from the Opsview Monitor server to connect to the monitored host. For more details, see the Microsoft document Configure the Windows Firewall to Allow SQL Server Access

Creating a monitoring user

  • Create a new “SQL Authentication user” on the server you are monitoring by logging into the “Microsoft SQL Server Management Studio”, and navigating to “localhost > Security > Logins” and right clicking on Logins and selecting “New Login…”.

  • Populate the sections as below:

    • GENERAL: create a new login name (username), and change to “SQL Server Authentication”. Enter a password (must be complex, ex. numbers and upper case characters) and then remove “Enforce password expiration and “user must change password at new login”.

    • SERVER ROLES: Select “public” and “sysadmin”.

    • USER MAPPING: Leave as default.
    • SECURABLES: Click “Search..”, select “All objects of the types..”, and then “Servers” and click OK. Then scroll down the lists to find the permission titled “View server state”, and check “Grant”.
    • STATUS: Ensure “Grant” and “Enabled” are checked respectively.

Step 1: Add the Host Template

Add the Database - Microsoft SQL Host Template to your Opsview Monitor host.

Add host template

For more information, refer to Opsview Knowledge Center - Adding Host Templates to Hosts.

Step 2: Add and configure variables required for this host

Variable Description
MSSQLCREDENTIALS Used in authenticating to Microsoft SQL. Override the Username and Password with your credentials. We recommend that you do not use the sa user and instead create a specific user for monitoring.
MSSQLDATABASE One instance of this variable per database you wish to monitor, the value should be set to the database name.
WINCREDENTIALS Used in authenticating to Microsoft Windows. Override the Username and Password with your credentials.

Add variables Add variables Add variables

For more information, refer to Opsview Knowledge Center - Adding Variables to Hosts.

Step 3: Apply changes and the system will now be monitored

View Output

Troubleshooting

If we see an error such as 'CRITICAL:Unable to access SQL Server', then you should check that the credentials you have specified are those for Microsoft SQL (e.g. sa), and not the Windows credentials (e.g. Administrator)

v1.0-opsview-5

ODI-604 Release Opspacks to GitHub

Initial upload of existing Opspacks to GitHub

v2.1-opsview-6

ODI-2070 Rename Microsoft Opspacks

With the aim of maintaining consistency across Opsview Monitor, this Microsoft® monitoring-related Opspack's Service Checks have been renamed.

Original Service Check Prefix New Service Check Prefix
MS SQL - [CHECK] Microsoft SQL - [CHECK]

v2.0-opsview-6

ODI-1154 Release Opspacks for Opsview Monitor 6.0

Initial release of Opspack to work with Opsview Monitor 6.0