monitoring microsoft sql server 2008 with opsview

22

Upload: opsview

Post on 27-May-2015

1.227 views

Category:

Technology


10 download

DESCRIPTION

This presentation takes a deep-dive into monitoring Microsoft SQL Server 2008 with Opsview 4.0

TRANSCRIPT

Page 1: Monitoring Microsoft SQL Server 2008 with Opsview
Page 2: Monitoring Microsoft SQL Server 2008 with Opsview

Wednesday 12 April 2023 © Opsview Ltd. Commercial in Confidence 2

Monitoring Microsoft SQL Server 2008 with Opsview

Page 3: Monitoring Microsoft SQL Server 2008 with Opsview

Wednesday 12 April 2023 © Opsview Ltd. Commercial in Confidence3

Introduction• This blog post takes a deep-dive into monitoring

Microsoft SQL Server 2008 with Opsview V4. In order to monitor MS SQL 2008 (known hereon as SQL2K8), we will have to leverage Opsview’s ability to support Nagios plugins which can be found on the Exchange.Nagios.org website.

• If you don’t already have Opsview installed, visit our website and download Opsview Core (free), Opsview Pro (30 day trial) or request a trial to Opsview Enterprise.

Page 4: Monitoring Microsoft SQL Server 2008 with Opsview

Wednesday 12 April 2023 © Opsview Ltd. Commercial in Confidence4

Initial Setup• First we will need to monitor a few services. To do this

we can use the Opsview guide “Monitoring Windows Services”.

• The main 3 SQL services we may wish to monitor are:• MSSQLSERVER – “SQL Service server”• SQLSERVERAGENT – “SQL Server agent”• SQLBrowser – “SQL Server Browser”

Page 5: Monitoring Microsoft SQL Server 2008 with Opsview

Wednesday 12 April 2023 © Opsview Ltd. Commercial in Confidence5

Configuration• Firstly login to Opsview and navigate to “SETTINGS >

SERVICE CHECKS” and scroll down to “Database - MS SQL Server” where we can find a few pre-configured checks.

• We will need to modify these checks to include the correct service names (as above). For example, the service check for “MS SQL Server Service” should have arguments of:

“ -H $HOSTADDRESS$ -c nsc_checkservicestate -a 'ShowAll MSSQLSERVER=started' ”

Page 6: Monitoring Microsoft SQL Server 2008 with Opsview

Wednesday 12 April 2023 © Opsview Ltd. Commercial in Confidence6

Configuration• Once these services have been created, we

should have the following:Name Arguments

MS SQL Agent Service check_nrpe -H $HOSTADDRESS$ -c nsc_checkservicestate -a 'ShowAll SQLSERVERAGENT=started'

MS SQL Browser check_nrpe -H $HOSTADDRESS$ -c nsc_checkservicestate -a 'ShowAll SQLBrowser=started'

MS SQL Server Listener check_tcp -H $HOSTADDRESS$ -p 1433 -w 2 -c 5

MS SQL Server Service check_nrpe -H $HOSTADDRESS$ -c nsc_checkservicestate -a 'ShowAll MSSQLSERVER=started'

Page 7: Monitoring Microsoft SQL Server 2008 with Opsview

Wednesday 12 April 2023 © Opsview Ltd. Commercial in Confidence7

Configuration• Now we have the basic checks, lets add more “in-depth”

monitoring.• In order to do this, we are going to need a plugin from

the Nagios Exchange called “Check MSSQL Database Stats”, from the link here.

• Download the .py script, and copy it to the folder /usr/local/nagios/libexec.

• Once there, do:

“chown nagios:nagios check_mssql_database.py”,

• then

Page 8: Monitoring Microsoft SQL Server 2008 with Opsview

Wednesday 12 April 2023 © Opsview Ltd. Commercial in Confidence8

Configuration“chmod 755 check_mssql_database.py”.

• This will now show up in our service checks as a plugin.• In order to run the plugin on the platform, we will need

to install a small plugin called “pymssql”. To do this, follow the instructions below:

UBUNTU/DEBIAN: sudo apt-get install python-pymssql RHEL:  yum install pymssql  (Some repos have it python-pymssql)

Once this plugin is installed, we can run a check on our MS SQL server to make sure we can access it. To do this, run a command similar to the one below, but with your information added:

Page 9: Monitoring Microsoft SQL Server 2008 with Opsview

Wednesday 12 April 2023 © Opsview Ltd. Commercial in Confidence9

Configuration./check_mssql_database.py -H ipaddress -U username -P password -T _Total -p 1433

• This command works as follows:• “-H” is the ip address or hostname of the server on which

the MS SQL Server 2008 install resides. Important: the username and password (-U and –P respectively) are the”SQL SERVER AUTHENTICATION” login details, and not the “Windows authentication” login details.

Page 10: Monitoring Microsoft SQL Server 2008 with Opsview

Wednesday 12 April 2023 © Opsview Ltd. Commercial in Confidence10

Configuration• Generally, the admin username will be “sa” for example.

–T specifies the table name; with the operator “_Total” telling the query to look at all tables, and finally, -p specifies the port number – generally 1433.

Page 11: Monitoring Microsoft SQL Server 2008 with Opsview

Wednesday 12 April 2023 © Opsview Ltd. Commercial in Confidence11

Configuration• If the command works, you should see the following

output:

OK:Time to connect is 0.004s|Time_to_connect=0.004s;;;;

• If not, you may need to review the login details, if you see something similar to the following:

CRITICAL:Unable to access SQL Server.

• As mentioned, the above output was obtained by using the AD credentials and not the SQL server credentials to try and access the box.

Page 12: Monitoring Microsoft SQL Server 2008 with Opsview

Wednesday 12 April 2023 © Opsview Ltd. Commercial in Confidence12

Configuration• Once we have the “OK..” message, we can begin to query

the SQL server from within Opsview. So now we can login to Opsview again (if closed), and begin to create our service checks.

• To do this, go to “SETTINGS > SERVICE CHECKS” and click the plus sign in the top left corner.

• In this example, we are going to monitor the size of the database. To do this, use the plugin we just installed, and add the arguments, similar to those ran earlier, but with the “-H $HOSTADDRESS$” variable, and the %DATABASE% attribute, for scalability. We'll explain these later on in the guide.

Page 13: Monitoring Microsoft SQL Server 2008 with Opsview

Wednesday 12 April 2023 © Opsview Ltd. Commercial in Confidence13

Configuration

• With the full arguments field reading:

-H $HOSTADDRESS$ -U sa -P password11! -T %DATABASE% -p 1433 --datasize -w 70000 -c 99000

Page 14: Monitoring Microsoft SQL Server 2008 with Opsview

Wednesday 12 April 2023 © Opsview Ltd. Commercial in Confidence14

Configuration• The key differentiator from hereon are the options after

“-p 1433..”. We are specifying here we want to monitor “--datasize” (so size of DB), and that we want to be warned if we go above 70000KB, (yellow alert in Opsview) and critical alert on 99000KB or more (Red in Opsview). For the full list of operators, see the bottom of this guide.

• Now we have created our service check (we can do the above for all the operators, where applicable), we now need to add them to our MS SQL host. But before we can do that, we need to add the attribute “%DATABASE%” first.

• To do this, go to “SETTINGS > Attributes” and click the plus sign

Page 15: Monitoring Microsoft SQL Server 2008 with Opsview

Wednesday 12 April 2023 © Opsview Ltd. Commercial in Confidence15

Configuration• In the “Name” box, enter “DATABASE”, and click “submit

changes”, it is that simple!

• Next, we must create this host via “SETTINGS > HOST” and click the “plus” sign at the top left.

• Populate all the fields appropriately, using the IP address of the server on which the SQL DB is running on.

Page 16: Monitoring Microsoft SQL Server 2008 with Opsview

Wednesday 12 April 2023 © Opsview Ltd. Commercial in Confidence16

Configuration• Once done, click onto the “MONITORS” tab. Here is

where we will assign our new service checks to our host, as below:

Page 17: Monitoring Microsoft SQL Server 2008 with Opsview

Wednesday 12 April 2023 © Opsview Ltd. Commercial in Confidence17

Configuration• Once we have added our monitors, click “ATTRIBUTES”,

and select in the dropdown box our new attribute, “DATABASE”.

• In the value field, enter the name of your database - or if you want to monitor all, we can use the “_Total” operator.

• Finally, click submit, and now have our SQL Server 2008 host created, with the attribute specified, and all our new service checks enabled.

Page 18: Monitoring Microsoft SQL Server 2008 with Opsview

Wednesday 12 April 2023 © Opsview Ltd. Commercial in Confidence18

Configuration• Now this is done, we just need to reload opsview due to

the configuration changes using “SETTINGS -> APPLY CHANGES”

• And Opsview will reload, your new host will be available and will be monitoring your new service checks, as on the following slide (with a lot more service checks):

Page 19: Monitoring Microsoft SQL Server 2008 with Opsview

Wednesday 12 April 2023 © Opsview Ltd. Commercial in Confidence19

Configuration

Page 20: Monitoring Microsoft SQL Server 2008 with Opsview

Wednesday 12 April 2023 © Opsview Ltd. Commercial in Confidence20

Reference:• On the following slide are the options which can be

applied to the command, as per the output of the command ./check_mssql_database.py -h I have also added a “arguments” section.

Page 21: Monitoring Microsoft SQL Server 2008 with Opsview

Wednesday 12 April 2023 © Opsview Ltd. Commercial in Confidence21

ReferenceOption Arguments Notes--activetrans -H $HOSTADDRESS$ -U sa -P password11\!

-T %DATABASE% -p 1433 --activetrans -w 5 -c 10

Monitors # of active transactions, warns on over 5, and critical on over 10 transactions.

--datasize -H $HOSTADDRESS$ -U sa -P password11\! -T %DATABASE% -p 1433 --datasize -w 70000 -c 99000

Monitors size of database, warns on over 70000kb, critical on 99000Kb

--logcachehit -H $HOSTADDRESS$ -U sa -P password11\! -T %DATABASE% -p 1433 --logcachehit -w 75: -c 50:

Monitors log cache hit in %. Less than 50% gives us critical, less than 75% gives warning.

--logwait H $HOSTADDRESS$ -U sa -P password11\! -T %DATABASE% -p 1433 --logwait -w 30 -c 50

In .ms, how long it takes to retrieve logs.

--loggrowths -H $HOSTADDRESS$ -U sa -P password11\! -T %DATABASE% -p 1433 --loggrowths -w 5 -c 10

Check Log Growths

--time2connect -H $HOSTADDRESS$ -U sa -P password11\! -T %DATABASE% -p 1433 --time2connect -w 0010 -c 0050

Time in .ms to connect to DB.

--transpsec -H $HOSTADDRESS$ -U sa -P password11\! -T %DATABASE% -p 1433 --transpsec -w 20 -c 30

Page 22: Monitoring Microsoft SQL Server 2008 with Opsview

Wednesday 12 April 2023 © Opsview Ltd. Commercial in Confidence22

About OpsviewOpsview delivers a single unified view of the health of all your distributed physical, virtual and hybrid cloud systems.

We give DevOps staff all the tools they need to get their jobs done faster, easier and for less.

• Opsview Enterprise offers large enterprises (+100 devices) and MSPs a certified, professionally supported system with enhanced functionality such as dynamic dashboards and reports

• SMEs looking for feature-rich dashboards to monitor the performance of their on-premise, virtualized or cloud apps choose Opsview Pro

• Opsview Core is our free, open source monitoring tool - you can test and customize it how you want

www.opsview.com