Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

We run a system designed to integrate with Microsoft SQL Server, in a clustered setup. Currently we have both database nodes monitored under Nagios, and everything's fine except the database host check:

check_tcp -H $HOSTADDRESS$ -p 1433

Probably, one can't monitor a failover cluster directly like this. How should I monitor the cluster's database availability instead?

share|improve this question
add comment

2 Answers

up vote 2 down vote accepted

When it comes to SQL Server on a cluster, it must be installed as a virtual node, whether it's a default instance or a named instance. So a TCP check where the hostname is the virtual name with the correct port should work. For instance, if I have a two node cluster with physical nodes:

  • Physical1
  • Physical2

Don't monitor either of those for SQL Server. When SQL Server is installed, let's say I chose the virtual node name of Virtual1, then it's Virtual1 you'll want to monitor. And if SQL Server is up, then the cluster is up. If you just want to check to see if the cluster is up, look for the Network Name of the cluster group itself.

share|improve this answer
    
Yes, just check the vip for mssql. You can define the check command: check_tcp -H $ARG1$ -p $ARG2$ -w 1 -c 4 -t 5 and then specify the arguments separated by a ! –  rorr Jun 12 '09 at 5:36
add comment

Why not connect to the same ip/hostname with a mssql-plugin as your application does? To complete monitoring I would add a host for the virtual ip and two host for every cluster node. So if one of your nodes goes down you get a notification but you know that the cluster is still ok, because you didn't get a notification.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.