Monitoritzant SQL Server amb Centreon

Venga va, que feia ja un temps que no li donàvem a Centreon; avui un clàssic, però bé. Si tenim algun servei de Microsoft SQL Server en la nostra organització, no podem deixar-ho passar, a part de la seva disponibilitat, hem de conèixer el seu rendiment!

Així que el que s' ha dit, hoy toca desgranar nuestros servidores SQL Server y conocer qué tal se comportan, en posts anteriores ya vimos cómo se monitoriza un equipo Windows, donde se le mira una base (CPU, Memòria RAM, Swap, Ús de discos, Xarxa, Uptime…), y a parte otros mínimos como puedan ser los serveis que ofrece, ports, contadores de rendimiento, carga de los discos

Hoy usaremos de nuevo los maravillosos ‘Centreon-Pluginsque sirven para casi todo, ja vam veure en este post cómo instalarlos, así que caña que empezamos! Al final del post vamos a poder conocer:

  • Antigüedad del backup.
  • Procesos bloqueados.
  • Bloqueos.
  • Bloqueos/espera.
  • Esperanza de vida de la página.
  • Tamaño de las bases de datos.
  • Tamaño de los logs.
  • Tasa de aciertos de caché.
  • Trabajos fallidos.
  • Usuarios conectados.
  • Tiempo de conexión.
  • Transacciones.

Bé, qué necesitamos para empezar? Pues tener instalado Centreon-Plugins como hemos dicho 🙂 y luego en Centreon no será, más que crear los comandos que necesitamos que ejecute el Centreon para obtener esos datos (Des de “Configuration” > “Commands” > “Check” > “Add”. Ah! y obviamente también necesitamos un usuario con permisos de lectura en SQL, sea usuario local o de dominio. Bo, res, lo dejo esto chupado, sólo tenemos que copiar los Comandos que nos interesen:

  • centreon_plugins.pl_sql_backup-age
/usr/bin/perl /usr/lib/centreon/plugins/centreon-plugins/centreon_plugins.pl --hostname=$HOSTADDRESS$ --username='DOMINIO\\USUARIO' --password='CONTRASEÑA' --port=1433 --plugin=database::mssql::plugin --mode=backup-age

Nota: Si necesitas indicar la instancia ya que no es la predeterminada, a cada comando deberás añadir:

--server=$HOSTADDRESS$\NOMBRE_INSTANCIA

  • centreon_plugins.pl_sql_blocked-processes
/usr/bin/perl /usr/lib/centreon/plugins/centreon-plugins/centreon_plugins.pl --hostname=$HOSTADDRESS$ --username='DOMINIO\\USUARIO' --password='CONTRASEÑA' --port=1433 --plugin=database::mssql::plugin --mode=blocked-processes --warning-blocked-processes=$ARG1$ --critical-blocked-processes=$ARG2$

  • centreon_plugins.pl_sql_cache-hitratio
/usr/bin/perl /usr/lib/centreon/plugins/centreon-plugins/centreon_plugins.pl --hostname=$HOSTADDRESS$ --username='DOMINIO\\USUARIO' --password='CONTRASEÑA' --port=1433 --plugin=database::mssql::plugin --mode=cache-hitratio --warning=$ARG1$ --critical=$ARG2$

  • centreon_plugins.pl_sql_connected-users
/usr/bin/perl /usr/lib/centreon/plugins/centreon-plugins/centreon_plugins.pl --hostname=$HOSTADDRESS$ --username='DOMINIO\\USUARIO' --password='CONTRASEÑA' --port=1433 --plugin=database::mssql::plugin --mode=connected-users --warning=$ARG1$ --critical=$ARG2$

  • centreon_plugins.pl_sql_connection-time
/usr/bin/perl /usr/lib/centreon/plugins/centreon-plugins/centreon_plugins.pl --hostname=$HOSTADDRESS$ --username='DOMINIO\\USUARIO' --password='CONTRASEÑA' --port=1433 --plugin=database::mssql::plugin --mode=connection-time --warning=$ARG1$ --critical=$ARG2$

  • centreon_plugins.pl_sql_databases-size
/usr/bin/perl /usr/lib/centreon/plugins/centreon-plugins/centreon_plugins.pl --hostname=$HOSTADDRESS$ --username='DOMINIO\\USUARIO' --password='CONTRASEÑA' --port=1433 --plugin=database::mssql::plugin --mode=databases-size

  • centreon_plugins.pl_sql_dead-locks
/usr/bin/perl /usr/lib/centreon/plugins/centreon-plugins/centreon_plugins.pl --hostname=$HOSTADDRESS$ --username='DOMINIO\\USUARIO' --password='CONTRASEÑA' --port=1433 --plugin=database::mssql::plugin --mode=dead-locks --warning=$ARG1$ --critical=$ARG2$

  • centreon_plugins.pl_sql_failed-jobs
/usr/bin/perl /usr/lib/centreon/plugins/centreon-plugins/centreon_plugins.pl --hostname=$HOSTADDRESS$ --username='DOMINIO\\USUARIO' --password='CONTRASEÑA' --port=1433 --plugin=database::mssql::plugin --mode=failed-jobs --warning=$ARG1$ --critical=$ARG2$

  • centreon_plugins.pl_sql_locks-waits
/usr/bin/perl /usr/lib/centreon/plugins/centreon-plugins/centreon_plugins.pl --hostname=$HOSTADDRESS$ --username='DOMINIO\\USUARIO' --password='CONTRASEÑA' --port=1433 --plugin=database::mssql::plugin --mode=locks-waits --warning=$ARG1$ --critical=$ARG2$

  • centreon_plugins.pl_sql_logs-size
/usr/bin/perl /usr/lib/centreon/plugins/centreon-plugins/centreon_plugins.pl --hostname=$HOSTADDRESS$ --username='DOMINIO\\USUARIO' --password='CONTRASEÑA' --port=1433 --plugin=database::mssql::plugin --mode=logs-size

  • centreon_plugins.pl_sql_page-life-expectancy
/usr/bin/perl /usr/lib/centreon/plugins/centreon-plugins/centreon_plugins.pl --hostname=$HOSTADDRESS$ --username='DOMINIO\\USUARIO' --password='CONTRASEÑA' --port=1433 --plugin=database::mssql::plugin --mode=page-life-expectancy

  • centreon_plugins.pl_sql_transactions
/usr/bin/perl /usr/lib/centreon/plugins/centreon-plugins/centreon_plugins.pl --hostname=$HOSTADDRESS$ --username='DOMINIO\\USUARIO' --password='CONTRASEÑA' --port=1433 --plugin=database::mssql::plugin --mode=transactions

Una vez creados los Comandos nos queda crear los Servicios, en este caso uno por cada Comando, ja sabeu, los creamos desde “Configuration” > “Services” > “Services by host”. Y al finalizar recordar grabar los cambios exportando la configuración de Centreon.

I res, tras un ratito que le dediquemos tendremos perfectamente monitorizado nuestro SQL Server, además de los servicios básicos que comentábamos al inicio como pueda ser CPU, RAM, Swap, Ús de discos, carga de los discos, uso de red, serveis, processos, certificats, ports, contadores de rendimiento de SQL Server que hay alguno interesante…. Y ahora conocemos además la Antiguedad del backup de cada base de datos, los Procesos bloqueados que puedan existir, los Bloqueos, lo Bloqueos/espera, la Esperanza de vida de la página, el Tamaño de cada bases de datos, el Tamaño de los logs de transacciones, la Tasa de aciertos de caché, los Trabajos fallidos, los Usuarios conectados, el Tiempo de conexión, e incluso las Transacciones que sufre nuestro servidor! Que sepáis que también se podrían hacer queries y monitorizar su resultado, pero eso lo vemos otro día 😉

Ah! y si es una máquina virtual no te olvides de sus métricas de virtualización!

Bueno pues con esto lo dejamos por ahora, con que a alguien le haya sido de provecho me doy por servido. Com sempre, un caluroso abrazo, gracias por compartir estas cosas por las redes sociales, es lo que nos ha tocado en el S. XXI, darle al Like a las cosas… en fi… ¡Besotes!

Posts recomanats

Autor

nheobug@bujarra.com
Autor del blog Bujarra.com Cualquier necesidad que tengas, no dubtis a contactar amb mi, us intentareu ajudar sempre que pugui, compartir és viure ;) . Gaudir dels documents!!!

Habilitant HTTPS a Grafana

3 de June de 2022