I'm whipping up a demo of Zabbix in our environment and have some trouble monitoring a SQL server.
The error: 'MSSQL: Service is unavailable' > 'The TCP port of the MS SQL Server service is currently unavailable.'
Things we need to monitor:
- SVRDBS118 (database server itself) => Works fine with the Zabbix agent
- SVRDBS118\TST01 (database instance)
- SVRDBS118\TST02 (database instance)
I have applied the 'MSSQL by ODBC' template to the server and set the following macro's:
{$MSSQL.DSN} svrdbs118
{$MSSQL.INSTANCE} MSSQL$TST01
{$MSSQL.PORT} 57003
In the template itself I have changed
- {$MSSQL.PASSWORD}
- {$MSSQL.USER}
On the Zabbix server I installed the ODBC driver and configured the .ini-files as follows:
/ect/odbcinst.ini
[ODBC Driver 18 for SQL Server]
Description=Microsoft ODBC Driver 18 for SQL Server
Driver=/opt/microsoft/msodbcsql18/lib64/libmsodbcsql-18.0.so.1.1
UsageCount=1
/etc/odbc.ini
[svrdbs118]
Driver = ODBC Driver 18 for SQL Server
Server = SVRDBS118\TST01
The SQL server does not listen on TCP/1433 but on dedicated ports per instance and named pipes for the instances are enabled.
NMAP confirms the port 1433 is closed but the dedicated ports are open & sqlcmd confirms the credentials work.
The nature of the error has me thinking Zabbix keeps trying to connect on TCP/1433...
Any help getting me past this error and suggestions on how to monitor multiple instances are greatly appreciated.