Log Insight

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).