How I prepare for Elastic Certified Observability Engineer Exam

Si en artículos anteriores se mencionaba la complejidad que supone dar un buen título a cada escrito, algo que a priori puede parecer trivial pero que en la práctica no lo es tanto, en esta ocasión se ha convertido en un inesperado aliado y estáis ante otra de tantas entradas centrada en describir el proceso de preparación de una determinada certificación, en concreto, la Elastic Certified Observability Engineer.

Así, en el presente artículo se pretende describir en que consiste esta certificación, los tópicos que abarca, así como el proceso de preparación seguido para poder superar él tan temido examen.

Elastic Certified Observability Engineer

Tal y como señala la página oficial de Elastic, Elastic Certified Observability Engineer evalúa los conocimientos y habilidades para implementar un sistema de observabilidad con el Elastic Stack que abarque, desde la ingesta en Elasticsearch de métricas, logs, APM y uptime de un servicio, hasta analizar y reaccionar ante eventos en Kibana mediante jobs de machine learning y alertas.

En concreto, los candidatos deben ser capaces de cumplir los siguientes objetivos divididos en 6 categorías:

Uptime

  • Configurar y ejecutar Heartbeat para determinar el tiempo de actividad de un servicio
  • Configurar y ejecutar Heartbeat para determinar si un servicio es accesible vía ICMP, TCP o HTTP
  • Hacer uso de la aplicación Uptime en Kibana para monitorizar el tiempo de actividad y la disponibilidad de un servicio

Metrics

  • Configurar y ejecutar Metricbeat para recopilar métricas de un sistema operativo
  • Configurar y ejecutar Metricbeat para recopilar métricas de un servicio en ejecución
  • Habilitar y configurar un módulo Metricbeat para recopilar las métricas de un servicio específico
  • Hacer uso de la aplicación Metrics en Kibana para analizar y responder preguntas sobre las métricas recopiladas en Elasticsearch

Logging

  • Configurar y ejecutar Filebeat para recopilar logs del sistema
  • Habilitar y configura un módulo Filebeat para recopilar los logs de un servicio específico
  • Configurar y ejecutar Filebeat para recopilar un archivo de log determinado
  • Hacer uso de la aplicación Logs en Kibana para analizar y responder preguntas sobre los logs recopilados en Elasticsearch
  • Hacer uso de la aplicación Logs en Kibana para ver y analizar los jobs de machine learning predefinidos específicos para logs.

APM

  • Configurar un servidor APM para enviar datos a un clúster de Elasticsearch
  • Habilitar RUM en un servidor APM
  • Hacer uso de la aplicación APM en Kibana para analizar y responder preguntas sobre los datos APM recopilados en Elasticsearch

Structuring and Processing Data

  • Hacer uso de Kibana para editar o definir pipelines de ingesta
  • Configurar Metricbeat o Filebeat para hacer uso de un pipeline de ingesta
  • Definir un pipeline de ingesta que haga uso de processors como append, convert, date, dissect, dot expander, geoip, grok, fail, json, remove, rename, set, o split
  • Definir un nodo de ingesta que agregue datos de un índice de Elasticsearch existente

Working with Observability Data

  • Encontrar anomalías en los datos de observabilidad haciendo uso de los jobs de machine learning predefinidos en Kibana
  • Definir un job de machine learning en Kibana que trabaje sobre los datos de observabilidad recopilados
  • Definir o editar una política de gestión del ciclo de vida de índices
  • Definir una alerta usando Kibana Alerts

A pesar de que en secciones posteriores se ahondará más en la tipología del examen, salta a la vista que se trata de un test práctico en el que habrá que configurar las herramientas previamente descritas y responder a una serie de preguntas básicas sobre los datos recogidos haciendo uso de Kibana.

Destacar que el uso de la documentación oficial de Elastic está permitido durante toda la prueba, por lo que no debéis preocuparos por memorizar todas las posibles configuraciones de cada producto. Eso sí, se recomienda tener cierta soltura con la misma para perder el menor tiempo posible navegando por ella, si bien las 3 horas de duración garantizan que el tiempo no sea un problema.

Exam Preparation

Antes de describir el proceso de preparación empleado para tratar de superar el examen, comentar que un servidor disponía de un conocimiento previo básico, tanto teórico como practico, sobre Elasticsearch, Kibana, Logstash, Beats y APM. Es decir, no había construido un sistema observabilidad end to end completo con el Elastic Stack, pero sí que había trabajado con dichas herramientas de forma separada bajo modelos IaaS, PaaS o Kubernetes. ¿Supone esto un factor diferencial a la hora de preparar la prueba? Honestamente, no.

El examen no está orientado a demostrar un conocimiento experto sobre como configurar estos aplicativos a bajo nivel para obtener un rendimiento optimo en escenarios críticos, ni mucho menos. Mas bien, busca que la persona certificada conozca todas las posibilidades que ofrece el Elastic Stack y sepa hacer un uso estándar del mismo. Por lo tanto, el haber trabajado con el previamente ayuda en la toma de contacto inicial con el set herramientas, pero al cabo de unas horas esta ventaja se desvanece.

Dicho esto, mi preparación se fundamentó principalmente en el curso Elastic Observability Engineer On-Demand, el cual abarca absolutamente todos los tópicos del examen, tanto de forma teórica, mediante una serie de videos en los que se explican los conceptos básicos de cada herramienta, como práctica, mediante un laboratorio en el que ir resolviendo distintos ejercicios perfectamente explicados.

La parte positiva es que dicho curso no requiere de un conocimiento previo con el Elastic Stack, tan solo estar familiarizado con el terminal de Linux, y que los ejercicios propuestos son por lo general, similares a los del examen final.

¿La parte negativa? Los 2400$ que piden por el mismo lo vuelven inviable para la mayoría de los mortales. Por lo tanto, a no ser que tu empresa disponga de un partnership/suscripción con Elastic, no se postula como la opción primaria de formación. Es una lástima, porque es francamente bueno.

Una vez completado el curso y habiendo repetido los ejercicios propuestos con la única ayuda de la documentación oficial, opté por realizar el examen de práctica incluido en la suscripción que se me había facilitado. De nuevo, los ejercicios propuestos son similares a los del examen final y no se desvían ni un ápice de los objetivos descritos en la sección anterior.

Aunque el entorno del examen no es exactamente el mismo, en los laboratorios y examen de práctica se hace uso de Strigo mientras que en el examen real se te da acceso a una máquina virtual vía escritorio remoto, el desarrollo de los ejercicios mediante el terminal de Linux es similar. Esta sensación de familiaridad con el entorno hace que el examen sea mucho más llevadero y te permite centrarte en lo que realmente importa.

Finalmente, antes de realizar el examen, revisé tanto el Elastic Certification FAQ, en el que como su propio nombre indica, se contestan las preguntas más frecuentes relacionadas con las certificaciones que Elastic oferta, así como el video “Preparing for the Elastic Certified Observability Engineer Exam“, en la que la gente de Elastic, entre otras cosas, muestra el entorno del examen y resuelve en directos algunas de las tareas del mismo. Sin trampa ni cartón, 100% real y totalmente imprescindible.

Exam Experience

Tal y como se ha ido comentado a lo largo del artículo, se trata de un examen práctico de 3 horas de duración en el que se deben completar de 8 a 10 ejercicios. Así, algunos de ellos requieren configurar y ejecutar herramientas del Elastic Stack (Filebeat, MetricBeat, HeartBeat, APM, Kibana), mientras que otros contestar a una serie de preguntas básicas sobre los datos recogidos haciendo uso de Kibana. Tanto Elasticsearch como Logstash quedan fuera del ámbito de la certificación y el uso de la documentación oficial de Elastic está permitida durante toda la prueba.

El examen se lleva a cabo como tantas otras certificaciones, en una pestaña de Chrome a través de PSI Online. Ahora bien, en lugar de presentar un test de 30/50/70 preguntas, se facilita el acceso a una maquina Linux mediante escritorio remoto, con todo lo necesario ya preparado: Un acceso directo a las instrucciones del examen, otro a la documentación oficial de Elastic y finalmente la terminal de Linux. Si habéis visionado el video previamente descrito, no tendréis ninguna duda al respecto.

En lo que a la experiencia de un servidor se refiere, nada destacable respecto a otras certificaciones. Al inicio, el supervisor me solicitó una identificación emitida por el gobierno no vencida, que incluyese una foto y una firma. Posteriormente, una vista de 360 ​​grados de la habitación para verificar que no hubiese nadie más en la misma, ni ningún elemento prohibido sobre la mesa de trabajo: móvil, tablet, papeles, bolígrafos… En mi caso, llevé a cabo el examen haciendo uso de un ordenador portátil, sin ningún tipo de dispositivo externo conectado (teclado, ratón, segunda pantalla). Todas las interacciones con el instructor se realizan mediante el chat que PSI proporciona para ello.

A pesar de comenzar algo nervioso, pude completar la prueba en poco más de dos horas, por lo que podéis estar seguros de que el tiempo no es un problema. De hecho, uno puede tomarse un descanso de hasta 10 minutos para comer/beber algo rápido, ir al baño y estirar las piernas, si bien esto cuenta como tiempo del examen.

A partir de ahí, comienza la tensa espera hasta conocer el resultado del examen, lo que en principio suele tomar unos 3 días laborales. Por desgracia, se desconoce cuál es el resultado mínimo que debe obtenerse para aprobar, pero a cambio desde Elastic inciden en que el resultado de los ejercicios no es binario y se pueden obtener calificaciones parciales, por lo que si no sois capaces de llevar a cabo un paso concreto dentro de una practica, seguid adelante con la misma.

Conclusiones

En conclusión, Elastic Certified Observability Engineer es una certificación honesta que evalúa los conocimientos y habilidades para implementar un sistema de observabilidad con el Elastic Stack que abarque, desde la ingesta en Elasticsearch de métricas, logs, APM y uptime de un servicio, hasta analizar y reaccionar ante eventos en Kibana mediante jobs de machine learning y alertas.

A nivel personal he disfrutado mucho con el proceso de preparación de la misma y me llevo una impresión inmejorable de lo que las herramientas de Elastic pueden llegar a proporcionar.

Espero que el artículo os haya servidor de ayuda, mucha suerte a todos aquellos que vayas a intentarlo y si tenéis alguna duda, dejadla en los comentarios.

Referencias

Se recomienda encarecidamente leer los siguientes artículos que han servido de base para el escrito:

  1. https://www.elastic.co/es/training/certification/faq
  2. https://www.elastic.co/es/training/elastic-certified-observability-engineer

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s