logs

Conociendo vCenter Log insight

Que tal gente, el día de hoy les voy a hablar sobre un producto que VMware liberó en un estado beta y que en este punto se encuentra de manera gratuita y abierta para su prueba, vCenter Log Insight. Este producto llega a cubrir un área de oportunidad en VMware que es la de tener análisis a nivel de logs, sabemos que contábamos en los días de vSphere 4 con el recolector de logs de la vMA (vilogger) o que en este tiempo podemos utilzar el syslog collector de vCenter Server… ¿Pero en realidad lo que queremos es solo “recolectar los logs”? ¿o queremos contar con un análisis avanzado de los mismos?. Si nos tomamos algo de tiempo para revisar la industria podemos notar que existen soluciones como Splunk que precisamente nos permite el análisis y recolección de logs a nivel de nuestra infraestructura es aquí donde queremos tener un producto 100% integrado con VMware para poder tener un análisis continuo, preciso y que sin importar la versión de nuestros productos funcione. Es por eso que VMware adquirió a través de Pattern Insight la tecnología para sentar las bases para este nuevo producto, que en este momento conocemos como vCenter Log Insight.

¿Que nos ofrece vCenter Log Insight?

Análisis de información provista por los distintos sistemas que estén enviando sus logs, este producto no se limita a VMware, estaremos revisando un concepto llamado “content packs” donde proveedores podrían ofrecer queries específicos para el análisis de sus productos. Podríamos estar hablando de las siguientes capacidades a grandes rasgos:

  • Análisis de información en tiempo real – se cuenta con la capacidad de realizar queries a la información que esta siendo almacenada en el momento en la base de datos de log insight
  • Definición de esquema en el momento – creación de queries personalizados con filtros y elementos específicos.

Screen Shot 2013-07-03 at 12.13.11 PM

  • Ejecución de queries en información no estructurada – la información que esta siendo almacenada no tiene un esquema definido notros definimos bajo que criterios será analizada.
  • Pensado para el análisis de un volumen de información muy grande (big data)

¿Como se instala y configura?

Algo bastante interesante de vCenter log insight es el hecho de su simplicidad, la instalación y configuración inicial es a través de un OVA:

Screen Shot 2013-07-03 at 12.41.26 PM

En este OVA seleccionamos el almacenamiento y variables de OVF como IP, DNS, subnet mask, etc. Una vez importada tenemos una VM funcional dentro de nuestra infraestructura

importada

Cuando nuestro appliance este listo solo necesitamos apuntar desde un navegador a la ip de este, para poder terminar la configuración:

Welcome

Aquí configuraremos credenciales de administrador,licencia, notificaciones NTP (¡100% BASICO! por timestamps):

NTP

Por último tenemos otras dos configuraciones muy importantes, la integración con VMware (vC y vC Ops) y data archiving:

integracion

Bastante interesante la funcionalidad de “launch in context”

que nos permite desde vC Ops (vC Ops 5.7.1+) analizar un objeto y poder realizar un query directamente a Log Insight

Screen Shot 2013-07-02 at 11.18.45 AM

Data archiving nos permite retener información por mas tiempo, debido a que la información “viva” o en la cual podemos

realizar un análisis estará siendo almacenada dentro de la base de datos, la información mas “vieja” estará siendo exportada

hacia este repositorio de NFS donde será comprimida y podremos importarla en el caso que se requiera un análisis de la misma

Una vez terminada la configuración es necesario un reinicio y con eso tendremos nuestro sistema arriba y funcionando:

listo

en este caso solo registré vCenter Server por lo que nos falta algunos pasos para poder terminar la configuración, al menos en mi laboratorio requiero monitorear los servidores ESXi.

Lo primero es cambiar el password del usuario root, para esto abrimos una consola y accedemos a la línea de comando:

login

Donde ingresaremos las credenciales “root” y de password solo un enter (password vacio), con esto podremos cambiar el password de root. Una vez listo vamos a utilizar una herramienta llamada “configure-esxi” que nos permite configurar el servidor de syslog de manera masiva para todos los servidores ESXi que esten siendo gestionados por una instancia de vCenter server, claramente esta no es la única opción, podemos realizarlo a través del vSphere client, vSphere Web client, Powershell, esxcli etc etc… pero este es el método mas sencillo desde mi punto de vista. Necesitamos ingresar los siguientes comandos:

cd opt/vmware/bin   –> cambiamos el working directory a donde se encuentra la herramienta

./configure-esxi -u (ususario) -s (vcenter) -t (server de syslog)

comando

Algo extraño, tal vez un bug sucede en el momento que configuramos syslog para nuestros servidores ESXi… si nosotros queremos confirmar que el servidor de syslog fue correctamente configurado desde el vSphere Web client o el vSphere client no veremos ningún servidor, pero podemos verificar que efectivamente esto esta listo a través de la herramienta de configure-esxi con el switch “-q”

query

Una vez listos nuestros servidores ESXi podemos analizar la información que es enviada a nuestro sistema de Log Insight:

hosts-dashboard

Integración con vCenter Operations

Como les comenté podemos integrar vCenter Log Insight con vC Ops para poder crear alarmas a partir de datos no estructurados, es decir, podemos realizar un query a la información que esta almacenada en la BD de vCenter Log Insight y a partir de ella crear una alarma que sea enviada a su vez a vC Ops cada vez que se encuentren los criterios y el esquema definido en la información que va siendo recibida, vamos a revisar un ejemplo para la creación de una alarma a partir de latencia a nivel de storage:

Screen Shot 2013-07-03 at 1.52.26 PMEn la imagen podemos ver un filtro de información para poder obtener latencia a nivel de SCSI

Screen Shot 2013-07-03 at 1.55.41 PMAquí podemos ver la creación del esquema a partir de la información que se nos esta mostrando

Screen Shot 2013-07-03 at 2.02.12 PMEn esta imagen podemos ver la creación de una tabla a partir de un máximo y un grupo de dispositivos, esto después lo estaremos convirtiendo a una “alarma” o notificación a nivel de vC Ops

Screen Shot 2013-07-03 at 2.05.26 PMEstas alarmas se verán reflejadas directamente en vC ops

Screen Shot 2013-07-03 at 2.07.24 PM

¿Que son los Dashboards?

Algo bastante interesante es la capacidad que tenemos de compartir ciertos grupos de gráficas e información especifica, en el caso de vCenter Log Insight tenemos algunos dashboards incluidos que son provistos por el content pack de vSphere (explicaremos mas adelante que es un content pack) como lo podemos ver en la imagen:

Screen Shot 2013-07-03 at 5.39.49 PM

El concepto de dashboard nos da la capacidad de poder crear conjuntos de gráficas a partir de queries con información relevante para nosotros o para el grupo de admins de vSphere, lo interesante es que podemos compartir estos dashboards para que sean de uso público o podemos tener dashboards privados:

Screen Shot 2013-07-03 at 5.45.13 PM

Es interesante saber que esto permite a terceros el integrar análisis de sus propios productos con información especifica obtenida a partir de  querys realizados a los logs que son enviados a vCenter Log Insight. Crear un dashboard es bastante sencillo, aquí podemos ver el ejemplo para agregar un dashboard o crecer uno existente:

Screen Shot 2013-07-03 at 6.05.14 PMNos vamos a “interactive analysis” y ahí creamos un query para obtener la info que necesitamos, en este caso pueden ver que agregue dos elementos, el nombre de un host y que contuviera “error” para todo el tiempo que se ha monitoreado. Hacemos click en la esquina superior izquierda “add to dashboard”:

Screen Shot 2013-07-03 at 6.12.33 PMAquí podemos agregar el análisis de información y la gráfica a un dashboard existente o podemos crear un nuevo dashboard, que incluso podemos compartir con mas usuarios con acceso a vCenter Log Insight:

Screen Shot 2013-07-03 at 6.14.56 PMUna vez creado podemos encontrarlo en el menú de “dashboards” en la pantalla principal.

¿Que son los content packs?

Screen Shot 2013-07-03 at 8.49.45 PMLos content packs son un conjunto de queries que se entregan con el fin de analizar la información recolectada, en el caso de la versión beta de vCenter Log Insight contamos con el content pack de vSphere claramente provisto por VMware para poder analizar ciertos componentes clave. Los content packs pueden incluir:

  • Queries
  • Alertas
  • Dashboards
  • Extracciones de información a partir de campos clave

Como usuario podemos crear nuestro propio content pack, básicamente es exportar todo nuestro contenido:

Screen Shot 2013-07-03 at 9.04.03 PM

Dimensionamiento y consideraciones

  • El appliance virtual de vCenter Log Insight tiene como recursos iniciales 2 vCPUs y 8GB en RAM con 144GB en disco duro de los cuales 100GB están pensados para almacenar la información que le es enviada. En la siguiente tabla podemos encontrar algunos lineamientos para el dimensionamiento según la carga que presentará el appliance virtual:

Screen Shot 2013-07-03 at 9.20.36 PM

El calculo del almacenamiento que necesitamos lo podemos obtener de la siguiente manera:

calculamos la cantidad de tiempo que estaremos almacenando la información vs la cantidad de host (ver tabla), por ej. 100 hosts ESXi = 15GB aprox de almacenamiento si la queremos almacenar 7 dias sería:

15*7=105GB (esto es la cantidad de espacio para almacenar los datos de manera “raw”)

después debemos considerar temas como en índice otro tipo de metadata de dicha información por lo que multiplicaremos la cantidad requerida de espacio para almacenar dichos datos en forma “raw” o cruda por 1.6:

105*1.6=168GB

Considerando que el appliance virtual tiene un espacio dedicado de 100GB por default para el almacenamiento de datos al menos deberíamos agregar 68GB extras.

Agregar espacio de disco duro es tan simple como apagar el appliance virtual, agregar un nuevo disco, encenderla y el LVM de linux reconocerá el disco y lo agregará al grupo de LVM.

  • Otra consideración importante es la autenticación en esta versión solo es LOCAL (no se soporta AD, LDAP,etc.)
  • No se cuenta con clusterización en esta versión por lo que la única manera para poder escalar es agregando recursos al appliance virtual o agregando varias appliances virtuales y distribuyendo la colección de los entre estas (de manera manual).

 

 

VCAP – Sección 6 – Configurar,administrar y analizar logs de vSphere

Que tal gente, vamos a continuar con los temas de preparación para el examen VCAP-DCA, vamos a hablar de los distintos logs que tenemos en vSphere, que información nos ofrece cada uno de estos y donde los podemos encontrar. También estaremos viendo como poder generar los “bundles” (conjuntos de logs con fines de soporte), logging centralizado,etc.

Identificar logs de vCenter y donde encontrarlos
Todos los logs del vCenter los podemos obtener directamente utilizando nuestro vSphere client, yendo directamente a administration>System Logs, donde podremos ver dichos logs y también exportarlos.

Todos estos logs se encuentran en la ruta %ALLUSERSPROFILE%\Application Data\VMware\VMware VirtualCenter\Logs, podemos encontrar 2 tipos de logs:

  • vpxd-xx.log – log operacional del vCenter.
  • vpxd-profiler-xx.log – en este log viene información de estadísticas del VOD (VMware Virtual Center Operational Dashboard).

Identificar logs de ESX/ESXi

Al igual que en el caso del vCenter, podemos obtener y ver los logs de nuestros hosts directamente con el vSphere client en Administration > System Logs

Para ESX tenemos los siguientes logs:

  • logs de vmkernel – aquí se guarda toda la información relacionada con el kernel, lo encontramos en /var/log/vmkernel.log
  • logs de vmkwarning – aquí se guarda todos los eventos que estan marcados con “warning” en el log de vmkernel, lo encontramos en /var/log/vmkwarning.log
  • logs de vmksummary – en este log encontramos información del uptime y downtime, lo encontramos en /var/log/vmksummary.log
  • log de hostd – aquí podemos ver información del agente de management de ESX (mgmt-vmware), lo encontramos en /var/log/vmware/hostd.log
  • log de messages – aquí encontramos información de la actividad que se ha tenido en el service console, lo encontramos en /var/log/messages
  • log del agente de vCenter (vpxa) – este log solo lo tendremos cuando el host pertenece a un vCenter, lo podemos encontrar en /var/log/vmware/vmware/vpx/vpxa.log
  • logs de HA (aam) – estos logs  solo los vamos a encontrar en el momento que nuestro host pertenezca a un cluster de HA, podemos encontrarlo en /var/log/vmware/
  • logs de SW ISCSI – lo encontramos en /var/log/vmkiscsid.log
  • logs de de Sysboot – aquí podemos encontrar todos los mensajes de información de boot de nuestro sistema, lo encontramos en /var/log/boot-logs/sysboot.log

Para ESXi tenemos los siguientes logs:

En este caso los logs cambian un poco debido a la pérdida del service console:

  • logs de vmkernel,vmkwarning y hostd –  los encontramos en el log /var/log/messages
  • logs específicos de hostd – los encontramos en /var/log/vmware/hostd.log
  • logs del agente de vCenter – los encontramos en /var/log/vmware/vmware/vpx/vpxa.log
  • logs de sysboot – los encontramos en /var/log/sysboot.log
  • logs de HA (aam) – estos logs  solo los vamos a encontrar en el momento que nuestro host pertenezca a un cluster de HA, podemos encontrarlo en /var/log/vmware/

Generar bundles de logs de vCenter y ESX/ESXi

Para generar el bundle de diagnostico de algún host ESX/ESXi lo podemos realizar desde el vSphere client, vamos a administration>System Logs y “Export System Logs”


Para generar el bundle de logs del vCenter, debemos ir a menu inicio>todos los programas>VMware>Generat vCenter Server log bundle

Utilizar vicfg-syslog para configurar el log centralizado de nuestros hosts ESX/ESXi

Les recomiendo leer mi post “Esxi Tips – 01 – direccionar nuestros logs a un servidor Syslog” aquí podrán encontrar un ejemplo y pasos de como configurarlo.

Configurar vMA como syslog

Con el appliance vMA (vSphere management assistant) viene incluido el vilogger con el cual tenemos la capacidad de extraer logs de nuestros hosts, para configurarlo seguimos estos pasos:

Paso 1-. Ingresamos a nuestra vMA y agregamos el host con vifp e ingresamos las credenciales de root de dicho servidor.

sudo vifp addserver esxi01.hispavirt.test.com

Paso 2-. Verificamos que efectivamente fue agregado dicho servidor a nuestra lista de vifp

vifp listservers

Paso 3-. Habilitamos vilogger para dicho host:

vilogger enable –server esxi01.hispavirt.test.com –numrotation 20 –maxfilesize 10 –collectionperiod 10

–numrotation número de logs a guardar cuando se llega al número configurado se borrará el más antiguo.

–maxfilesize tamaño máximo en MB  para los logs, el default es de 5 MB.

–collectionperiod es el intervalo en segundos en el cual se estarán colectando los logs de dicho host.

¿Cómo puedo ver los logs dentro de la vMA?

Todos los logs de hosts que hayamos configurado para ser obtenidos por nuestra vMA serán almacenados en /var/log/vmware/<FQDNoIP>, ruta que podemos modificar en el archivo /etc/vmware/vMA/vMA.conf.