Ad Widget

Collapse

Использование шаблона для MSSQL

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • StraNiX
    Member
    • Aug 2014
    • 50

    #1

    Использование шаблона для MSSQL

    Здравствуйте, решил мониторить базу 1С SQL 2000, нашёл шаблон https://share.zabbix.com/zabbix-database-monitoring от Alain Ganuchaud, настроил как описано в инструкции, но получил ошибку подключения.

    Решил вручную подключиться (в шаблоне подключение с помощью php скрипта):
    php /usr/lib/zabbix/externalscripts/zabsql.php version SERVER1

    Если подключать к порту 1433, то ошибка:
    Code:
    PHP Warning:  mssql_connect(): message: Login failed for user 'myname # specific user per instance'. (severity 14) in /usr/lib/zabbix/externalscripts/zabsql.php on line 119
    PHP Warning:  mssql_connect(): General SQL Server error: Check messages from the SQL Server (severity 14) in /usr/lib/zabbix/externalscripts/zabsql.php on line 119
    PHP Warning:  mssql_connect(): Unable to connect to server: 192.168.xx.xxx:1433 in /usr/lib/zabbix/externalscripts/zabsql.php on line 119
    Если подключаюсь к порту 1434, то
    Code:
    PHP Warning:  mssql_connect(): Unable to connect to server: 192.168.xx.xxx:1434 in /usr/lib/zabbix/externalscripts/zabsql.php on line 119
    zabsql.conf
    Code:
    [global]
    text_size = 64512 # parameters used by freetds
    tds_version = 8.0
    default_user = myname # default user who queries mssql
    default_password = pass
    
    [SERVER1]
    host = '192.168.xx.xxx'
    port = '1434'
    username = 'myname' # specific user per instance; if not configured,
    password = 'pass' # default_user is used
    На всякий случай добавил одинарные кавычки, но не помогло

    119 строка
    Code:
    // function: Connect to the MSSQL instance
    function connect() {
            global $host,$port,$username,$password,$link,$mssql_connect,$tds_version,$TDSVER;
            putenv("TDSVER=$tds_version");
            $link = mssql_connect("$host:$port", $username, $password);
            if (!$link) {
                    $mssql_connect = die('MSSQL connect error');
                    exit;
            }
            else {
                    $mssql_connect = "Connection OK\n";
            }
    }
    ОС zabbix: Centos7
    freetds используется из пакета, когда компилировал и ставил свежую версию, mssql всё равно хотел ставить freetds из репозитория, так как зависимости. Пришлось удалить установку из исходников.
  • StraNiX
    Member
    • Aug 2014
    • 50

    #2
    Одна проблема ушла, в zabsql.conf не должно быть комментариев или они должны быть оформлены по-другому. Так же порт исправил на 1433.
    Теперь при выполнении php /usr/lib/zabbix/externalscripts/zabsql.php version SERVER1, получаю в ответ 8.00.2039, то есть успешно подключился.

    Так же у узла сети имя должно быть в виде, IP или DNS имени сервера

    Низкоуровневое обнаружение заработало (CPU, Disk R/W, IO), а вот счётчики не заработали, так как их нет на сервере...

    Comment

    Working...