Monitorizar SQL Server con Zabbix

En esta entrada voy a explicaros como podéis monitorizar con Zabbix un servidor de base de datos Microsoft SQL Server.

Requisitos

  • Servidor Zabbix versión 5.x
  • Servidor base de datos SQL Server 2008 R2 o superior.
  • Privilegios de administrador tanto a nivel de Zabbix (consola SSH del servidor y web de Zabbix) como de SQL Server para poder llevar a cabo la configuración.

Creación usuario SQL Server

Para realizar la monitorización de nuestro SQL Server lo recomendable es crear un usuario para tal fin por lo que el primer paso será crear un usuario de SQL Server al que llamaremos zabbix.

A continuación asignamos al usuario los permisos necesarios para llevar a cabo la monitorización. Abrimos una nueva ventana de sentencias SQL y ejecutaremos lo siguiente:

USE master;
GRANT VIEW SERVER STATE, VIEW ANY DEFINITION TO zabbix;
GO

Instalación Microsoft ODBC Driver para SQL Server en el servidor de Zabbix

El siguiente paso es instalar el driver ODBC de SQL Server en nuestro servidor Zabbix para poder establecer la comunicación entre nuestro servidor de monitorización y el de base de datos.

Os dejo este link oficial de la página de Microsoft en el que se detallan los pasos a seguir para llevar a cabo la instalación en función de la distribución Linux que estéis utilizando.

Configuración driver ODBC SQL Server

Una vez realizada la instalación el siguiente paso será configurar el driver para hacer que apunte a nuestro servidor de SQL Server.

Para ello editaremos el fichero odbc.ini que podemos encontrar dentro del directorio /etc/ y agregaremos las siguientes líneas de configuración.

root@servidor:/etc# nano /etc/odbc.ini

Agregamos al fichero las siguientes líneas de configuración:
[nombre_servidor] //Nombre de nuestro servidor
Driver = ODBC Driver 17 for SQL Server
Server = 192.168.15.24 //dirección IP del servidor
Port = 1433 //Puerto de comunicación a SQL Server

Guardamos los cambios.

Configuraciones a realizar en la interfaz web de zabbix

Por último accedemos a la interfaz web de Zabbix, nos vamos a Configuration-Hosts y pulsamos sobre nuestro servidor para acceder a la configuración.

Nota: En el caso que no hayáis agregado el servidor con anterioridad para monitorizar otros parámetros como CPU, memoria, etc.. os recomiendo que lo hagáis siguiendo los pasos que describo en la siguiente entrada.

Una vez dentro de la configuración nos iremos a la pestaña Templates y añadimos la plantilla Template DB MSSQL by ODBC.

Nos vamos a la pestaña Macros y rellenamos la siguiente información:

  • {$MSSQL.DSN}: aquí ponemos el nombre de servidor que definimos en el fichero de configuración odbc.ini
  • {$MSSQL.USER}: usuario SQL que creamos en pasos anteriores (en mi caso le llamé zabbix).
  • {$MSSQL.PASSWORD}: contraseña del usuario de SQL.

Pasados unos minutos ya veremos que empezamos a tener datos de nuestra instancia de SQL Server.

Espero os haya sido de utilidad.

Entradas relacionadas

12 comentarios en «Monitorizar SQL Server con Zabbix»

    • Hola Juan,
      Algo debe faltarte por configurar porque yo lo tengo montado en Ubuntu Server 20.04 en producción y monitorizo distintas instancias de SQL sin problemas.

      Saludos.

      Responder
  1. Buenas,
    Buen post, añadimos al fichero /etc/pdbc.ini un bloque de lineas por cada servidor SQL server que queramos monitorizar?

    Saludos.

    Responder
  2. Buenas tardes.
    En el macro de nombre de servidior, poner el hostname del servidor o le nombre de la instancia?.
    Gracias

    Responder
  3. para centos 8 cual es la Instalación Microsoft ODBC Driver para SQL Server en el servidor de Zabbix por favor.

    Responder
  4. Sergio,

    Esto funciona pero genera un archivo llamado odbc.log que crece muy rápido y me llena el disco que finalmente me bota el zabbix. ¿Hay forma de evitarlo?

    Responder
    • Hola Jesús,

      Eso es porque tendrás un ODBC conectado que estará dando errores o escribiendo mucha información por lo que deberías intentar localizar la fuente para solucionar el problema desde ahí.

      Saludos.

      Responder
  5. Hola Sergio, configure todo desde debian pero me sale este mensaje Error code 0x102]|[08001][258][[unixODBC][Microsoft][ODBC Driver 18 for SQL Server]A network-related or instance-specific error has occurred while establishin]»

    Responder
    • Hola Marcos,

      Parece que por algún motivo Zabbix no tiene acceso al servidor de base de datos. Yo comprobaría que los datos de conexión son correctos y que no hay ningún firewall o parecido que impida la comunicación porque lo que está claro es que algo lo está impidiendo.

      Saludos.

      Responder

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.