
Monitorizando Nutanix desde Centreon
Si tenemos un Nutanix en nuestro entorno… ¿porqué no centralizamos toda la información que nos da en nuestro sistema de monitorización Centreon? No sólo para gestionar de mejor manera las alertas, si no para almacenar todas sus métricas y poder trabajarlas como nos interese, nos encontramos ante un post con todo detalle de cómo monitorizar por completo Nutanix!
Lo dicho, este documento es algo extenso, ya que podemos obtener muuuuchas métricas interesantes tanto del clúster de Nutanix como de los CVM, así que lo vamos a separar en distintas fases, primero veremos cómo habilitar SNMP en Nutanix y luego todas las opciones que podemos ver, os pondré el Comando y el Servicio que necesitaremos para cada ítem a monitorizar. Así cada uno agrega lo que interesa, y luego abajo os dejo el cómo quedaría!
Habilitando SNMP en Nutanix,
Empezamos! Lo primero será habilitar SNMP en nuestro clúster de Nutanix para poder obtener sus métricas desde nuestra máquina con Centreon,
Tras loguearnos en la web de administración de Nutanix, vamos a “Settings” > “SNMP”,
Marcamos el tick de “Enable SNMP”, y en “New Transport”,
En la pestaña “Transports” habilitaremos el protocolo UDP y puerto por defecto 161,
En la pestaña “Users” pulsamos en “New User”,
Y asignamos un nombre este usuario y los tipos de autenticaciones además de las contraseñas requeridas, como vemos, Nutanix usa SNMP versión 3 🙂 En este post usaré un usuario genérico llamado centreon y con contraseñas centreon usando AES y SHA, por qué os digo esto? Por que los Comandos que usaremos llevarán esos credenciles por defecto 😉
Pulsamos además en “Download MIB”, será necesario más adelante el fichero con los MIBs de Nutanix, lo guardamos por ahí,
Instalando los requisitos en Centreon,
Una vez tenemos Nutanix listo, procederemos a instalar los requisitos en Centreon para poder usar un par de scripts, para obtener ciertas métricas y con él podamos hacer algunas de las consultas que necesitaremos, descargaremos los scripts check_nutanix.pl y check_ssh_nutanix_cluster.pl, subimos por SCP el fichero con las MIBs recién descargado y estamos listos para instalar los requis:
[sourcecode]cpan Date::Parse
cpan Net::OpenSSH
cpan IO::Pty
cp NUTANIX-MIB.txt /usr/share/snmp/mibs/[/sourcecode]
Ojo, una anotación, en el script check_nutanix.pl, en la linea 97, al final, falta una COMA! Y lo guardaremos en el path de los Plugins de Centreon, en /usr/lib/centreon/plugins/.
Monitorizando CPU, Memoria, Carga y Disco
Y a continuación, ya iremos viendo qué podemos monitorizar, os dejare brevemente, el nombre del Servicio que suelo usar yo, seguido de los Argumentos. Y luego al final, el Comando que usé. Por ahora mediante SNMP,
Servicios:
- CPU: cpu 80 90
- Memoria RAM: memory 80 90
- Carga: load 80 90
- Disco: storage 80 90
Comando:
- Nombre: OS-Linux-SNMP-Basico-v3
- Línea de Comando:
[sourcecode]$CENTREONPLUGINS$/centreon_linux_snmp.pl –plugin=os::linux::snmp::plugin –mode=$ARG1$ –hostname=$HOSTADDRESS$ –snmp-version=3 –snmp-username=centreon –authprotocol=SHA –authpassphrase=centreon –privprotocol=AES –privpassphrase=centreon –warning=$ARG2$ –critical=$ARG3$[/sourcecode]
- Argumento 1: Modo (cpu, memory, load…)
- Argumento 2: Warning
- Argumento 3: Critical
Monitorizando el Uptime,
Para conocer el Uptime, bastará con crear un Servicio y un Comando:
Servicio:
- Uptime: uptime
Comando:
- Nombre: OS-Linux-SNMP-Basico-v3-sin-wc
- Línea de Comando:
[sourcecode]$CENTREONPLUGINS$/centreon_linux_snmp.pl –plugin=os::linux::snmp::plugin –mode=$ARG1$ –hostname=$HOSTADDRESS$ –snmp-version=3 –snmp-username=centreon –authprotocol=SHA –authpassphrase=centreon –privprotocol=AES –privpassphrase=centreon[/sourcecode]
- Argumento 1: Modo (cpu, memory, load…)
Monitorizando Capacidad Total, Usada, Estado, IOPS y Latencia.
Los Servicios que crearemos con sus argumentos:
- Cluster Nutanix – Capacidad Total .1.3.6.1.4.1.41263.504.0
- Cluster Nutanix – Capacidad Usada .1.3.6.1.4.1.41263.505.0
- Cluster Nutanix – Estado .1.3.6.1.4.1.41263.503.0 “Estado del cluster”
- Cluster Nutanix – IOPS .1.3.6.1.4.1.41263.506.0 “IOPS”
- Cluster Nutanix – Latencia .1.3.6.1.4.1.41263.507.0 “Latencia”
Comando:
- Nombre: check_snmp_v3
- Línea de Comando:
[sourcecode]/usr/lib/nagios/plugins/check_snmp -H $HOSTADDRESS$ -o $ARG1$ -P3 -L authPriv -U $ARG2$ -a $ARG3$ -A $ARG4$ -x $ARG5$ -X $ARG6$ -l $ARG7$[/sourcecode]
- Argumento 1: UUID
- Argumento 2: Usuario
- Argumento 3: SHA
- Argumento 4: Contraseña SHA
- Argumento 5: AES
- Argumento 6: Contraseña AES
- Argumento 7: Texto
Monitorizando el ancho de banda de E/S del clúster,
Servicio con sus argumentos:
- Cluster Nutanix – IO bandwidth .1.3.6.1.4.1.41263.508.0 “IO bandwidth” 300000 350000
Comando necesario:
- Nombre: check_snmp_v3_wc
- Línea de Comando:
[sourcecode]/usr/lib/nagios/plugins/check_snmp -H $HOSTADDRESS$ -o $ARG1$ -P3 -L authPriv -U $ARG2$ -a $ARG3$ -A $ARG4$ -x $ARG5$ -X $ARG6$ -l $ARG7$ -w $ARG8$ -c $ARG9$[/sourcecode]
Monitorizando las alertas de los CVM,
Para consultar las alertas usaremos el script que usa acceso SSH,
Servicio:
- Alertas: USUARIO CONTRASEÑA alerts
Comando:
- Nombre: check_ssh_nutanix_cluster.pl
Línea de comando:[sourcecode]$CENTREONPLUGINS$/check_ssh_nutanix_cluster.pl -H $HOSTADDRESS$ -u $ARG1$ -p $ARG2$ -T $ARG3$[/sourcecode]
- Argumento 1: Usuario
- Argumento 1: Contraseña
- Argumento 3: Tipo
Monitorizando los servicios del clúster,
Y aquí llegan todos los servicios del clúster, si nos interesa conocer el estado, estos son todos los Servicios que tendrás que crear:
- Cluster Nutanix – InsightsDataTransfer > Status InsightsDataTransfer
- Cluster Nutanix – Servicio ABAC > Status “ABAC”
- Cluster Nutanix – Servicio Acropolis > Status “Acropolis”
- Cluster Nutanix – Servicio AlertManager > Status “AlertManager”
- Cluster Nutanix – Servicio APLOS > Status “APLOS”
- Cluster Nutanix – Servicio APLOSEngine > Status “APLOSEngine”
- Cluster Nutanix – Servicio Arithmos > Status “Arithmos”
- Cluster Nutanix – Servicio Cerebro > Status “Cerebro”
- Cluster Nutanix – Servicio Chronos > Status “Chronos”
- Cluster Nutanix – Servicio CIM
- Cluster Nutanix – Servicio ClusterConfig
- Cluster Nutanix – Servicio ClusterHealth
- Cluster Nutanix – Servicio Curator
- Cluster Nutanix – Servicio DynamicRingChanger
- Cluster Nutanix – Servicio Ergon
- Cluster Nutanix – Servicio Hera
- Cluster Nutanix – Servicio InsightsDB
- Cluster Nutanix – Servicio Janus
- Cluster Nutanix – Servicio Lazan
- Cluster Nutanix – Servicio Medusa
- Cluster Nutanix – Servicio MinervaCVM
- Cluster Nutanix – Servicio NutanixGuestTools
- Cluster Nutanix – Servicio Orion
- Cluster Nutanix – Servicio Pithos
- Cluster Nutanix – Servicio Prism
- Cluster Nutanix – Servicio Scavenger
- Cluster Nutanix – Servicio SecureFileSync
- Cluster Nutanix – Servicio SSLTerminator
- Cluster Nutanix – Servicio Stargate
- Cluster Nutanix – Servicio SysStatCollector
- Cluster Nutanix – Servicio Tunnel
- Cluster Nutanix – Servicio Uhura
- Cluster Nutanix – Servicio Uhura
Comando:
- Nombre: check_ssh_nutanix_cluster.pl_r
- Línea de comando:
[sourcecode]$CENTREONPLUGINS$/check_ssh_nutanix_cluster.pl -H $HOSTADDRESS$ -u $ARG1$ -p $ARG2$ -T $ARG3$ -r $ARG4$[/sourcecode]
- Argumento 1: Usuario
- Argumento 2: Contraseña
- Argumento 3: Tipo
- Argumento 4: Ítem
Monitorizando estados varios,
Estos son los Servicios que habrá que crear, junto los argumentos Tipo y Subtipo:
- Cluster Nutanix – Controllers – Estado > Controllers cstControllerVMStatus
- Cluster Nutanix – Controllers – Servicios Core > Controllers cstDataServiceStatus
- Cluster Nutanix – Controllers – Servicios Metadata > Controllers cstMetadataServiceStatus
- Cluster Nutanix – Discos – Estado > Disks dstState
- Cluster Nutanix – Discos- Latencia > Disks dstAverageLatency
- Cluster Nutanix – Hipervisores – Drop recibidos > Hypervisors hypervisorRxDropCount
- Cluster Nutanix – Hipervisores – Drop transmitidos Hypervisors hypervisorTxDropCount
Comando:
- Nombre: check_nutanix.pl
- Línea de Comando:
[sourcecode]$CENTREONPLUGINS$/check_nutanix.pl -H $HOSTADDRESS$ -a $ARG1$ -u $ARG2$ -A $ARG3$ -x $ARG4$ -X $ARG5$ -t $ARG6$ -s $ARG7$[/sourcecode]
- Argumento 1: authProtocol (SHA)
- Argumento 2: Usuario (centreon)
- Argumento 3: authPassword (centreon)
- Argumento 4: privProtocol (AES)
- Argumento 5: privPassword (centreon)
- Argumento 6: Tipo
- Argumento 7: Subtipo
Monitorizando los IOs del cúster,
Y ya por fin acabamos :), estos son los Servicios que habrá que crear seguidos de los Argumentos
- Cluster Nutanix – Discos – IOs ancho de banda > Disks dstIOBandwidth 200000 250000
- Cluster Nutanix – Discos – IOs x segundo > Disks dstNumberIops 2500 3000
- Cluster Nutanix – Hipervisores – IOs escritura x segundo > Hypervisors hypervisorWriteIOPerSecond 1200 1500
- Cluster Nutanix – Pools – spitIOPerSecond > Pools spitIOPerSecond 10000 12000
Comando:
- Nombre: check_nutanix.pl_wc
- Linea de Comando:
[sourcecode]$CENTREONPLUGINS$/check_nutanix.pl -H $HOSTADDRESS$ -a $ARG1$ -u $ARG2$ -A $ARG3$ -x $ARG4$ -X $ARG5$ -t $ARG6$ -s $ARG7$ -w $ARG7$=$ARG8$ -c $ARG7$=$ARG9$[/sourcecode]
- Argumento 1: authProtocol (SHA)
- Argumento 2: Usuario (centreon)
- Argumento 3: authPassword (centreon)
- Argumento 4: privProtocol (AES)
- Argumento 5: privPassword (centreon)
- Argumento 6: Tipo
- Argumento 7: Subtipo
- Argumento 8: Subtipo Warning
- Argumento 9: Subtipo Critical
Ejemplo de un Comando,
Y nada, después de toda la txapa, de cómo he organizado los Servicios y Comandos a crear, pues os dejo un ejemplo de cómo quedaría un Comando para el que tenga dudas. Habremos indicado el Nombre, la Línea de Comando y los Argumentos.
Ejemplo de un Servicio,
Y lo mismo para cada Servicio a crear, indicaremos el Nombre, seleccionaremos su Comando y cumplimentaremos todos los Argumentos que pida.
¿Cómo quedaría?
Bien, lo interesante! Este sería un pantallazo de un entorno Nutanix totalmente controlado y monitorizado! A los CVM, recuerda que puedes añadirles métricas del entorno virtual y obtener más datos sobre rendimientos mega interesantes! Espero que os haya sido útil!