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
- Instalación Zabbix 5.0 en Ubuntu Server 20.04
- Instalación agente Windows y Linux de Zabbix
- Monitorizar Hypervisor VMware ESXi con Zabbix
- Como monitorizar un proceso de Windows con Zabbix
- Integración de LDAP con Zabbix 5.x
- Configurar Zabbix Dynamic PDF Report en Linux
Me dedico a la Administración de Sistemas y he creado este blog para compartir mis conocimientos con toda la comunidad y así aportar mi granito de arena y ayudar a todo el que lo necesite.
con Ubuntu 20.04 probando la ODBC con isql no funciona
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.
Buenas,
Buen post, añadimos al fichero /etc/pdbc.ini un bloque de lineas por cada servidor SQL server que queramos monitorizar?
Saludos.
Hola Antonio,
Exacto, así es.
Saludos.
Buenas tardes.
En el macro de nombre de servidior, poner el hostname del servidor o le nombre de la instancia?.
Gracias
Hola Rubén,
Tienes que poner el mismo nombre que pusiste en el fichero odbc.
Saludos.
para centos 8 cual es la Instalación Microsoft ODBC Driver para SQL Server en el servidor de Zabbix por favor.
Hola,
No lo he instalado en CentOS 8 pero normalmente se suelen seguir las mismas instrucciones que Redhat por lo que prueba con estos pasos que se indican en la página oficial de Micrsooft: https://docs.microsoft.com/en-us/sql/connect/odbc/linux-mac/installing-the-microsoft-odbc-driver-for-sql-server?view=sql-server-ver15#redhat18
Saludos.
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?
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.
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]»
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.