Page 1 of 2

check_mssql_health

Posted: Mon Jul 07, 2014 5:14 am
by rajasegar
Nagios XI Ent Ed 2014R1.2

1) Can anyone please advice what is the possible issue and how to get rid of the error messages?
2) Can check_mssql_health be used without adding connection details in /etc/freetdts.conf file

Code: Select all

[nagios@nagiosprodxi1 libexec]$ ./check_mssql_health --server XXX_UAT --port 1433 --username monitor --password abc123 --mode connection-time
OK - 0.08 seconds to connect as monitor | connection_time=0.08;1;5
DBD::Sybase::db DESTROY failed: Server message number=3903 severity=16 state=1 line=2 server=BHQKPK200020 text=The ROLLBACK TRANSACTION request has no corresponding BEGIN TRANSACTION. Server message number=3903 severity=16 state=1 line=2 server=BHQKPK200020 text=The ROLLBACK TRANSACTION request has no corresponding BEGIN TRANSACTION.  during global destruction.
        (in cleanup) DBD::Sybase::db DESTROY failed: Server message number=3903 severity=16 state=1 line=2 server=BHQKPK200020 text=The ROLLBACK TRANSACTION request has no corresponding BEGIN TRANSACTION. Server message number=3903 severity=16 state=1 line=2 server=BHQKPK200020 text=The ROLLBACK TRANSACTION request has no corresponding BEGIN TRANSACTION.  during global destruction.
[nagios@nagiosprodxi1 libexec]$


Re: check_mssql_health

Posted: Mon Jul 07, 2014 11:50 am
by sreinhardt
Which version of the plugin are you using?

Code: Select all

./check_mssql_health -h
./check_mssql_health -V

Re: check_mssql_health

Posted: Mon Jul 07, 2014 7:08 pm
by rajasegar
sreinhardt wrote:Which version of the plugin are you using?

Code: Select all

./check_mssql_health -h
./check_mssql_health -V

Code: Select all

[nagios@nagiosprodxi1 libexec]$ ./check_mssql_health -V
check_mssql_health (1.5.19.3)
This nagios plugin comes with ABSOLUTELY NO WARRANTY. You may redistribute
copies of this plugin under the terms of the GNU General Public License.
[nagios@nagiosprodxi1 libexec]$

Re: check_mssql_health

Posted: Tue Jul 08, 2014 8:24 am
by lmiltchev
Run the following commands and show us the output:

Code: Select all

yum list installed perl-DBD-Sybase
yum list installed freetds
uname -a
cat /etc/*release

Re: check_mssql_health

Posted: Tue Jul 08, 2014 8:36 am
by rajasegar
lmiltchev wrote:Run the following commands and show us the output:

Code: Select all

yum list installed perl-DBD-Sybase
yum list installed freetds
uname -a
cat /etc/*release

Code: Select all

[nagios@nagiosprodxi1 libexec]$ sudo yum list installed perl-DBD-Sybase
Loaded plugins: product-id, refresh-packagekit, rhnplugin, security, subscription-manager
This system is receiving updates from Red Hat Subscription Management.
This system is receiving updates from RHN Classic or RHN Satellite.
rhel-6-server-cf-tools-1-rpms                                                                    | 2.8 kB     00:00
rhel-6-server-rpms                                                                               | 3.7 kB     00:00
Error: No matching Packages to list
[nagios@nagiosprodxi1 libexec]$ sudo yum list installed freetds
Loaded plugins: product-id, refresh-packagekit, rhnplugin, security, subscription-manager
This system is receiving updates from Red Hat Subscription Management.
This system is receiving updates from RHN Classic or RHN Satellite.
rhel-6-server-cf-tools-1-rpms                                                                    | 2.8 kB     00:00
rhel-6-server-rpms                                                                               | 3.7 kB     00:00
Installed Packages
freetds.x86_64                                             0.91-2.el6                                              @epel
[nagios@nagiosprodxi1 libexec]$ uname -a
Linux nagiosprodxi1 2.6.32-431.11.2.el6.x86_64 #1 SMP Mon Mar 3 13:32:45 EST 2014 x86_64 x86_64 x86_64 GNU/Linux
[nagios@nagiosprodxi1 libexec]$ cat /etc/*release
LSB_VERSION=base-4.0-amd64:base-4.0-noarch:core-4.0-amd64:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0-noarch:printing-4.0-amd64:printing-4.0-noarch
Red Hat Enterprise Linux Server release 6.5 (Santiago)
Red Hat Enterprise Linux Server release 6.5 (Santiago)
[nagios@nagiosprodxi1 libexec]$


Re: check_mssql_health

Posted: Tue Jul 08, 2014 10:52 am
by lmiltchev
I believe this plugin requires the installation of the Perl-module DBD::Sybase (perl-DBD-Sybase). You don't have it currently installed.

Re: check_mssql_health

Posted: Tue Jul 08, 2014 11:03 am
by rajasegar
lmiltchev wrote:I believe this plugin requires the installation of the Perl-module DBD::Sybase (perl-DBD-Sybase). You don't have it currently installed.

Code: Select all


Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package perl-DBD-Sybase.x86_64 0:1.10-1.el6.rf will be installed
--> Finished Dependency Resolution

Dependencies Resolved

========================================================================================================================
 Package                         Arch                   Version                          Repository                Size
========================================================================================================================
Installing:
 perl-DBD-Sybase                 x86_64                 1.10-1.el6.rf                    rpmforge                 192 k

Transaction Summary
========================================================================================================================
Install       1 Package(s)

Total download size: 192 k
Installed size: 518 k
Is this ok [y/N]: y
Downloading Packages:
perl-DBD-Sybase-1.10-1.el6.rf.x86_64.rpm                                                         | 192 kB     00:00
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing : perl-DBD-Sybase-1.10-1.el6.rf.x86_64                                                                 1/1
rhel-6-server-rpms/productid                                                                     | 1.7 kB     00:00
  Verifying  : perl-DBD-Sybase-1.10-1.el6.rf.x86_64                                                                 1/1

Installed:
  perl-DBD-Sybase.x86_64 0:1.10-1.el6.rf

Complete!
Same problem

Code: Select all

[nagios@nagiosprodxi1 libexec]$ ./check_mssql_health --server CRDE_SG_UAT -port 1433 --username monitor --password abc123 --mode connection-time
OK - 0.16 seconds to connect as monitor | connection_time=0.16;1;5
DBD::Sybase::db DESTROY failed: Server message number=3903 severity=16 state=1 line=2 server=BHQKPK200020 text=The ROLLBACK TRANSACTION request has no corresponding BEGIN TRANSACTION. Server message number=3903 severity=16 state=1 line=2 server=BHQKPK200020 text=The ROLLBACK TRANSACTION request has no corresponding BEGIN TRANSACTION.  during global destruction.
        (in cleanup) DBD::Sybase::db DESTROY failed: Server message number=3903 severity=16 state=1 line=2 server=BHQKPK200020 text=The ROLLBACK TRANSACTION request has no corresponding BEGIN TRANSACTION. Server message number=3903 severity=16 state=1 line=2 server=BHQKPK200020 text=The ROLLBACK TRANSACTION request has no corresponding BEGIN TRANSACTION.  during global destruction.


Re: check_mssql_health

Posted: Tue Jul 08, 2014 4:31 pm
by abrist
Is there a reason you have opted for this plugin instead of the plugins included in XI?

Code: Select all

heck_mssql              
check_mssql_database.py  
check_mssql_server.py

Re: check_mssql_health

Posted: Tue Jul 08, 2014 10:35 pm
by rajasegar
abrist wrote:Is there a reason you have opted for this plugin instead of the plugins included in XI?

Code: Select all

heck_mssql              
check_mssql_database.py  
check_mssql_server.py
I did try out the included plug-ins but it does not have the features I require.

Anyway back to the issue at hand, what else can we try?

Re: check_mssql_health

Posted: Wed Jul 09, 2014 7:25 am
by belvdr
The error:

Code: Select all

The ROLLBACK TRANSACTION request has no corresponding BEGIN TRANSACTION
means that the plugin is issuing the ROLLBACK TRANSACTION command in Transact-SQL but that requires it issuing a BEGIN TRANSACTION first. A transaction is nothing more than a set of statements you wish to occur as a group.

The following flow may help:

Code: Select all

BEGIN TRANSACTION
  <update some rows>
  <if failure>
      ROLLBACK TRANSACTION
  <else>
      COMMIT
END TRANSACTION
So, I'm guessing the plugin is not coded correctly.