Problemas de monitoreo de la canalización de datos y cómo los resolví

Durante los últimos años he estado haciendo ingeniería de datos: construyo pipelines de varios niveles de complejidad, extraigo los datos que el negocio necesita, los transformo y guardo, en general, construyo ETLs clásicos.





En este caso, se pueden esperar problemas desde cualquier lugar y en cada paso: la fuente de datos está inactiva, los datos se rompieron, la fuente cambió el formato de los datos o el acceso a ellos sin declarar la guerra, el almacenamiento es aburrido, los datos se volvieron repentinamente menos o más y muchas otras divertidas.





Para entender cómo monitorear todo esto, averigüemos quién generalmente trabaja con los datos que extraemos con tanta dificultad:





Negocios son todas aquellas personas que no son particularmente buenas en ingeniería, pero que toman decisiones importantes basadas en los datos que hemos obtenido: si aumentar los costos publicitarios, cómo aumentar rápidamente el tamaño de la audiencia para implementar una actualización, cómo trabajan varios socios, etc. .





Expertos en tecnología son ingenieros nosotros, podemos poner nuestras manos en los registros, refinar la lógica, asegúrese de que nada cae sin necesidad urgente.





Código : se lanza la siguiente canalización de la cadena, se producen transformaciones, se dibujan gráficos, etc.





Los pipelines de fecha pueden diferir ligeramente del backend clásico; si alguno de los pipelines falla, esto no significa que todo esté mal y deba ejecutarlo de inmediato, los datos pueden seguir siendo relevantes durante un tiempo determinado. Aquí dirás que el backend también puede fallar con éxito en partes, así es como es, pero en este contexto considero el backend y la canalización de datos como una entidad lógica, y no como un conjunto de microservicios y bases de datos duplicados con replicaciones.





Aquí hay unos ejemplos:





  • La canalización funciona cada 10 minutos y las personas miran los informes, en promedio, una vez por hora. La caída de uno de los trabajos no es crítica, y si la fuente de datos está inactiva, todavía no hay nada que pueda hacer al respecto.





  • , API ( Apple), , , . , , , , , - - , .





  • - - , : - , , .





ETL como es
ETL

, Airflow , , , .. , ...





:





  • Airflow ELK , , .





  • , , , , . , , .





  • , . , .. , , . , - (, ).





:





  1. , .





  2. , .





  3. , , , .





, , , , , , . , , , Sensorpad.





Vea cuánto puede medir al obtener solicitudes de webhook simples.
, , .

?





: , , http- . , , .





, , , ( ):





  • 10 ?





  • ( , > 0, ) 15% ?





  • , 20 ?





  • ?





  • ?





    , , , .





, - , , - Nomadlist, - :





Tablero del estado de los servidores Sensorpad usando Sensorpad
Sensorpad Sensorpad

- , , .





-, , -, , . , , , , , .







:





  • ( , -);





  • , 25 ;





  • ( 53 - );





:





  • ;





  • ;





  • ;





, , , -, - .





?





  1. , , .





  2. - , :





    df -h |grep vda1 | awk  '{ print $5 }'| sed 's/.$//' | xargs -I '{}' curl -G "https://sensorpad.link/< ID>?value={}" > /dev/null 2>&1
          
          



  3. , : ( , , , , )





  4. , .





  5. .





  6. .





?





:





  • , 80% ;





  • cron-, cron- ;





  • chain-, , ;





lo principal en nuestro negocio es no complicar las interfaces
-

, ( js) , , Curl :





Comida para perros en acción

- , .





Incluso puedes elegir un icono

: , " ", "- ", " ", , - .





, , - : .





, . , True, . , - , .





Reglas para monitorear el espacio en disco

, .





, : " Warning, 5 , 10 ".





:





?

. - . - cron jobs, , ( , , ):





  • Cron job, Airflow DAG ;





  • 20% ;





  • 2 ;





  • 1 (, );





  • 2 ( );





  • 20 ( 5, - ).





, , , .





- !

. sensorpad , , (, , ). : , , .





Algunos gráficos útiles y no tan útiles
Algunos gráficos útiles y no tan útiles

Estoy pensando en agregar la capacidad de buscar a tientas estas páginas usando un enlace secreto fuera de la cuenta, entonces esa página no se puede usar peor que cualquier página de estado.





He aquí un concepto. ¿Lo que falta?






Sensorpad es un proyecto de fin de semana que se hizo en tiempo libre de la obra principal, sin mucha inversión y hasta en una sola persona, por eso la opinión de la comunidad es tan importante para mí: ¿cómo te gusta? ¿Qué agregar, qué mejorar, si seguir desarrollándose?





Tocalo en vivo, al mismo tiempo, mira cómo es mi mamá una diseñadora de páginas de destino: https://sensorpad.io








All Articles