This is a machine translation based on the English version of the article. It might or might not have already been subject to text preparation. If you find errors, please file a GitHub issue that states the paragraph that has to be improved. |
1. Introducción
Checkmk te permite realizar la monitorización exhaustiva del servidor de bases de datos de Microsoft (Microsoft SQL Servers, abreviado como «MSSQL» en lo sucesivo). En nuestro Catálogo de check plugins encontrarás una lista completa de todos los check plugins disponibles.
Para poder supervisar las bases de datos, además del agente Checkmk, necesitarás el plugin de agente de mk-sql.
A partir de la versión 2.3.0 de Checkmk, este plugin de agente también es capaz de supervisar bases de datos en sistemas remotos.
Esto se refiere a bases de datos MS-SQL en tus propios servidores remotos, ¡no a las de proveedores de cloud arbitrarios!
Excepción: las bases de datos de Microsoft Azure SQL son compatibles explícitamente.
No se requiere ningún software adicional ni en Checkmk ni en el servidor de la base de datos.
El único requisito obligatorio para utilizar mk-sql es que el protocolo TCP/IP esté activado en la configuración de red del servidor SQL.
Si TCP/IP no está permitido o no se admite de otro modo en tu entorno de servidor MSSQL, debes utilizar el plugin de agente heredado mssql.vbs hasta nuevo aviso.
2. Configuración de una cuenta para la monitorización
El plugin de agente necesita acceso a tus instancias de MSSQL. Por regla general, queda claro —mucho antes de que llegue el equipo de monitorización— cómo puede ser ese acceso.
2.1. Configurar un usuario / utilizar una cuenta
- Linux
Crear un usuario para la monitorización
Necesitarás un usuario que pueda realizar la conexión a tu instancia de MSSQL. Este usuario necesita al menos los siguientes permisos:
Conexión a SQL
Conectarse a cualquier base de datos
Ver el estado del servidor
Aparte de estos permisos, depende de ti o de tu organización cómo se puede o se debe crear dicho usuario.
Puedes utilizar un usuario local con fines de prueba. Si no hay ningún usuario correspondiente en tu servidor MSSQL o en tu instancia, puedes crear uno en tu sistema Linux mediante la línea de comandos:
En el siguiente ejemplo, esto se hace para el usuario
checkmk:Sigue las instrucciones para asignar una contraseña, etc.
A continuación:
- Windows
En el caso de MSSQL, hay dos opciones. Puedes usar solo el modo de sistema local (Windows Authentication mode) o el modo mixto (SQL Server and Windows Authentication mode).
Uso de la cuenta LocalSystem
El agente Checkmk se ejecuta en sistemas Windows bajo la cuenta LocalSystem (
NT AUTHORITY\SYSTEM). Si también puedes usar esta cuenta LocalSystem para la monitorización de MSSQL, solo tendrás que asegurarte de que esta cuenta (inicio de sesión) tenga, como mínimo, los permisos para los siguientes elementos protegibles (Securables):View server state
Connect SQL
Connect any database (optional)
El permiso Connect any database (optional) es opcional, pero es necesario en casi todos los casos de monitorización de MSSQL.
Uso de una cuenta dedicada
Hay buenas razones para no ejecutar la monitorización de MSSQL a través de la cuenta LocalSystem de Windows. Entre las posibles razones se incluyen los requisitos de seguridad de la organización o, simplemente, el deseo de tener cuentas dedicadas y con nombres claros, cuyo propósito ya quede claro por el nombre.
Por supuesto, el Plugin también funciona con este tipo de cuentas (inicios de sesión).
El requisito básico en MSSQL es que el servicio de base de datos (Server authentication) esté configurado como «SQL Server and Windows Authentication mode». Si no quieres o no puedes usar la cuenta LocalSystem de Windows, este requisito ya debería estar cumplido, pero no está de más mencionarlo aquí.
Si no hay ningún usuario correspondiente en tu servidor MSSQL o en tu instancia, puedes crear uno en tu sistema Windows a través de Microsoft SQL Server Management Studio (con cualquier nombre de usuario):

Este inicio de sesión requiere los siguientes permisos:
Connect SQL
Connect any database
View server state
Concede estos permisos en el Administrador de cuentas de usuario de Windows (Object Explorer) a través de Security > Logins. Abre las propiedades de la cuenta (inicio de sesión) y haz clic en «Permisos» (Securables). En «Permisos» (Explicit) encontrarás las tres entradas mencionadas anteriormente. Marca las checkmarks correspondientes en la columna «Permitir» (Grant) y confirma con «Aplicar» (OK).

También puedes crear el usuario y los permisos a través de la línea de comandos. En el siguiente ejemplo, esto se hace para el usuario
checkmk:y después de eso:
2.2. Configuración manual de la conexión
Si utilizas Checkmk Community
o no quieres usar Agent bakery de las ediciones comerciales, configura la comunicación manualmente.
En el resto de esta descripción, damos por hecho que el agente de monitorización para Linux o Windows ya está instalado en el host.
Creación de un archivo de configuración
- Linux
En el host de Linux, crea un archivo `
mk-sql.yml` en el directorio que se indica a continuación:Si estás ejecutando varias instancias de MSSQL con diferentes nombres de usuario y contraseñas en el host, añade los detalles de las instancias al archivo
ymlsegún corresponda. Tu archivoymlpodría tener este aspecto, por ejemplo:- Windows
En el host de Windows, crea un archivo `
mk-sql.yml` en el directorio que se indica a continuación:Si usas la cuenta LocalSystem, esto es todo lo que necesitas:
Si utilizas una cuenta dedicada para la monitorización, en su lugar, necesitarás el siguiente contenido:
Si estás ejecutando varias instancias de MSSQL con diferentes nombres de usuario y contraseñas en el host, añade los detalles de las instancias al archivo «
yml» según corresponda. Tu archivo «yml» podría tener este aspecto, por ejemplo:
Instalación del plugin de agente
El plugin «mk-sql» se encuentra en…
- Linux
…en Checkmk Community, en la sección «Setup > Agents > Linux», y en las ediciones comerciales …en «Setup > Agents > Windows, Linux, Solaris, AIX > Related > Linux, Solaris, AIX files»:

Descarga el archivo de
mk-sqly colócalo en el host Linux, en el directorio/usr/lib/check_mk_agent/plugins/.- Windows
…en Checkmk Community en Setup > Agents > Windows y en las ediciones comerciales …en Setup > Agents > Windows, Linux, Solaris, AIX > Related > Windows files:

Descarga el archivo «
mk-sql.exe» y guárdalo en el host de Windows en el directorio «C:\ProgramData\checkmk\agent\plugins\».
Configuración de servicios
Ahora que has instalado y configurado el plugin de agente, puedes realizar el descubrimiento de servicios para este host. La siguiente captura de pantalla muestra solo una selección de los servicios que se pueden encontrar:

2.3. Configuración avanzada
Ejecución asíncrona del plugin de agente
El plugin de agente para la monitorización de MSSQL puede, al igual que muchos otros, ejecutarse de forma asíncrona, por ejemplo, para tener en cuenta los tiempos de ejecución más largos de las instancias grandes de MSSQL.
- Linux
Para ejecutar el plugin de agente de forma asíncrona en Linux, edita la configuración del plugin y añade una línea «
cache_age» a la sección «main»:Para obtener instrucciones detalladas sobre cómo ejecutar plugins de agente de forma asíncrona en un host Linux, consulta el artículo sobre el agente de Linux.
- Windows
Para ejecutar el plugin de agente de forma asíncrona en Windows, edita la configuración del plugin y añade una línea «
cache_age» a la sección «main»:Para obtener instrucciones detalladas sobre la ejecución asíncrona de plugins de agente en un host Windows, consulta el artículo que explica el agente de Windows.
3. Otras opciones de configuración en Checkmk
3.1. Configuración de los valores umbrales
Monitorización de conexiones
Puedes especificar tus propios valores umbral para la utilización del número máximo de conexiones simultáneas especificado por MSSQL, ya que estos dependen mucho más de la estructura de tu instancia de MSSQL que en el caso de otros servicios. Puedes configurar los valores umbral correspondientes en un santiamén utilizando una regla del conjunto de reglas «MSSQL Connections».

Monitorización del tamaño de los archivos
También puedes definir valores umbrales para los tamaños de archivos individuales en MSSQL. Para ello, utiliza el conjunto de reglas «MSSQL datafile sizes».

4. Configuración a través de Agent bakery
La configuración se ha simplificado mucho en las ediciones comerciales
gracias a Agent bakery, ya que se evitan los errores de sintaxis en los archivos de configuración y se pueden realizar fácilmente adaptaciones a entornos cambiantes.
La principal diferencia con respecto a una instalación manual es que solo tienes que trabajar en el host MSSQL a través de la línea de comandos si quieres realizar configuraciones específicas de MSSQL.
Para la configuración inicial basta con crear la regla correspondiente en Agent bakery.
Encontrarás el conjunto de reglas en Setup > Agents > Windows, Linux, Solaris, AIX > Agent rules.
Allí, busca «mssql» en el campo de búsqueda:

4.1. Configuración de la regla del agente
- Linux
En Authentication, selecciona la opción SQL database user credentials.

A continuación, introduce el nombre del servidor (Login name) en el campo «User» y añade el nombre de usuario y la contraseña correspondientes (Password). Para el servidor de base de datos (Connection), añade el nombre de usuario y la contraseña del servidor (Host name).
Si estás ejecutando varias instancias de MSSQL con diferentes nombres de usuario y contraseñas en el host, selecciona la opción Custom instances. Utiliza Add new element para acceder a los detalles de la primera instancia —y luego de cada instancia adicional— que se va a realizar la monitorización. Introduce aquí los datos de acceso de cada instancia, tal y como se ha descrito anteriormente.

- Windows
Dependiendo de cómo se permita que el plugin de agente inicie sesión en tu servidor MSSQL (consulta Configuración de una cuenta para la monitorización), selecciona la opción adecuada en Authentication. Si utilizas la cuenta LocalSystem (
NT AUTHORITY\SYSTEM), deja la selección en Local Integrated Authentication (Windows).
Si, en cambio, utilizas la autenticación de SQL Server, selecciona la opción «SQL database user credentials» e introduce también el Login name (consulta «Usar una cuenta dedicada») en el campo «User» y añade el Password correspondiente.
Si estás ejecutando varias instancias de MSSQL con diferentes nombres de usuario y contraseñas en el host, selecciona la opción «Custom instances». Usa «Add new element» para acceder a los detalles de la primera instancia —y luego de cada instancia adicional— que se va a realizar la monitorización. Introduce aquí los datos de acceso para cada instancia, tal y como se ha descrito anteriormente.

4.2. Opciones adicionales
Con la configuración que acabas de realizar, primero creas un agente sencillo para la monitorización de tu instancia de MSSQL, que se encuentra directamente en el host. Todos los datos disponibles se evalúan directamente en Checkmk, lo que debería ser suficiente para un caso típico. Sin embargo, si tu organización tiene un entorno MSSQL más complejo, hay más opciones, tanto para la monitorización de la base de datos en el mismo host como para su monitorización en un host remoto. Estas opciones son básicamente las mismas para ambos tipos de conexión.
| Opción | Descripción |
|---|---|
Connection |
Si necesitas datos de conexión más específicos para la conexión general al servidor MSSQL, puedes especificarlos aquí. |
Data to collect (Sections) |
Aquí puedes restringir por sección qué datos deben recopilarse y si deben recopilarse de forma sincrónica o asincrónica. |
Cache age for asynchronous checks |
Puedes cambiar el periodo de la caché en segundos para las comprobaciones asíncronas definidas anteriormente. |
Asignar datos a un host específico (Piggyback) |
Los datos piggyback se pueden asignar a un host, independientemente de la fuente real. Por ejemplo, la información SQL se puede separar de los datos del servidor Windows subyacente. |
Discovery mode of database instances |
Configuración para la búsqueda en la instancia. |
Custom instances |
Además de la configuración general para acceder a tu servidor MSSQL, aquí también puedes definir tu propia configuración para instancias específicas. |
Options |
Aquí puedes establecer el número máximo de conexiones paralelas al servidor SQL. |
5. Opciones de diagnóstico
5.1. Posibles errores y mensajes de error
Mensaje de error: No se han podido recopilar las instancias de SQL Server
Comprueba si la conexión TCP/IP está configurada y funciona correctamente.
6. Archivos y directorios
6.1. En el host MSSQL
- Linux
Ruta del archivo Descripción /usr/lib/check_mk_agent/plugins/Directorio para guardar los plugins de agente.
/etc/check_mk/mk-sql.ymlArchivo de configuración del plugin de agente.
- Windows
Ruta del archivo Descripción C:\ProgramData\checkmk\agent\plugins\Directorio para guardar los Plugins de agente.
C:\ProgramData\checkmk\agent\config\mk-sql.ymlArchivo de configuración del plugin de agente.
6.2. En el servidor Checkmk
| Ruta del archivo | Descripción |
|---|---|
|
El plugin de agente que debes copiar a tus hosts de Windows para realizar la monitorización de MSSQL en ellos. |
|
El plugin de agente que debes copiar en tus hosts Linux para realizar la monitorización de MSSQL en ellos. |
