check_mssql.php bekommt keinen Zugriff auf den SQL-Server
Für alle die sich das Plugin von der Webseite www.monitoringexchange.org geladen haben und sich gewundert haben warum es nicht funktioniert.
Folgende Anleitung hilft:
1. im Plugin folgende Zeile ändern.
if (!$connection =@ mssql_connect(„$db_host,$db_port“ , $db_user, $db_pass)) {
gegen
if (!$connection = mssql_connect(„$db_host:$db_port“ , $db_user, $db_pass)) {
2. Freetds –> wird benötigt. Detail im Plugin
mit folgendem Parameter kompilieren.
./configure –prefix=/usr/local/freetds –with-tdsver=8.0(SQL 2000undHöher –enable-msdblib
3. PHP nachfolgend noch einmal kompilieren oder PHP nach FREETDS mit folgendem Parameter installieren.
./configure –enable-so –with-mssql=/usr/local/freetds
4. in commands.cfg folgenden Eintrag machen
define command {
command_name check_mssql
command_line /usr/bin/php $USER1$/check_mssql -H $HOSTADDRESS$ -p $ARG1$ -U $ARG2$ -P $ARG3$
}
5. Diese Commandline wird dann in der cfg. des Servers wie folgt eingefügt.
define service {
use generic-service
host_name SQL2003
service_description SQL
check_command check_mssql!{PORT}!{USERNAME}!{PASSWORD}
normal_check_interval 0.05 ; Check the service every 5 minutes under normal conditions
retry_check_interval 0.05 ; Re-check the service every minute until a hard state can be determined
}