David O'Brien (Xirus): ¡Métricas! ¡Métrica! ¡Métrica! Parte 1

David O'Brien abrió recientemente su propia compañía, Xirus (https://xirus.com.au), enfocándose en los productos en la nube Microsoft Azure Stack. Están destinados a la creación y el lanzamiento coordinados de aplicaciones híbridas en centros de datos, en ubicaciones fronterizas, oficinas remotas y en la nube.

David enseña a individuos y empresas todo lo relacionado con Microsoft Azure y Azure DevOps (anteriormente VSTS) y todavía se dedica a la consultoría práctica y la infracodificación. Ha sido el ganador del Premio MVP de Microsoft (Microsoft Most Valuable Professional) durante 5 años, y recientemente recibió el Premio MVP Azure. Como coorganizador del Melbourne Microsoft Cloud and Datacentre Meetup, O'Brien habla regularmente en conferencias internacionales, combinando su interés en viajar por el mundo con una pasión por compartir historias de TI con la comunidad. El blog de David se encuentra en david-obrien.net , y también publica sus entrenamientos en línea de Pluralsight.

La presentación habla sobre la importancia de las métricas para comprender lo que sucede en su entorno y cómo funciona su aplicación. Microsoft Azure tiene una manera poderosa y fácil de mostrar métricas para todo tipo de cargas de trabajo, y la conferencia explica cómo puede usarlas todas.

A las 3 a.m. del domingo, durante el sueño, de repente te despiertas con un mensaje de texto: "La aplicación supercrítica no responde de nuevo". Que esta pasando? ¿Dónde y cuál es la causa de los "frenos"? En esta charla, conocerá los servicios que Microsoft Azure ofrece a los clientes para recopilar registros y, en particular, las métricas para sus cargas de trabajo en la nube. David le dirá qué métricas deberían interesarle cuando trabaje en una plataforma en la nube y cómo llegar a ellas. Aprenderá sobre las herramientas de código abierto y la creación de paneles, y como resultado, obtendrá el conocimiento suficiente para crear sus propios paneles.

Y si a las 3 en punto de la mañana vuelve a despertar un mensaje sobre el bloqueo de una aplicación crítica, puede averiguar rápidamente su causa.

Buenas tardes, hoy hablaremos sobre las métricas. Mi nombre es David O'Brien, soy cofundador y propietario de la pequeña empresa consultora australiana Xirus. Gracias nuevamente por venir aquí para pasar su tiempo conmigo. ¿Por qué estamos aquí? Para hablar sobre métricas, o más bien, te contaré sobre ellas, y antes de que hagas cualquier cosa, comenzaremos con la teoría.



Le diré qué son las métricas, qué puede hacer con ellas, a qué debe prestar atención, cómo recopilar y habilitar la recopilación de métricas en Azure y qué es la visualización de métricas. Le mostraré cómo son estas cosas en la nube de Microsoft y cómo trabajar con esta nube.

Antes de comenzar, le pediré que levante la mano de aquellos que usan Microsoft Azure. ¿Y quién trabaja con AWS? Veo algunos ¿Qué hay de Google? ALI Cloud? ¡Un hombre! Multa. Entonces, ¿qué son las métricas? La definición oficial del Instituto Nacional de Estándares y Tecnología de EE. UU. Se ve así: "Una métrica es un estándar de medición que describe las condiciones y reglas para medir una propiedad y sirve para comprender los resultados de la medición". Qué significa eso?

Por ejemplo, considere la métrica para cambiar el espacio libre de un disco de máquina virtual. Por ejemplo, se nos da el número 90, y este número significa porcentajes, es decir, la cantidad de espacio libre en el disco es del 90%. Observo que no es muy interesante leer la descripción de la definición de métrica, que ocupa 40 páginas en formato pdf.

Sin embargo, la métrica no dice cómo se obtuvo el resultado de la medición, solo muestra este resultado. ¿Qué hacemos con las métricas?

Primero, medimos el valor de algo, luego usamos el resultado de la medición.



Por ejemplo, aprendimos la cantidad de espacio libre en el disco y ahora podemos usarlo, usar esta memoria, etc. Después de obtener el resultado de la métrica, debemos interpretarla. Por ejemplo, la métrica produjo un resultado de 90. Necesitamos saber qué significa este número: la cantidad de espacio libre o la cantidad de espacio en disco utilizado en porcentaje o gigabytes, latencia de red igual a 90 ms, y así sucesivamente, es decir, necesitamos interpretar el significado del valor de la métrica. Para que las métricas tengan sentido, después de interpretar un único valor de métrica, debemos garantizar la recopilación de múltiples valores. Esto es muy importante porque muchas personas no son conscientes de la necesidad de recopilar métricas. Microsoft ha facilitado la obtención de métricas, pero debe asegurarse de que se recopilen. Estas métricas se almacenan durante solo 41 días y desaparecen el día 42.Por lo tanto, dependiendo de las propiedades de su equipo externo o interno, debe tener cuidado de cómo guardar las métricas durante más de 41 días, en forma de registros, revistas, etc. Por lo tanto, después de la recopilación, debe colocarlos en un lugar que le permita generar, si es necesario, todas las estadísticas sobre los cambios en los resultados de las métricas. Al colocarlos allí, puede comenzar a trabajar eficazmente con ellos.

Solo después de recibir los valores de las métricas, interpretarlos y recopilarlos, puede crear un SLA, un acuerdo sobre el nivel de servicio. Este SLA puede no ser de particular importancia para sus clientes, es más importante para sus colegas, gerentes, aquellos que proporcionan el sistema y están preocupados por su funcionalidad. La métrica puede medir el número de tickets; por ejemplo, obtiene 5 tickets por día y, en este caso, muestra la velocidad de respuesta a las solicitudes de los usuarios y la velocidad de la resolución de problemas. Una métrica no solo debe indicar que su sitio se carga en 20 ms o una velocidad de respuesta de 20 ms, sino que una métrica es más que un indicador técnico.

Por lo tanto, el objetivo de nuestra conversación es presentarle una imagen detallada de la esencia de las métricas. La métrica sirve para verlo y puede obtener una imagen completa del proceso.



Tan pronto como obtengamos la métrica, podemos garantizar el 99% del estado de funcionamiento del sistema, ya que esto no es solo una mirada al archivo de registro que dice que el sistema está funcionando. Una garantía de disponibilidad del 99% significa que, por ejemplo, en el 99% de los casos, la API responde con una velocidad normal de 30 ms. Esto es exactamente lo que interesa a sus usuarios, colegas y gerentes. Muchos de nuestros clientes rastrean los registros de los servidores web, mientras que no notan ningún error en ellos y piensan que todo está en orden. Por ejemplo, ven un indicador de velocidad de red de 200 mb / sy piensan: "¡está bien, todo está bien!". Pero para lograr estos 200, los usuarios necesitan una velocidad de respuesta de 30 milisegundos, y este es exactamente el indicador que no se mide y no se recopila en los archivos de registro. Al mismo tiempo, los usuarios se sorprenden de que el sitio se cargue muy lentamente, porque, sin tener la métrica correcta,No saben los motivos de este comportamiento.

Pero como tenemos un SLA que garantiza un tiempo de actividad del 100%, los clientes comienzan a expresar indignación, porque en realidad el sitio es muy difícil de usar. Por lo tanto, para crear un SLA objetivo, debe ver la imagen completa del proceso creado por las métricas recopiladas. Este es el tema de mi debate en curso con algunos proveedores que, al crear el SLA, no entienden lo que significa el término "tiempo de actividad" y, en la mayoría de los casos, no explican a sus clientes cómo funciona su API.

Si creó un servicio, por ejemplo, una API para una tercera persona, debe comprender lo que significa la métrica recibida 39.5: respuesta, respuesta exitosa, respuesta a una velocidad de 20 ms o a una velocidad de 5 ms. Es usted quien debe adaptar su SLA a su propio SLA, a sus propias métricas.

Habiendo descubierto todo esto, puede comenzar a crear un tablero inteligente. Dime, ¿alguien ya ha usado la aplicación de visualización interactiva de Grafana? ¡Multa! Soy un gran admirador de este código abierto, porque es gratis y fácil de usar.



Si no ha usado Grafana, le diré cómo trabajar con él. ¿Quién nació en los años 80-90, probablemente recuerda a los cuidadores cachorros CareBears? No sé qué tan populares eran estos osos en Rusia, pero en términos de métricas deberíamos ser los mismos "osos cariñosos". Como dije, necesita una imagen detallada de todo el sistema, y ​​no debe referirse solo a su API, su sitio web o servicio que se ejecuta en una máquina virtual.



Debe organizar la recopilación de las métricas que reflejan más plenamente el funcionamiento de todo el sistema. La mayoría de ustedes son desarrolladores de software, por lo que su vida cambia constantemente, adaptándose a los nuevos requisitos del producto, y al igual que a usted le preocupan los procesos de codificación, debe ocuparse de las métricas. Necesita saber cómo la métrica toca cada línea de código que escribe. Por ejemplo, la próxima semana comienzas una nueva compañía de marketing y esperas que una gran cantidad de usuarios visiten tu sitio. Para analizar este evento, necesitará métricas y es posible que necesite un panel completo para rastrear la actividad de estas personas. Necesitará métricas para determinar qué tan exitoso y cómo funciona realmente su empresa de marketing. Te ayudarán, por ejemplo,desarrollar un CRM efectivo - sistema de gestión de relaciones con el cliente.

Entonces, comencemos con nuestro servicio en la nube de Azure. Es muy fácil encontrar y organizar la colección de métricas en él, porque hay Azure Monitor. Este monitor centraliza la gestión de la configuración de su sistema. Cada uno de los elementos de Azure que desea aplicar en su sistema tiene muchas métricas predeterminadas habilitadas. Esta es una aplicación gratuita que funciona directamente "fuera de la caja" y no requiere ninguna configuración preliminar, no necesita escribir nada y "atornillarla" a su sistema. Verificaremos esto viendo la siguiente demostración.



Además, es posible enviar estas métricas a aplicaciones de terceros, como el sistema de almacenamiento y análisis de registros Splunk, la aplicación de gestión de registros basada en la nube SumoLogic, la herramienta de procesamiento de registros ELK, IBM Radar. Es cierto que existen pequeñas diferencias que dependen de los recursos que use: una máquina virtual, servicios de red, bases de datos SQL de Azure, es decir, el uso de métricas difiere según las funciones de su entorno de trabajo. No diré que estas diferencias son graves, pero, desafortunadamente, todavía están presentes, y esto debe tenerse en cuenta. La inclusión y transferencia de métricas es posible de varias maneras: a través de Portal, CLI / Power Shell o usando plantillas ARM.



Antes de comenzar la primera demostración, responderé sus preguntas. Si no hay preguntas, comencemos. La pantalla muestra el aspecto de la página de Azure Monitor. ¿Puede alguno de ustedes decir que este monitor no funciona?



Entonces, ahora todo está en orden, puede ver cómo se ven los servicios del monitor. Puedo decir que esta es una herramienta excelente y muy simple para el trabajo diario. Con él, puede monitorear aplicaciones, redes e infraestructura. Recientemente, la interfaz de monitoreo ha sido mejorada, y si antes los servicios estaban ubicados en diferentes lugares, ahora toda la información sobre los servicios se consolida en la página de inicio del monitor.

La tabla de métricas es una pestaña a lo largo de la ruta Inicio \ Monitor \ Métricas a la que puede ir para ver todas las métricas disponibles y seleccionar las necesarias. Pero si necesita habilitar la recopilación de métricas, debe usar la ruta del directorio de configuración Home \ Monitor \ Diagnostic y marcar las casillas de verificación de métricas Enabled / Disabled. De manera predeterminada, casi todas las métricas están activadas, pero si necesita habilitar algo adicional, deberá cambiar el estado de diagnóstico de Deshabilitado a Habilitado.



Para hacer esto, haga clic en la fila de la métrica seleccionada y en la pestaña que se abre para habilitar el modo de diagnóstico. Si va a analizar la métrica seleccionada, luego de hacer clic en el enlace Activar diagnóstico, marque la casilla de verificación Enviar a Log Analytics en la ventana que aparece.



Log Analytics es un poco como Splunk, pero más barato. Este servicio le permite recopilar todas sus métricas, registros y todo lo que necesita, y colocarlos en el espacio de trabajo de Log Analytics. El servicio utiliza un lenguaje de procesamiento de consultas KQL especial: Kusto Quarry Language, consideraremos su trabajo en la próxima demostración. Por ahora, señalaré que con su ayuda puede formular consultas sobre métricas, registros, términos, tendencias, patrones, etc. y crear paneles de control.

Entonces, marcamos la casilla de verificación Enviar a Log Analytics y las casillas de verificación del panel LOG: DataPlaneRequests, MongoRequests y QueryRuntimeStatistics, y debajo en el panel METRIC - la casilla de verificación Solicitudes. Luego asignamos un nombre y guardamos la configuración. En la línea de comando, estas son dos líneas de código. Por cierto, el shell de Azure Cloud en este sentido se parece a Google, que también le permite usar la línea de comando en su navegador web. AWS no tiene nada de eso, por lo que Azure es mucho más conveniente en ese sentido.

Por ejemplo, puedo ejecutar la demostración a través de la interfaz web sin usar ningún código en mi computadora portátil. Para hacer esto, debo autenticarme con mi cuenta de Azure. Luego puede usar, por ejemplo, terrafone, si ya lo usa, espere la conexión al servicio y obtenga el entorno de trabajo Linux, que Microsoft usa de manera predeterminada.



A continuación, uso el Bash integrado en Azure Cloud Shell. Una cosa muy útil es el IDE integrado en el navegador, una versión ligera de VS Code. A continuación, puedo acceder a mi plantilla de métrica de error, cambiarla y personalizarla según mis necesidades.



Al configurar la recopilación de métricas en esta plantilla, puede usarla para crear métricas para toda su infraestructura. Después de aplicar las métricas, recopilarlas y guardarlas, necesitaremos visualizarlas.



Azure Monitor solo trata las métricas y no brinda la oportunidad de obtener una imagen general del estado de su sistema. Puede usar otras aplicaciones que se ejecutan fuera de Azure. Entonces, si necesita monitorear todos los procesos, visualizar todas las métricas recopiladas en un solo lugar, entonces Azure Monitor no funcionará para esto.

Para resolver este problema, Microsoft ofrece la herramienta Power BI, un software integral para el análisis empresarial, que incluye la visualización de una amplia variedad de datos. Este es un producto bastante costoso, cuyo costo depende del conjunto de funciones que necesita. De manera predeterminada, le ofrece 48 tipos de datos procesados ​​y está asociado con Azure SQL Data Warehouses, Azure Data Lake Storage, Azure Machine Learning Services y Azure Databricks. Usando la escalabilidad, puede recibir nuevos datos cada 30 minutos. Esto puede ser suficiente para sus necesidades o no lo suficiente si necesita visualización de monitoreo en tiempo real. En este caso, se recomienda utilizar aplicaciones como la que mencioné Grafana. Además, la documentación de Microsoft describe la capacidad de enviar métricas,registros y tablas de eventos utilizando SIEM: herramientas en los sistemas de visualización Splunk, SumoLogic, ELK y el radar de IBM.

23:40 min

. Continuará muy pronto ...


Un poco de publicidad :)


Gracias por estar con nosotros. ¿Te gustan nuestros artículos? ¿Quieres ver más materiales interesantes? Apóyenos haciendo un pedido o recomendando a sus amigos, VPS en la nube para desarrolladores desde $ 4.99 , un análogo único de servidores de nivel básico que inventamos para usted: toda la verdad sobre VPS (KVM) E5-2697 v3 (6 núcleos) 10GB DDR4 480GB SSD 1Gbps desde $ 19 o cómo dividir el servidor? (las opciones están disponibles con RAID1 y RAID10, hasta 24 núcleos y hasta 40GB DDR4).

Dell R730xd 2 veces más barato en el centro de datos Equinix Tier IV en Amsterdam? ¡Solo tenemos 2 x Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100 TV desde $ 199 en los Países Bajos!Dell R420 - 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB - ¡desde $ 99! Lea sobre Cómo construir un edificio de infraestructura. clase c con servidores Dell R730xd E5-2650 v4 que cuestan 9,000 euros por un centavo?

All Articles