El objetivo de check_mssql_health es monitorizar las bases de datos internas a un sql server desde nagios, centreon o similar.
La conexión, se hace desde el monitor (nagios) hacia la base de datos, directamente por el puerto de base de datos. Por defecto, en las instalaciones MS SQL SERVER es 1433. En caso de no funcionar, habrá que revisar que no haya un cortafuegos (tanto de windows como físico) que corte el puerto 1433 entre el monitor y el SQL Server.
Instalación del check en CentOS 6
Descargar el paquete
Descomprimir, configurar e instalar:
tar -xvzf check_mssql_health-1.5.19.1.tar.gz
cd check_mssql_health-1.5.19.1
./configure
./make
./make install
El directorio donde deja el script, no coincide con el directorio donde están los plugins en nagios sobre CENTOS. Por lo tanto, es importante moverlo:
mv /usr/local/nagios/libexec/check_mssql_health /usr/lib64/nagios/plugins/
Problema DB:Sybase
Al ejecutar mssql_health faltan paquetes de perl:
> ./check_mssql_health –hostname host –username nagios –password dkfjlskf –mode database-online
CRITICAL – cannot connect to host . install_driver(Sybase) failed: Can’t locate DBD/Sybase.pm in @INC (@INC contains: . /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5) at (eval 17) line 3.
Perhaps the DBD::Sybase perl module hasn’t been fully installed,
or perhaps the capitalisation of ‘Sybase’ isn’t right.
Available drivers: DBM, ExampleP, File, Gofer, Proxy, SQLite, Sponge, mysql.
at ./check_mssql_health line 3045.
Instalamos perl-DBD-Sybase con yum:
yum install perl-DBD-Sybase.x86_64 -y
Comando de nagios /etc/nagios/checkcommands.cfg
define command{
command_name check_mssql_health
command_line $USER1$/check_mssql_health –hostname $HOSTADDRESS$ –username $ARG1$ –password $ARG2$ –mode database-online
;command_example !nagios!password
;$ARG1$ Service
}
Buenas tengo unas dudas con el plugin. Estoy haciendo un proyecto de final de ciclo sobre nagios y no logro conseguir monitorizar servicios de sql server. Mis conocimientos son muy basicos sobre el tema.
La cosa es que intento lanzar el siguiente comando y me sale esto:
root@thinksupport:/usr/local/nagios/libexec# ./check_mssql_health –server 10.0.0.130 –hostname ADMINSQL –username admin –password contraseña1 –mode database-online
CRITICAL – DBI connect(‘;host=ADMINSQL;port=1433′,’admin’,…) failed: OpenClient message: LAYER = (0) ORIGIN = (0) SEVERITY = (78) NUMBER = (44)
Server , database
Message String: Server name not found in configuration files.
OpenClient message: LAYER = (0) ORIGIN = (0) SEVERITY = (78) NUMBER = (45)
Server , database
Message String: Unknown host machine name.
at ./check_mssql_health line 6343.
No se si podrias ayudarme, si necesitas mas información dimelo.