1 00:00:00,500 --> 00:00:14,480 Buenos días. Hoy, día 19 de mayo, a las 10 y media, estamos convocados a través de Jefatura de Departamento para la defensa del módulo profesional del proyecto del ciclo formativo de grado superior de ASIR. 2 00:00:14,480 --> 00:00:31,359 Informo que esta defensa está siendo grabada y que esta grabación se utilizará en el entorno cerrado de EducaMadrid con fines educativos y sólo estará a disposición de los profesores evaluadores en el aula virtual para llevar a cabo la evaluación y calificación de la defensa del proyecto. 3 00:00:31,359 --> 00:00:52,560 En el aula virtual de proyectos habéis sido informados de los criterios y rúbrica de calificación. El orden de presentación del proyecto es el siguiente, 15 minutos máximo para defender el proyecto y 15 minutos máximo para preguntas por parte del tribunal. Dicho esto, tu tiempo de exposición comienza a partir del momento en el que comiences a hablar. Adelante y mucha suerte. 4 00:00:52,560 --> 00:01:13,189 Vale, pues perfecto, pues buenos días. Mi nombre es Daniela y voy a dar comienzo a la defensa de mi proyecto que trata de sobre implementar e integrar Grafana con Savix Server y gestionándose las alertas a través de PayerDuty. 5 00:01:13,189 --> 00:01:30,189 Entre los objetivos generales es instalar un servicio de monitorización y visualización con un plugin de alertas que permita advertir y solucionar problemas exponiendo sus características principales y realizando una configuración como demostración. 6 00:01:30,189 --> 00:01:48,129 Entre los objetivos específicos tenemos investigar y comparar herramientas de monitorización de forma general, diseñar una infraestructura básica de solución, instalar y configurar las herramientas en el entorno y documentar todo el proceso. 7 00:01:48,129 --> 00:02:00,030 Las tecnologías utilizadas fueron VirtualBox, que como ya sabéis es un programa de virtualización. 8 00:02:00,030 --> 00:02:22,770 Se utilizó los sistemas operativos de Ubuntu y Windows y entre las herramientas, la herramienta de capturación de datos fue Savix, Savix Server y Grafana OS, que es la herramienta de visualización para los dashboard y PagerDuty, 9 00:02:22,770 --> 00:02:30,889 que es el sistema de alertas incorporado en este proyecto para el proceso de escalación de incidentes. 10 00:02:31,669 --> 00:02:44,210 La arquitectura que se diseñó para este proyecto, básicamente trata de que el usuario accede a Grafana, 11 00:02:44,349 --> 00:02:48,550 que es este sistema de visualización, para visualizar métricas en tiempo real 12 00:02:48,550 --> 00:02:52,750 que se envían desde Savvy Server y los dos agentes 13 00:02:52,750 --> 00:02:57,469 donde están instalados en las máquinas virtuales, 14 00:02:57,490 --> 00:03:00,090 en las máquinas virtuales, a monitorizar. 15 00:03:00,689 --> 00:03:05,310 A su vez, Savvy Server envía las alertas a Payer Duty 16 00:03:05,310 --> 00:03:08,729 en el momento en que hay una caída de servicio 17 00:03:08,729 --> 00:03:12,729 y este se encarga de toda la escalación del incidente. 18 00:03:12,729 --> 00:03:15,409 Se escogió la monitorización basada en agentes 19 00:03:15,409 --> 00:03:42,569 ya que nos aporta una información detallada de los sistemas y creo que es un punto bastante importante porque esto va a ser gestionado por un administrador y el administrador debe tener acceso, en este caso, cuando se trata de monitorización de servicios, tiene que tener acceso definitivamente a todos los componentes electrónicos de un sistema. 20 00:03:42,569 --> 00:04:05,490 Ahora bien, planificación y recursos. Es lo que nos lleva un poco a este siguiente punto, que siguiendo la normativa existente para la creación de proyectos informáticos, publicada en el 2016 por el Consejo de Colegios Profesionales, se organizó una planificación de cuatro semanas de forma hipotética para el desarrollo de este proyecto en un entorno real. 21 00:04:05,490 --> 00:04:29,709 En este caso, vemos que los primeros nueve días es para la planificación de lo que es el proyecto, se englobaría todo lo que es la investigación, la comparación de soluciones, búsqueda de presupuesto, asignación de recursos, asignaciones de roles, 22 00:04:29,709 --> 00:04:39,370 definir los alcances los responsables etcétera luego los siguientes los siguientes en la 23 00:04:39,370 --> 00:04:45,709 siguiente etapa sería la configuración del entorno que es en este caso la preparación 24 00:04:45,709 --> 00:04:52,509 de instalar sabics server en un servidor principal con la configuración de las de 25 00:04:52,509 --> 00:04:58,709 los portátiles que se van a monitorizar y bueno finalmente unos últimos cinco días de solo pruebas 26 00:04:58,709 --> 00:05:03,050 para realizar pruebas del entorno que en realidad toda la arquitectura funciona correctamente. 27 00:05:05,620 --> 00:05:13,680 Aquí tenemos un ejemplo de presupuesto aplicado a un entorno real en el que nos daría en total un entorno de unos 2.600 euros más o menos 28 00:05:13,680 --> 00:05:23,639 de la inversión inicial, ya que si apostamos esto para un entorno real, tendríamos que contratar un administrador. 29 00:05:23,639 --> 00:05:29,920 Eso tendría un costo mensual de unos 2.000 euros más o menos para que administre los servicios y ofrezca el mantenimiento. 30 00:05:30,339 --> 00:05:35,839 Tendríamos que efectivamente tener un servidor donde esté incluido Xavis y Grafana 31 00:05:35,839 --> 00:05:41,519 Con un precio más o menos que ronda en el mercado entre los 500 y 800 euros 32 00:05:41,519 --> 00:05:46,160 Que puede ser un servidor básico, que puede ser un Core i5, un Core i7 33 00:05:46,160 --> 00:05:50,399 De 16 GB de RAM y 500 GB de memoria 34 00:05:50,399 --> 00:05:59,540 Y solamente por tenerlo en cuenta, que en este caso sería también la compra de un SAIO 35 00:05:59,540 --> 00:06:15,079 Un UPS para un servidor, que esto es básicamente para hacer un respaldo de la energía en caso de caídas por cortes eléctricos, que efectivamente tenemos un ejemplo de lo ocurrido recientemente en Madrid, que me parece bastante importante. 36 00:06:15,079 --> 00:06:32,740 Y esto tendría un coste de unos 100, 150 euros, que no sería un costo recurrente, sería un costo individualizado y puntual, pero que todo esto nos daría un total de un importe de entre unos 2.600, 2.800 euros. 37 00:06:32,740 --> 00:06:40,579 porque en cuanto a las softwares y licencias, todos los softwares que se han seleccionado para este proyecto son open source 38 00:06:40,579 --> 00:06:48,779 y estamos utilizando versiones gratuitas, aunque podría recomendar que salvo para el servicio de alerta, 39 00:06:48,779 --> 00:06:54,360 que es el caso de PayerDuty, para un único usuario, que en este caso sería para el administrador, 40 00:06:54,939 --> 00:07:01,660 sí que se contemplará la opción de que se pague una suscripción de 25 euros mensuales. 41 00:07:02,740 --> 00:07:15,000 La configuración del entorno básicamente constó de un servidor, de tres máquinas virtuales configurados dentro de VirtualBox, 42 00:07:15,000 --> 00:07:20,000 que sería un servidor, y a su vez dos agentes. 43 00:07:22,060 --> 00:07:27,819 Dos de las máquinas tendrían Ubuntu Server y la tercera máquina tendría Windows. 44 00:07:27,819 --> 00:07:47,500 Entre los requisitos de funcionalidad que se requirió para hacer el diseño de esta arquitectura, de esta solución, se decidió de que al menos la monitorización, las métricas recolectadas fueran con un refresh de cada 10 segundos, cada 15 minutos. 45 00:07:47,500 --> 00:08:09,819 La visualización sería a través de Grafana vía navegador o también tendríamos también a modo de respaldo el dashboard de Savix. También en cuanto al alertado, PagerDuty debe enviar notificaciones en menos de cinco minutos después de que Savix Server lance el trigger de incidencia. 46 00:08:09,819 --> 00:08:27,199 Y bueno, en este caso sería a monitorizar las dos máquinas de agente, que en efecto en los dashboard se vea reflejado la totalidad de las máquinas y servicios. Y bueno, estos serían, digamos, los requisitos básicos de funcionalidad. 47 00:08:27,199 --> 00:08:43,240 Ahora bien, la configuración del entorno, como se ha dicho anteriormente, se realizó en VirtualBox. Aquí se puede observar. Voy a ir avanzando rápidamente para ir mostrando un poco a grosso modo cómo se visualiza el entorno. 48 00:08:43,240 --> 00:08:47,320 En este caso se abren las tres máquinas virtuales a la misma vez 49 00:08:47,320 --> 00:08:56,110 Y en este caso el servidor Ubuntu Server con Zabbix 50 00:08:56,110 --> 00:09:02,370 Es la máquina que digamos que va a la principal 51 00:09:02,370 --> 00:09:11,509 Que es la que va a darnos el IP principal para poder abrir la versión web de Zabbix Server y Grafana 52 00:09:11,509 --> 00:09:16,669 Y los otros dos máquinas virtuales serían los ejemplos a monitorizar. 53 00:09:18,049 --> 00:09:37,490 Esta fue la configuración que realizamos de Sabic Server, se dejó algo bastante sencillo, muestra el uso de CPU de las tres máquinas, se ve un poco el performance, el historial de procesos, información básica del sistema, tráfico de red, disponibilidad del equipo y problema de gravedad. 54 00:09:37,490 --> 00:09:45,750 Se decidió dejar este dashboard bastante sencillo en Zabbix solamente para tenerlo como un respaldo. 55 00:09:47,149 --> 00:10:02,909 Esta fue la configuración final que se decidió para Grafana, que como se puede visualizar son tres filas de métricas siguiendo el diseño que se realizó en el proyecto. 56 00:10:02,909 --> 00:10:15,769 En este caso, muestra el uso del CPU, el uso de la memoria RAM, la memoria disponible, los números de procesos activos, alerta por severidad y gráficos de red con bits recibidos. 57 00:10:18,470 --> 00:10:31,950 Ahora bien, la prueba principal que muestra que toda esta solución que hemos diseñado funciona correctamente es a través de una prueba que hemos hecho con decaída de servicio. 58 00:10:31,950 --> 00:10:46,929 Lo que se ha hecho básicamente es apagar una máquina virtual, en este caso fue donde estaba el sistema operativo de Windows. Se apagó esta máquina virtual e inmediatamente Zabbix detecta un problema. 59 00:10:46,929 --> 00:10:59,909 En este caso, Xavix inmediatamente a las 20.44 lanza a PagerDuty el de que hay un incidente y del nombre del incidente. 60 00:10:59,909 --> 00:11:10,250 En este caso, por otro lado, Grafana muestra el panel dedicado del host de Windows con problemas. 61 00:11:10,809 --> 00:11:18,529 Podemos visualizar que mientras las otras dos máquinas virtuales se muestran con gráficos y podemos ver los porcentajes de los mismos, 62 00:11:18,529 --> 00:11:31,090 En cambio, con esta tercera máquina, vemos que no tenemos datos y además en el panel de incidencias vemos que muestra dos errores en rojo. 63 00:11:31,090 --> 00:11:52,580 Ahora bien, si bajamos un poco más en el dashboard, el problema es que no me cabía toda la pantalla, pero si bajamos un poco a este dashboard, también hay tres paneles adicionales de red que está unificado a cada máquina virtual. 64 00:11:52,580 --> 00:12:09,500 Y en este caso observamos como las demás portátiles, perdona, las demás máquinas virtuales muestran actividad de servicio, pero el agente Windows pues no muestra nada y además muestra la última hora en el que tuvo cierta actividad. 65 00:12:09,500 --> 00:12:38,610 Entonces, ¿qué es lo que hace en este caso la escalada que realiza PayerDuty por su cuenta? Pues PayerDuty empieza a realizar una serie de acciones que fueron previamente configuradas, realiza en un marco de dos minutos la activación de envío de mensaje, de visión de llamada a la persona que esté en un call, 66 00:12:38,610 --> 00:12:47,470 y la creación automática de un chat de Slack con el nombre del incidente, lo cual es bastante intuitivo, 67 00:12:47,730 --> 00:12:51,830 soluciona un montón a la hora de las escalaciones de servicio. 68 00:12:52,450 --> 00:13:01,470 Podemos observar que en este caso la caída fue a las 20.44 y FireDuty cumple con las expectativas 69 00:13:01,470 --> 00:13:11,529 que envía y procesa todo el escalado a las 20.46, es decir, menos de los 5 minutos que habíamos considerado inicialmente. 70 00:13:12,289 --> 00:13:19,649 Aquí podemos ver que entre las 20.47 y 20.49 surgen las llamadas y los SMS, 71 00:13:20,250 --> 00:13:24,110 que en este caso debo de tomar en cuenta de que como es una versión de prueba, 72 00:13:24,590 --> 00:13:29,590 la versión de prueba de PayerDuty, como algo para que se tome en cuenta, 73 00:13:29,590 --> 00:13:48,809 La versión gratuita no contempla números de teléfono españoles, solamente de Estados Unidos, Irlanda y Reino Unido. Por suerte, tenía una tarjeta SIM de Irlanda y pude realizar la prueba sin ningún problema, pero en este caso no tendría presentado un problema. 74 00:13:48,809 --> 00:13:56,950 Por eso se recomienda el pago de 25 euros mensuales del plan básico de Payerdutil. 75 00:13:58,129 --> 00:14:16,190 Entonces, aquí se muestra que a las 20.51 del incidente se ha creado el chat correctamente, aparece el tipo de incidente, el servicio, la urgencia, el nivel de prioridad y también se actualiza en tiempo real cuando la persona, claro, que en este caso sería yo, ha contestado el incidente, ¿vale? 76 00:14:18,850 --> 00:14:26,450 Finalmente, en esta forma se ve reflejada la incidencia en el panel de servicio dedicado al proyecto ASIR en Player Duty. 77 00:14:26,610 --> 00:14:31,210 Aparece que está resuelto. Se ha tardado en total una hora y 28 minutos. 78 00:14:31,409 --> 00:14:45,679 Mientras volvía la máquina virtual, mientras se volvía a colocar todo en su sitio, podemos visualizar todo el panel mostrando la información de forma resumida y correcta. 79 00:14:45,679 --> 00:15:09,639 Las conclusiones en total que podemos sacar de todo el diseño general de este proyecto, pues que la detención de la caída del servicio fue inmediata gracias a que SAVIS pudo confirmar la indisponibilidad y pues disparó correctamente el problema a FireDuty sin retrasos. 80 00:15:09,639 --> 00:15:35,779 Grafana, por otro lado, mostró en tiempo real las métricas, facilitando el diagnóstico rápido del fallo. La integración de Savic y PayerDuty se realizó correctamente, pudiendo recibir notificaciones simultáneas y la arquitectura funcionó según los diseñados, lo cual permitió validar la viabilidad de la solución propuesta. 81 00:15:35,779 --> 00:15:55,879 Y por último, entre los logros que pudimos encontrar, está la planificación del entorno y la instalación controlada, pues me permitió una comprensión profunda de cómo se integran los distintos elementos de un sistema de monitorización funcional aplicado, digamos, en un entorno lo más realista posible. 82 00:15:55,879 --> 00:16:18,879 No obstante, también tuve dificultades. Por ejemplo, con la versión gratuita de PayerDuty está el tema de que el número de usuarios y canales de notificación es limitado. Por ejemplo, no está contemplado los países que pueden recibir la notificación, los teléfonos de los países, perdona. 83 00:16:18,879 --> 00:16:36,340 Para crear una cuenta en PayerDuty se necesitaba un correo electrónico de empresa de forma obligatoria y se utilizó en este caso el personal mío de empresa y gracias a esto fue que pude realizar la prueba. 84 00:16:36,340 --> 00:17:05,259 Y por último, pues la versión 24.4 de Ubuntu, que es la versión que yo quería utilizar, que es la más nueva, pues sí que dio fallos al intentar configurar la base de datos para Stavix, sobre todo con intentar integrar MySQL en Ubuntu, que hasta entonces creo que ha sido un fallo entre o bien la última versión de VirtualBox y Ubuntu o algo. 85 00:17:05,259 --> 00:17:19,940 Por esta razón, se pasó a una versión anterior, la 22, que era muchísimo más estable y que permitió hacer las pruebas sin ningún inconveniente. Y bueno, esto es todo. Espero que os haya gustado y, bueno, muchísimas gracias. 86 00:17:21,599 --> 00:17:34,359 Perfecto, Daniela. Voy a hacer las preguntas en lugar de ir al trabajo. La primera es, ¿por qué elegiste Zavis como sistema de base de motivación frente a alternativas como NARGIA? 87 00:17:34,359 --> 00:17:58,470 Muy bien, en este caso el equipo, como estaba mi proyecto, uno de los problemas que visualizó fue que muchas empresas españolas aún no están del todo encauzadas a la nube y continúan en su mayoría guardando la información y teniendo muchísimos equipos y información en local. 88 00:17:58,470 --> 00:18:00,630 digamos que 89 00:18:00,630 --> 00:18:02,930 instalar Prometheus que es 90 00:18:02,930 --> 00:18:04,609 una herramienta súper versátil 91 00:18:04,609 --> 00:18:07,029 pero orientada a Kubernetes 92 00:18:07,029 --> 00:18:08,269 orientada a Cloud 93 00:18:08,269 --> 00:18:10,910 se le iba a sacar más provecho 94 00:18:10,910 --> 00:18:12,230 a este tipo de entornos 95 00:18:12,230 --> 00:18:14,750 y por otro lado por ejemplo con Nagios 96 00:18:14,750 --> 00:18:16,910 se nos quedaba también un poco corto 97 00:18:16,910 --> 00:18:17,869 porque si bien Nagios 98 00:18:17,869 --> 00:18:20,650 es bastante robusto 99 00:18:20,650 --> 00:18:23,109 si es verdad que con el paso de los años 100 00:18:23,109 --> 00:18:24,730 no tienes tanta 101 00:18:24,730 --> 00:18:26,789 estabilidad o versatilidad como 102 00:18:26,789 --> 00:18:35,210 o te lo puede ofrecer Zabbix, que en este caso Zabbix viene muy bien a la hora de monitorizar una arquitectura, 103 00:18:35,210 --> 00:18:44,789 una estructura de sistemas que sea en local, y sí que tiene opciones para escalar en la nube, 104 00:18:44,950 --> 00:18:53,049 pero no es tan potente, cabe decir, como sería por ejemplo Prometheus, pero en este caso, pues esta ha sido la razón. 105 00:18:53,049 --> 00:18:59,710 En cuanto a cómo se integran Grafana y Zabbix, ¿qué tipo de paneles configuraste y qué métricas decidiste mostrar? 106 00:19:00,630 --> 00:19:04,890 Vale, en este caso para configurar... Un momento, por favor. 107 00:19:09,009 --> 00:19:10,349 Si no te preocupes. 108 00:19:10,970 --> 00:19:16,230 Sí. Para configurar Zabbix con Grafana fue bastante sencillo. 109 00:19:16,230 --> 00:19:22,369 Se tiene que entrar en la máquina donde está instalado Zabbix Server. 110 00:19:23,049 --> 00:19:34,990 Se tiene que instalar por comandos en primer lugar el plugin de Grafana y se tiene que instalar Grafana dentro de esta misma máquina. 111 00:19:34,990 --> 00:19:54,930 Una vez que está habilitada por comandos, vamos a tener disponible el IP que se escucha por el puerto 3000, que va a tomar el IP desde esta máquina principal para poder tener la visibilidad a través del navegador web. 112 00:19:54,930 --> 00:20:13,349 Y una vez instalado de esta manera, vamos a poder tener disponible, digamos, en el propio dashboard, en la propia, perdona, en Grafana versión web, tendremos la opción disponible de habilitar esta opción con Savix. 113 00:20:13,349 --> 00:20:39,109 Generalmente tendremos que tener, además, una vez que tengamos el plugin activado, posterior a la instalación en local por medio de comandos, tenemos que integrar colocando el URL de donde está el FireDuty, el URL de FireDuty, de la versión web. 114 00:20:39,109 --> 00:21:01,390 Entonces se coloca dentro de Grafana y se tiene que colocar el usuario y la contraseña para entrar en Xavix y guardamos. De esta forma queda automáticamente ya Grafana detecta, se detecta como plugin y se detecta además como base para tomar estos datos. 115 00:21:01,390 --> 00:21:13,460 La siguiente pregunta, ¿qué rol cumple PagerDuty dentro del sistema que has montado y cómo se vincula con Zabbix para la gestión de alertas? 116 00:21:14,259 --> 00:21:41,180 Muy bien, en este caso PayerDuty es un servicio de escalado, es un servicio de alertas especialmente útil en el caso de equipos, equipos IT, sobre todo al momento de, digamos, de planificación masiva, en donde no da tiempo en muchas ocasiones de informar a todo un equipo, 117 00:21:41,180 --> 00:21:48,980 lo cual vendría bastante bien por su escalado automático y esto no te lo ofrece, por ejemplo, ni Zabbix ni Grafana. 118 00:21:49,140 --> 00:21:57,240 Generalmente, los programas habituales ofrecen la posibilidad de enviar correos electrónicos, notificación de email, 119 00:21:57,599 --> 00:22:00,119 pero no te ofrecen un sistema de escalado en cadena. 120 00:22:00,579 --> 00:22:05,759 Es decir, que entonces, o al menos, no tan eficiente como lo hace PagerDuty. 121 00:22:05,759 --> 00:22:18,019 Pero esto va a depender, en este caso, para poder hacer una detección y solventar problemas in situ de forma eficiente. Va a depender del entorno. 122 00:22:18,019 --> 00:22:45,019 Ahora bien, ¿cómo se integró Savvy Server con PayerDuty? Bastante sencillo. Primero se crea la cuenta en PayerDuty. PayerDuty tiene las opciones, tiene más de 200 opciones para integrar, perdona, tiene un gran abanico de opciones para integrar, no solamente con Savvy, tiene también con Prometheus, con muchísimas herramientas, y en este caso se elige la herramienta a relacionar, 123 00:22:45,019 --> 00:22:56,640 y genera de forma automática un código o un token y este token o este número API lo colocas a su vez en el plugin de integración en Savix. 124 00:22:57,519 --> 00:23:11,400 Generalmente esto lo que hace es crear de forma automática, relacionarlos y a su vez dentro de Savix Server se tiene que crear algo llamado webhub 125 00:23:11,400 --> 00:23:23,859 que es básicamente un comando, es un archivo de comando en formato JSON, donde ya te tiene el template de cómo va a ser utilizado, etc. 126 00:23:24,720 --> 00:23:31,599 Esto también, esto viene integrado, Savvy Servers cuenta con un montón de opciones para integrar y por esta razón, 127 00:23:32,180 --> 00:23:35,799 tanto en uno como en el otro, tenemos la opción de activar ambos plugins. 128 00:23:35,799 --> 00:23:49,960 Pero se necesita de forma obligatoria el token de referencia que te lanza Payer Duty para poder vincularlo.