Equa ion Chap e 1 Sec ion 1
T abajo Fin de G ado
G ado en Ingenie ía de las Tecnologías de
Telecomunicación
He amien a pa a la moni o ización de edes p i adas
basada en sondas
Au o : Alejand o Rod íguez Cha a ía
Tu o : Vicen e Jesús Mayo Gallego
Dp o. Ingenie ía Telemá ica
Escuela Técnica Supe io de Ingenie ía
Uni e sidad de Se illa
Se illa, 20
2
5
II
III
T abajo Fin de G ado
G ado en Ingenie ía de las Tecnologías de Telecomunicación
He amien a pa a la moni o ización de edes
p i adas basada en sondas
Au o :
Alejand o Rod íguez Cha a ía
Tu o :
Vicen e Jesús Mayo Gallego
P o eso Ayudan e Doc o
Dp o. de Ingenie ía Telemá ica
Escuela Técnica Supe io de Ingenie ía
Uni e sidad de Se illa
Se illa, 2025
IV
V
T abajo Fin de G ado: He amien a pa a la moni o ización de edes p i adas basada en sondas
Au o : Alejand o Rod íguez Cha a ía
Tu o : Vicen e Jesús Mayo Gallego
El ibunal nomb ado pa a juzga el P oyec o a iba indicado, compues o po los siguien es miemb os:
P esiden e:
Vocales:
Sec e a io:
Acue dan o o ga le la cali icación de:
Se illa, 2025
El Sec e a io del T ibunal
VI
VII
A mi amilia
A mis maes os
A mis compañe os
VIII
IX
Ag adecimien os
El hecho de esc ibi es as líneas y la p esen e memo ia signi ica un hi o muy impo an e en mi ida en odos los
ámbi os. Todo se emon a a una a de de e ano de 2019, cuando ecién acabado Bachille a o y sin sabe que
ha ía en el u u o, comenzó es e iaje en el momen o que descub í la ingenie ía de elecomunicaciones. Fue
g acias a una di e ida his o ia, pe o sob e odo a mi in e és po las ecnologías desde pequeño po lo que decidí
aden a me en es a e apa an desa ian e. Una e apa que es á po inaliza muy p on o y que me con e i á en un
p o esional dedicado al campo de las elecomunicaciones, un obje i o que pe sigo desde el p ime día que es u e
en la Escuela Técnica Supe io de Ingenie ía de Se illa.
Es os años han es ado llenos de expe iencias, posi i as y nega i as, que me han hecho desa olla me en lo
pe sonal y no solo en lo académico, pe o sob e odo han es ado llenos de mucho ap endizaje y conocimien o
que cada ez más me hacen sen i me o gulloso de la decisión que omé al elegi es e g ado. Expe iencias que
me han enseñado que las cosas pueden llega a cos a mucho (más de lo que uno piensa), pe o que cuando las
consigues es de las mejo es sensaciones que se pueden ene , no hay nada an g a i ican e como ap oba ese
examen que an os in en os e ha cos ado. Pe o po supues o no odo es un camino ácil, de ás de odos los
log os conseguidos has a aho a quedan ambién días du os de mucho abajo y poco descanso, ambién
momen os de es és y mucha us ación.
Quie o ag adece eno memen e y de co azón a mis pad es, po que hoy nada se ía igual sin ellos. Su incansable
es ue zo y sac i icio pa a pode ayuda me odos es os años es á siendo muy impo an e y es á consiguiendo que
el día de mañana me con ie a en ingenie o.
No me puedo ol ida de mi he mano y Lau a, que g acias a ellos u e donde pasa mi p ime año en Se illa
ue a de casa pa a pode i cada día a la escuela. G acias a ellos empecé a ap ende a maneja me po mí solo en
el día a día y se me hizo más ácil adap a me a i i en una ciudad.
Mis más since os ag adecimien os al es o de mis amilia es, que me han ayudado cuando lo he necesi ado. Y a
mis abuelos po educa me desde pequeño jun o a mis pad es y hace que hoy sea como soy.
G acias a mis amigos y compañe os, con los que he compa ido momen os de es udio, exámenes, pe o sob e
odo muchas isas. Los p ime os años ue on los más amenos g acias a ellos, y hacían que las semanas ue an
más en e enidas. T is emen e, no hemos seguido el mismo i mo es os úl imos años y su al a se ha no ado. Pe o
cada año han ido su giendo nue as amis ades de las que es oy muy eliz. Es oy segu o de que consegui án su
obje i o, y espe o que nues os caminos se uel an a c uza p o esionalmen e como ya pasó du an e el g ado.
Mis más p o undos ag adecimien os a odos mis p o eso es y maes os desde que e a pequeño, po enseña me
lo que es el es ue zo y la cons ancia y po descub i nos el mundo con sus enseñanzas y conocimien os, pe o
sob e odo po mo i a nos a busca nues o p opósi o en la ida. Quie o hace mención especial a los g andes
p o esionales que he enido como p o eso es en es e g ado, especialmen e a Juan Manuel Vozmediano y mi
u o Vicen e Jesús, que han hecho que me apasione po la elemá ica. También quie o ag adece a mi u o po
su ayuda con es e p oyec o y a Ál a o, au o de docke lab, po ayuda me con el uso de su he amien a.
Po úl imo, g acias a Belén, una pe sona que me ha cambiado la ida desde que nos conocimos y que es á siendo
un apoyo incondicional desde en onces en mi anscu so po es e g ado, an o en lo emocional como en lo
académico. Una pe sona en idiable y encan ado a, y que o gullosamen e digo que es la mejo ingenie a de
elecomunicaciones del mundo.
Alejand o Rod íguez Cha a ía
Se illa, 2025
XVI
ÍNDICE DE TABLAS
Tabla 1–1. Tabla compa a i a de las dis in as he amien as de moni o ización 4
Tabla 1–2. Du aciones de las ases del p oyec o 6
Tabla 2–1. RF-001 7
Tabla 2–2. RF-002 8
Tabla 2–3. RF-003 8
Tabla 2–4. RF-004 8
Tabla 2–5. RF-005 9
Tabla 2–6. RF-006 9
Tabla 2–7. RF-007 9
Tabla 2–8. RF-008 10
Tabla 2–9. RF-009 10
Tabla 2–10. RF-010 10
Tabla 2–11. RF-011 11
Tabla 2–12. RNF-001 11
Tabla 2–13. RNF-002 11
Tabla 2–14. RNF-003 12
Tabla 2–15. RNF-004 12
Tabla 2–16. RNF-005 12
Tabla 2–17. RNF-006 13
Tabla 2–18. RNF-007 13
Tabla 2–19. Tabla de de inición de la API REST 20
XVII
XVIII
ÍNDICE DE ILUSTRACIONES
Ilus ación 2–1. Esquema escena io eal 14
Ilus ación 2–2. Diag ama de secuencia del handshake inicial 16
Ilus ación 2–3. Diag ama de secuencia de la ope ación del sis ema 18
Ilus ación 2–4. Diag ama de secuencia de la au en icación de la sonda 19
Ilus ación 3–1. Diag ama de lujo del coo dinado 22
Ilus ación 3–2. Diag ama de lujo de la sonda 27
Ilus ación 3–3. Es uc u a gene al de di ec o ios 39
Ilus ación 3–4. Es uc u a de /escena io1 40
Ilus ación 3–5. Es uc u a de /escena io2 41
Ilus ación 3–6. Es uc u a de /escena io3 42
Ilus ación 3–7. Es uc u a de /s cdocke 43
Ilus ación 4–1. Esquema escena io 1 49
Ilus ación 4–2. Es ado inicial de /escena io1 50
Ilus ación 4–3. Ejecución del escena io 1 50
Ilus ación 4–4. Te minales del escena io 1 50
Ilus ación 4–5. Fiche os gene ados en el escena io 1 51
Ilus ación 4–6. Esquema escena io 2 51
Ilus ación 4–7. Es ado inicial de /escena io2 52
Ilus ación 4–8. C eación del escena io 2 52
Ilus ación 4–9. Es ado inal de /escena io2 52
Ilus ación 4–10. Despliegue de los con enedo es 53
Ilus ación 4–11. Logs del coo dinado y las sondas 53
Ilus ación 4–12. Volúmenes c eados y su con enido 54
Ilus ación 4–13. Esquema escena io 3 54
Ilus ación 4–14. C eación del escena io 3 55
Ilus ación 4–15. Logs del coo dinado en el escena io 3 55
XIX
XX
ÍNDICE DE CÓDIGOS
Código 3–1. Impo s y a iables globales del coo dinado 22
Código 3–2. Función ecei eKeepali e() 23
Código 3–3. Función sendToken() 23
Código 3–4. Función sendCon ig() 24
Código 3–5. Función ecibeIn o me() 24
Código 3–6. Función en ia Tu no() 25
Código 3–7. Función uncIpe () 25
Código 3–8. Función checkAli e() 25
Código 3–9. A anque del p og ama 26
Código 3–10. Impo s y a iables globales de la sonda 27
Código 3–11. Función ini P obe() 28
Código 3–12. Función ge Token() 28
Código 3–13. Función ge Con ig() 28
Código 3–14. Función manda Keepali e() 29
Código 3–15. Función p uebaICMP() 29
Código 3–16. Función p uebaDNS() 30
Código 3–17. Función p uebaTCP() 30
Código 3–18. Función p uebaHTTP() 31
Código 3–19. Función p uebaIpe () 32
Código 3–20. A anque del p og ama 33
Código 3–21. Fiche o de con igu acion de p uebas 34
Código 3–22. Fiche o de con igu ación de la ed Docke del escena io 2 35
Código 3–23. Fiche o de con igu ación de la ed Docke del escena io 3 35
Código 3–24. Fiche o equi emen s. x 37
Código 3–25. Shell-sc ip c ea.sh 43
Código 3–26. Shell-sc ip ejecu a.sh 44
Código 3–27. Shell-sc ip elimina.sh 45
Código 3–28. Volúmenes del coo dinado 46
Código 3–29. Volúmenes de la sonda 46
XXI
1
1 INTRODUCCIÓN
as edes de comunicación son esenciales en el mundo mode no, acili ando la conexión y el in e cambio
de da os en e disposi i os a ni el global. Es as edes aba can desde las edes de á ea local (LAN), que
in e conec an disposi i os den o de un mismo espacio ísico como una o icina o un hoga , has a las edes
de á ea amplia (WAN), que cub en g andes dis ancias y pe mi en la comunicación en e dis in as egiones o
países. En es e as o ecosis ema, las edes p i adas juegan un papel c ucial al p opo ciona un en o no segu o y
exclusi o pa a la ansmisión de da os den o de una o ganización o g upo especí ico, ga an izando la p o ección
de la in o mación y el con ol sob e el acceso a los ecu sos compa idos.
Es e T abajo de Fin de G ado p esen a una he amien a diseñada pa a la moni o ización de edes p i adas,
Ne Wa che . U ilizando sondas dis ibuidas que ealizan p uebas de endimien o de la ed pe iódicamen e,
midiendo pa áme os como la encia y ancho de banda, en e o os. Los esul ados ob enidos po es os equipos
se en ían a un equipo coo dinado cen al, que lle a á un egis o de es os esul ados dis inguiendo el o igen de
cada p ueba. Implemen ado con Py hon, Flask y Docke , es e sis ema acili a la con igu ación, análisis y
op imización de edes, mejo ando la ges ión y la de ección de p oblemas en en o nos p i ados.
1.1. Obje i os
La inalidad de es a he amien a es pe mi i la moni o ización y es udio de edes p i adas pa a ob ene
conclusiones del endimien o de la ed. Con es o podemos ealiza unciones elacionadas con la ges ión de edes
pa a man ene las y mejo a el endimien o de és as. Los obje i os más des acados se ían:
De ección de P oblemas de Rendimien o: La he amien a ealiza p uebas pe iódicas de endimien o
midiendo pa áme os como la la encia o el ancho de banda pa a iden i ica posibles cuellos de bo ella o
deg adaciones en el se icio. De ec a es os p oblemas de mane a emp ana pe mi i á a los adminis ado es
de ed oma medidas co ec i as an es de que a ec en signi ica i amen e a los usua ios.
Op imización de Recu sos: Al analiza los da os ecopilados, la he amien a puede p opo ciona
in o mación sob e el endimien o de la ed, pe mi iendo a los adminis ado es ajus a la asignación de
ecu sos y op imiza el endimien o gene al. Es o puede inclui la edis ibución de ancho de banda, la
op imización de con igu aciones de ed y la ac ualización de ha dwa e o so wa e.
Análisis de Tendencias: La he amien a pe mi e ealiza un seguimien o his ó ico del endimien o de la
ed, acili ando el análisis de endencias y pa ones a lo la go del iempo. Es e análisis puede ayuda a
p edeci p oblemas u u os, plani ica mejo as y e alua el impac o de cambios ecien es en la ed.
Gene ación de In o mes De allados: La capacidad de gene a in o mes de allados sob e el es ado y el
endimien o de la ed ayuda a los adminis ado es a comp ende mejo las condiciones ac uales y a oma
decisiones basadas en da os conc e os. Es os in o mes pod ían inclui mé icas cla e, g á icos de
endimien o y análisis de p oblemas ecu en es.
P e ención de Fallos: Al iden i ica anomalías y p oblemas de mane a p oac i a, la he amien a ayuda
a p e eni allos g a es en la ed. La de ección emp ana de p oblemas pe mi e implemen a soluciones
an es de que se con ie an en allos c í icos que pod ían a ec a la ope a i idad de la ed.
L
Cualquie ecnología lo su icien emen e a anzada es
indis inguible de la magia.
- A hu C. Cla ke -
In oducción
2
2
Mejo a Con inua: La e oalimen ación ob enida del análisis de da os acili a la implemen ación de
es a egias de mejo a con inua. Los adminis ado es pueden así ajus a las con igu aciones de ed, ac ualiza
equipos y modi ica polí icas en unción de la in o mación ob enida pa a asegu a que la ed se man enga
en óp imas condiciones.
1.2. Es ado del A e
Veamos a con inuación he amien as simila es de moni o ización y en que se di e encian y asemejan del
p oyec o ealizado pa a es e T abajo Fin de G ado. Lo compa a emos con es he amien as muy u ilizadas hoy
en día, mos ando las p incipales ca ac e ís icas en una abla compa a i a pa a mayo isualización y cla idad
de las di e encias y simili udes.
1.2.1 Up imeRobo
Up imeRobo es un se icio de moni o eo de si ios web que pe mi e a los adminis ado es y desa ollado es
con ola el es ado de sus páginas y aplicaciones en línea. Su p opósi o p incipal es asegu a se de que un si io
web es é uncionando co ec amen e y no i ica a los usua ios si el si io expe imen a algún iempo de inac i idad
o in e upciones en el se icio. U iliza nodos moni o es dis ibuidos po el mundo pa a minimiza los allos de
p ecisión que pudie an ocu i en las mediciones. Es e se icio no exige apenas endimien o a los equipos ya
que es á desplegado en la nube y posee una web con una in e az de usua io amigable que pe mi e segui la
moni o ización en iempo eal.
Up imeRobo e i ica pe iódicamen e si el si io web, se ido o se icio moni o izado es á en línea y
uncionando co ec amen e. Además, es capaz de medi mé icas de HTTP/S, ping, DNS, pue os TCP, palab as
cla e de un si io web (keywo ds), SSL, c on jobs y pa áme os SNMP.
También puede en ia ale as ins an áneas po a ios medios (co eo elec ónico, SMS, e c) cuando un si io web
se cae o uel e a es a en línea. Además, p opo ciona in o mes de allados sob e la ac i idad y es ado del si io
web, ayudando a analiza el endimien o gene al e iden i ica pa ones de allos.
Dispone de una API que pe mi e a los desa ollado es implemen a el se icio en aplicaciones y he amien as
p opias, y además o ece dis in os planes de susc ipción p emium con di e en es en ajas, incluyendo ambién
un plan g a ui o. [4]
1.2.2 Up ime-Kuma
Up ime-Kuma es una he amien a de moni o eo de up ime de código abie o, diseñada pa a pe mi i a los
usua ios moni o ea la disponibilidad de si ios web y se icios de una mane a ácil y pe sonalizable. Su
popula idad ha c ecido debido a su in e az amigable y la lexibilidad que o ece al se au oalojada. Up ime-
Kuma es ela i amen e li iano y puede ejecu a se en se ido es de baja especi icación, como una Raspbe y Pi
o se ido es i uales pequeños (VPS). Sin emba go, pa a g andes in aes uc u as, se ecomienda un se ido
con más ecu sos, especialmen e si se moni o ean muchos se icios en in e alos co os.
Gene almen e la ins alación es en local, pudiendo se desplegado en Docke o en el p opio equipo. En es e úl imo
caso son necesa ios una se ie de equisi os pa a su co ec a ins alación, que pueden consul a se en el eposi o io
o icial cuyo enlace se encuen a en la bibliog a ía de es e documen o. En el eposi o io ambién se encuen an
los pasos a segui pa a log a la ins alación en ambos casos. También puedes desplega Up ime-Kuma en
se ido es cloud como AWS, Digi alOcean, Linode, o cualquie p o eedo de VPS, siemp e que puedas ejecu a
con enedo es Docke o Node.js.
Es a he amien a es comple amen e g a ui a, ya que se a a de un p oyec o de código abie o. La única in e sión
eque ida se ía la del se ido donde se aloje.
Todas las comp obaciones y moni o eos se ealizan desde el se ido en el que es á ins alado. Es o signi ica que
el moni o eo p o iene de una única ubicación, lo cual puede se su icien e pa a muchos casos de uso, pe o puede
no de ec a p oblemas egionales en di e en es pa es del mundo. No obs an e, dado que es au oalojado, puedes
con igu a múl iples ins ancias en di e en es ubicaciones pa a simula una ed de sondas dis ibuidas.
3
3
He amien a pa a la moni o ización de edes p i adas basada en sondas
Up ime-Kuma iene una in e az web muy mode na y ácil de usa , donde se pueden e odas las mé icas y
se icios que es án siendo moni o izados. Además, o ece g á icos y isualizaciones de los da os his ó icos de
up ime, lo que acili a la iden i icación de pa ones o p oblemas de disponibilidad. También es capaz de gene a
ale as y no i ica las po una g an a iedad de medios (+90).
Po úl imo, mide mé icas de HTTP/S (en e ellas, keywo ds y JSON que ies), TCP, ping, DNS, push, se ido es
de S eam y con enedo es Docke . [5]
1.2.3 G a ana
G a ana es una pla a o ma de código abie o u ilizada pa a la obse ación, moni o eo y análisis de da os,
especialmen e diseñada pa a c ea paneles isuales in e ac i os que pe mi en a los usua ios isualiza mé icas
en iempo eal y a lo la go del iempo. G a ana es al amen e pe sonalizable y lexible, lo que lo con ie e en una
he amien a undamen al en en o nos de moni o eo de in aes uc u a y aplicaciones. Una de sus mayo es
o alezas es que pe mi e a los usua ios ex ae da os de múl iples uen es, ag ega los y isualiza di e en es
mé icas cla e en un único panel de con ol.
Puede ejecu a se en en o nos an o de baja como de al a complejidad. Los equisi os de ha dwa e dependen en
g an medida del amaño de la in aes uc u a que se desee moni o iza y la can idad de da os que se ges ionen.
Pa a implemen aciones pequeñas, un se ido modes o con 2-4 GB de RAM suele se su icien e. Sin emba go,
pa a en o nos de moni o eo g andes con a ias uen es de da os y al a ecuencia de consul as, se ecomienda
u iliza ha dwa e más obus o, como se ido es con más núcleos de CPU y mayo can idad de memo ia RAM.
G a ana puede ins ala se en se ido es locales u ilizando dis ibuciones de Linux, Windows, o con enedo es
Docke . También es á disponible como se icio en la nube (G a ana Cloud), y en clús e es de Kube ne es.
Es g a ui o y de código abie o, pe o ambién o ece planes de pago con ca ac e ís icas a anzadas. La e sión
g a ui a open-sou ce o ece odas las uncionalidades básicas, lo que incluye la c eación de paneles y ale as,
jun o con la in eg ación de múl iples uen es de da os. Los planes incluyen uncionalidades adicionales como
mayo e ención de da os, usua ios ilimi ados, ale as a anzadas y sopo e écnico p io i a io. Los planes de
pagos es án diseñados pa a emp esas que necesi an escalabilidad y unciones emp esa iales.
G a ana no es á basado di ec amen e en sondas (como en o os sis emas de moni o eo), pe o puede se usado en
conjun o con sis emas que sí u ilizan sondas, como P ome heus. Es o pe mi e moni o iza aplicaciones
dis ibuidas y ob ene da os desde di e en es ubicaciones geog á icas y edes. P ome heus u iliza sondas pa a
ecolec a da os de di e en es pa es del sis ema, que luego son isualizados y ges ionados den o de G a ana.
Uno de sus pun os ue es es la in e az de usua io web que posee, al amen e in ui i a y pe sonalizable. Pe mi e
a los usua ios c ea paneles que mues an isualizaciones in e ac i as de los da os en iempo eal. Además,
G a ana pe mi e compa i paneles con o os usua ios.
G a ana puede isualiza una amplia gama de mé icas según las uen es de da os conec adas, como la
disponibilidad y el endimien o de si ios web y APIs a a és de HTTP/S, la co ec a esolución de egis os
DNS, y di e sas mé icas del sis ema ope a i o como CPU, memo ia y disco. Además, puede mos a logs de
aplicaciones, especialmen e cuando se in eg a con Loki, moni o iza consul as SQL y el endimien o de bases
de da os, y abaja e icazmen e con bases de da os de se ies empo ales como P ome heus, que cap u a da os a
lo la go del iempo. También pe mi e añadi mé icas pe sonalizadas po el usua io median e sus in eg aciones.
[6]
1.2.4 Ne Wa che
De allemos en más p o undidad las ca ac e ís icas del p oyec o desa ollado pa a es e T abajo Fin de G ado.
Ne Wa che es una he amien a de moni o ización de edes p i adas basada en sondas, es á pensada pa a
desplega se en a ias sondas si uadas en dis in os luga es de la ed, aunque ambién se puede implemen a en
un en o no Docke . Su desa ollo es mo i o de la necesidad de es udia el endimien o de las edes p i adas,
midiendo pa áme os de impo ancia, ealizando p uebas con cada sonda y ecolec ando los esul ados de és as
en el equipo del coo dinado .
Puede desplega se en casi cualquie equipo, pues no equie e un g an endimien o po pa e de és os. Además,
posee una in e az de usua io in e ac i a y simple usando la línea de comandos.
Diseño
10
10
Es ado Implemen ado
Tabla 2–8. RF-008
RF-009 De ención del uncionamien o
Desc ipción Una sonda debe á pa a sus p ocesos si se in oduce ‘q’ po eclado. En el caso del
coo dinado , se ha á con la combinación de eclas C l+C
Da os especí icos Si una sonda o el coo dinado es un con enedo de Docke , se de end á con C l+C.
Impo ancia Baja
P io idad Baja
Es ado Implemen ado
Tabla 2–9. RF-009
RF-010 Gene ación de in o mes
Desc ipción El coo dinado gene a á un in o me po cada ipo de p ueba con los da os de las
mé icas medidas en las p uebas po cada sonda
Da os especí icos
Cada in o me pe mi i á dis ingui qué sonda ha mandado sus esul ados
Cada sonda en ia á los esul ados de cada p ueba cada ez que se ealicen,
además de la echa y ho a en que se comple ó la p ueba
Impo ancia Muy al a
P io idad Al a
Es ado Implemen ado
Tabla 2–10. RF-010
RF-011 Ges ión de u nos de la p ueba Ipe
Desc ipción El coo dinado ges iona á cuando le oca a cada sonda ealiza la p ueba de Ipe
Da os especí icos
Debido a la na u aleza de Ipe , es necesa io que sólo 1 sonda ealice la p ueba al
mismo iempo. Po an o, el coo dinado se enca ga á de c ea una lis a de espe a
con u nos pa a man ene un o den, pe mi iendo que las p uebas Ipe se comple en
co ec amen e
Impo ancia Muy al a
P io idad Al a
Es ado Implemen ado
11
11
He amien a pa a la moni o ización de edes p i adas basada en sondas
Tabla 2–11. RF-011
2.1.2 No uncionales
En cuan o a los equisi os no uncionales, aquellos que de inen ca ac e ís icas de calidad o es icciones écnicas
del sis ema, con amos con los siguien es:
RNF-001 Uso de la he amien a
Desc ipción La he amien a se pod á usa median e línea de comandos
Da os especí icos Con la línea de comandos pod emos mon a cada uno de los escena ios, ejecu a los
y ambién bo a los
Impo ancia Muy al a
P io idad Al a
Es ado Implemen ado
Tabla 2–12. RNF-001
RNF-002 Docke
Desc ipción Se á necesa io el uso de Docke y docke -compose pa a algunos escena ios
Da os especí icos
Pa a el escena io 2 y 3 se hace uso de Docke , de o ma que se usa una ed de
con enedo es donde a ios de ellos end án el ol de sonda y sólo uno el ol de
coo dinado
Impo ancia Muy al a
P io idad Al a
Es ado Implemen ado
Tabla 2–13. RNF-002
RNF-003 Es ado de las sondas
Desc ipción Se comp oba á pe iódicamen e el es ado de las sondas (up/down)
Da os especí icos
El coo dinado comp ueba cada 18 segundos el es ado de cada sonda median e los
mensajes Keep-Ali e ecibidos de cada una, ealizando acciones conc e as con cada
sonda según su es ado
Impo ancia Al a
P io idad Al a
Diseño
12
12
Es ado Implemen ado
Tabla 2–14. RNF-003
RNF-004 A chi os de con igu ación
Desc ipción Se equie en algunos a chi os de con igu ación en o ma o yml
Da os especí icos
Es necesa io un a chi o de con igu ación pa a es ablece como an a se las p uebas
que ealicen las sondas.
Pa a los escena ios 2 y 3, se necesi a un a chi o de con igu ación pa a cada uno, que
de ini án las ca ac e ís icas del escena io como can idad de nodos, IPs, e c
Impo ancia Al a
P io idad Media
Es ado Implemen ado
Tabla 2–15. RNF-004
RNF-005 Comunicación sonda-coo dinado
Desc ipción La comunicación en e las sondas y el coo dinado ha á uso de una API REST Flask
Da os especí icos
Las sondas se comunica án median e la API con el coo dinado pa a las siguien es
unciones:
Solici ud de oken
Solici ud de con igu ación de p uebas
En ío de mensajes Keep-Ali e
En ío de in o mes de p uebas
Solici ud de u nos pa a la p ueba de Ipe
Impo ancia Muy al a
P io idad Al a
Es ado Implemen ado
Tabla 2–16. RNF-005
RNF-006 Compo amien o no bloquean e
Desc ipción Las di e en es unciones de sonda y coo dinado se ges iona án median e hilos
Da os especí icos
Al inicia la ejecución de la sonda y coo dinado , cada uno debe á a anca los hilos
que engan de inidos. Al inaliza la ejecución, los hilos se de end án de mane a
o denada median e la unción join().
13
13
He amien a pa a la moni o ización de edes p i adas basada en sondas
Se debe án usa los hilos, en la medida de lo posible, pa a las unciones que
desempeñan an o las sondas como el coo dinado . Pa a las unciones elacionadas
con Ipe hay que usa la lib e ía Mul ip ocessing, ya que con hilos no se log a
de ene de la mane a espe ada.
Impo ancia Muy al a
P io idad Al a
Es ado Implemen ado
Tabla 2–17. RNF-006
RNF-007 Implemen ación de p uebas pa a a ios casos de uso
Desc ipción Docke lab es una he amien a Docke u ilizada pa a gene a el docke -compose
Da os especí icos
Es necesa io el uso de Docke lab pa a pode gene a el docke -compose que
le an a á los con enedo es necesa ios en los escena ios 2 y 3. Reque i á la exis encia
de un a chi o .yml de con igu ación que con end á los da os necesa ios pa a de ini
es os escena ios o pa e de ellos.
Impo ancia Muy al a
P io idad Al a
Es ado Implemen ado
Tabla 2–18. RNF-007
2.1.3 Fue a del alcance
Todo el sis ema se ha diseñado pa a unciona a a és de una in e az de línea de comandos (CLI), con
almacenamien o local de los esul ados en o ma o ex o (. x ), sin eque i in aes uc u a ex e na ni
componen es isuales complejos.
No obs an e, dada la limi ación de iempo, ecu sos y el en oque académico del p oyec o, se han dejado ue a
del alcance a ios aspec os que, si bien en iquece ían la solución inal, no e an esenciales pa a el cumplimien o
de los obje i os undamen ales. A con inuación, se de allan los p incipales elemen os excluidos:
In e az g á ica de usua io (GUI): Una de las p incipales ca encias del sis ema es la ausencia de una
in e az g á ica amigable y isual. Aunque la CLI p opo ciona una in e acción uncional, no esul a la
opción más in ui i a pa a usua ios sin expe iencia écnica. El desa ollo de una GUI pe mi i ía, po ejemplo,
una ges ión más accesible y e icien e de las sondas, la con igu ación de p uebas y la isualización en iempo
eal de los esul ados.
Pe sis encia a anzada de da os y backups: Ac ualmen e, los da os gene ados po las sondas se
almacenan localmen e en a chi os de ex o simples, lo que limi a la escalabilidad, la consul a e icien e de
his ó icos y la in eg ación con o as he amien as. La implemen ación de una base de da os cen alizada
pe mi i ía una mejo ges ión de los da os, además de posibili a la ejecución de copias de segu idad
au omá icas y la ecupe ación an e allos del sis ema.
Visualización a anzada de esul ados: O a uncionalidad excluida es la gene ación de isualizaciones
g á icas (g á icas de línea, de ba as, e c.) que pe mi i ían in e p e a los da os de o ma más in ui i a. Es a
ca ac e ís ica se ía especialmen e ú il pa a iden i ica pa ones de compo amien o, de ec a anomalías en la
ed o ealiza análisis compa a i os a lo la go del iempo.
Diseño
14
14
Sis ema de ale as y no i icaciones: Aunque las sondas de ec an incidencias, no se ha implemen ado un
sis ema au omá ico de ale as que in o me al usua io en iempo eal median e co eo elec ónico, mensaje ía
o cualquie o o canal. Es e ipo de uncionalidad es esencial en en o nos de p oducción pa a una espues a
ápida an e allos c í icos.
Ges ión emo a de las sondas: La con igu ación y ejecución de las p uebas debe ealiza se ac ualmen e
de o ma local en cada equipo. Un sis ema de ges ión cen alizada y emo a de las sondas pe mi i ía una
mayo lexibilidad, acili ando su adminis ación desde el equipo coo dinado sin necesidad de acceso ísico
a cada nodo.
Segu idad y au en icación: El p oyec o no con empla mecanismos a anzados de segu idad en la
comunicación en e sondas y el coo dinado , ni au en icación de usua ios. Pa a un en o no eal pod ía se
undamen al implemen a ci ado de da os, au en icación de disposi i os y con ol de accesos.
2.2. A qui ec u a
Pa a alida el uncionamien o del sis ema desa ollado, se han diseñado y p obado es escena ios dis in os que
pe mi en e alua el compo amien o del sis ema en con igu aciones de complejidad c ecien e. Es os escena ios
no solo pe mi en comp oba la comunicación en e sondas y el coo dinado en di e en es condiciones, sino
ambién obse a cómo escala el sis ema y cómo esponde en en o nos más ealis as que simulan una ed
dis ibuida.
En odos los casos, el sis ema sigue el mismo p incipio de uncionamien o: las sondas ejecu an p uebas
p ede inidas y en ían los esul ados al coo dinado , que cen aliza la ecogida de da os.
Al in y al cabo, es e p oyec o a a de simula el compo amien o del sis ema desa ollado en escena ios eales,
po lo que los escena ios ealizados no end án una p ecisión exac a, pe o si se ap oxima án en g an medida a
un escena io eal. Téngase en cuen a que hay muchísimas con igu aciones posibles dado que el escena io se
puede hace an complejo como se quie a. La siguien e ilus ación mues a una posibilidad de como pod ía
desplega se el sis ema en la ealidad:
Ilus ación 2–1. Esquema escena io eal
Es e ejemplo mues a las siguien es ca ac e ís icas:
El coo dinado pod ía ci a sus conexiones hacia el ex e io haciendo uso de un p oxy HTTPS, mien as
que las sondas pueden es a as una NAT. Es e p oxy y la NAT se pueden implemen a en el despliegue,
po an o, su implemen ación no se á pa e del desa ollo de es e p oyec o.
Es o se ía una a qui ec u a lógica si nues o coo dinado es a ue a de la ed donde se encuen an las
sondas, es ando po ejemplo alojado en un en o no cloud. Pod ía ene ambién sondas en su misma
15
15
He amien a pa a la moni o ización de edes p i adas basada en sondas
sub ed, si po ejemplo ese en o no cloud es p i ado y pe enecie a a la misma o ganización a la que
pe enece el coo dinado .
Tan o las sondas como el coo dinado se comunican po API REST usando HTTP, además las sondas
hacen algunas p uebas median e es e p o ocolo, po lo que el uso de un p oxy que ci e las conexiones
es muy ecomendable si los elemen os es án epa idos po dis in as zonas geog á icas y sus
comunicaciones a a iesan la ed pública.
2.3. Desc ipción de los p ocedimien os
En es e apa ado se desc iben los di e en es p ocedimien os que lle an a cabo los componen es del sis ema
desa ollado. El sis ema es á compues o po un coo dinado o se ido y a ias sondas o clien es, los cuales
ealizan an o a eas indi iduales como p ocesos coo dinados pa a alcanza los obje i os de uncionamien o
de inidos. Cada elemen o cumple unciones especí icas, pe o ambién in e ac úan en e sí a a és de
mecanismos de comunicación, o mando un conjun o in eg ado y coope a i o. A con inuación, se de allan
algunos de los p ocedimien os implemen ados, que pe mi en ga an iza la comunicación sonda-coo dinado y
el co ec o uncionamien o del sis ema comple o.
2.3.1 Handshake inicial
Es e p ocedimien o es el p ime o que ealiza la sonda al a anca . La siguien e ilus ación mues a de o ma
isual como sucede es e p oceso en e la sonda y el coo dinado .
Cuando la sonda a anca comp ueba si exis e el a chi o oken. x , en caso a i ma i o con inúa la ejecución, pe o
si el a chi o no exis e, lo c ea. Es e a chi o almacena el oken de la sonda, el cuál es gene ado y en iado po el
coo dinado .
Lo siguien e en sucede es la comp obación del oken, si en oken. x no exis e un oken, la sonda solici a uno al
coo dinado , que lo c ea y lo de uel e. Si exis e un oken en oken. x , la sonda lo ca ga á y no necesi a á solici a
uno nue o.
A con inuación, la sonda solici a al coo dinado la con igu ación de las p uebas, es o es, da os necesa ios que
necesi a la sonda pa a pode ealiza los dis in os ipos de p uebas. Además, en la misma solici ud, la sonda en ía
su oken como pa áme o, que el coo dinado usa á pa a e i ica si esa sonda iene au o ización pa a ecibi la
con igu ación. Si la sonda es á au o izada, el coo dinado le en ia á la con igu ación, que con iene un id.
Po úl imo, la sonda manda un mensaje HELLO ipo Keep-Ali e con una solici ud en la que manda los
pa áme os ‘msg’ e ‘id’. Con es e mensaje el coo dinado pod á e i ica el es ado de la sonda (ope a i a o no
ope a i a). Es e mensaje se epi e cada 15 segundos y a pa i de es e ins an e la sonda ealiza epe idamen e el
es o de sus p ocesos has a que se de enga.
Diseño
16
16
Ilus ación 2–2. Diag ama de secuencia del handshake inicial
2.3.2 Ope ación
La ope ación del sis ema cons a de a ios p ocesos ealizándose simul áneamen e, an o en las sondas como en
el coo dinado . Es a pa e del uncionamien o es la más impo an e pues en ella se ealizan odas las unciones
p incipales del sis ema, que son hace las p uebas y en ia los esul ados.
Vamos a i explicando la siguien e ilus ación que mues a un diag ama de secuencia simpli icado de lo que
ocu e en cada momen o. Téngase en cuen a que odos los bloques de loop se ejecu an a la ez, ya que el sis ema
se ha diseñado pa a que ealice odas las p uebas al mismo iempo, jun o con o as unciones. Po an o, podemos
igno a el o den que siguen es os bloques en la ilus ación.
La ilus ación ep esen a algunos alo es y pa áme os conc e os, es o es po que así se ha p obado du an e el
desa ollo, pe o no implica que solo sean álidos esos alo es, ya que son comple amen e modi icables.
Comenzamos con el p ime bloque loop. Es e bucle es el enca gado de manda un mensaje de ipo Keep-Ali e
al coo dinado , en es e caso cada 15 segundos. Es e mensaje llega al coo dinado median e una pe ición GET
con pa áme os msg=HELLO e id=id_sonda (id que a en la con igu ación en iada po el coo dinado ). El
coo dinado u iliza es os mensajes pa a lle a un seguimien o del es ado de la sonda (ope a i a o no ope a i a)
y así pode adap a su uncionamien o en iempo eal, he aquí la impo ancia de en ia el id en la solici ud.
El siguien e bloque a a de la p ueba de ICMP o de ping. En es a p ueba la sonda hace un ping a una IP
especí ica, en es e caso 8.8.8.8, y as ecibi las espues as, p ocesa los da os y concluye los alo es de los
pa áme os de in e és. Una ez se han ecogido y gua dado los esul ados en un iche o, es os se mandan al
coo dinado median e una pe ición POST al endpoin /in o me pasando el pa áme o p ueba=icmp. Po úl imo,
el coo dinado ecibe los esul ados y los ecoge en un iche o. Se ealiza cada 10 segundos.
El bloque que con inúa es el espec i o a la p ueba de DNS. Es a p ueba consis e en la esolución de a ios
des inos y as p ocesa las espues as ecibidas se ob ienen los esul ados que nos in e esan. De la misma mane a
que en la p ueba de ICMP, los esul ados se gua dan en iche o (cada p ueba almacena los esul ados en un
iche o dedicado a esa p ueba) y se en ían al coo dinado median e una pe ición POST al endpoin /in o me con
el pa áme o p ueba=dns. Po úl imo, el coo dinado ecibe los esul ados y los ecoge en un iche o. Se ealiza
cada 20 segundos.
17
17
He amien a pa a la moni o ización de edes p i adas basada en sondas
El siguien e bloque es el de la p ueba TCP. La sonda se conec a a 142.250.74.206:80 median e un socke TCP
y concluye los esul ados de in e és de la espues a ecibida. Es os esul ados se almacenan en iche o y se en ían
con pe ición POST al coo dinado pasando el pa áme o p ueba= cp, que los almacena en un iche o. Se ealiza
cada 25 segundos.
Seguimos con el bloque de la p ueba de HTTP. Una p ueba en la que la sonda ealiza una pe ición GET a un
des ino conc e o y as la espues a ecibida concluye unos esul ados que se almacenan en iche o y se en ían
al coo dinado median e pe ición POST pasando el pa áme o p ueba=h p. El coo dinado ecibe los esul ados
en el cue po de la pe ición y los gua da en iche o. Se ealiza cada 15 segundos.
Po úl imo, queda el bloque de la p ueba Ipe . Es a p ueba se a a de mane a di e en e a las an e io es. An es
de comenza la conexión cuya espues a da á los esul ados, la sonda debe solici a un u no al coo dinado , es o
se hace median e una pe ición GET a / u no, pasando los pa áme os ‘id’ y ‘ in’=False. Es o es así debido a que
el se ido Ipe en el coo dinado no es capaz de a ende a más de una sonda al mismo iempo, po an o, el
coo dinado lle a a cabo una ges ión de u nos. El pa áme o ‘id’ iden i ica a la sonda, y el pa áme o ‘ in’,
ges ionado po la sonda, indica á al coo dinado cuando una sonda ha e minado su p ueba, y así el u no se
asigna á a la siguien e sonda en la cola. La sonda espe a á a que sea su u no pa a con inua . Una ez sea su
u no, la sonda inicia una conexión Ipe con el coo dinado que se man iene du an e 5 segundos. Una ez
acabada se ecogen los esul ados, se almacenan en iche o, y se en ían al coo dinado median e pe ición POST
al endpoin /in o me pasando el pa áme o p ueba=ipe . El coo dinado ecibe los esul ados y los gua da en
iche o. T as es o, la sonda en ía de nue o una pe ición GET a / u no con los pa áme os ‘id’ y ‘ in’=T ue, que
ha án que el coo dinado elimine de la lis a de espe a de u nos a la sonda que acaba de ealiza la p ueba, y el
u no pasa á a o a sonda. El se ido Ipe en el coo dinado escucha en el pue o 5201.
Diseño
18
18
Ilus ación 2–3. Diag ama de secuencia de la ope ación del sis ema
19
19
He amien a pa a la moni o ización de edes p i adas basada en sondas
2.3.3 Au en icación de la sonda
Es e p ocedimien o es bas an e simple en compa ación a los an e io es, y es a ía incluido en el handshake inicial.
La segu idad aquí implemen ada es muy simple y es una de las limi aciones del sis ema que se puede mejo a
de mane a más obus a. Veamos cual es su unción y como se consigue la au en icación. Se mues a una
ilus ación con un diag ama de secuencia sencillo del p oceso.
Cuando una sonda inicia, puede o no ene ya un oken que p e iamen e ecibió del coo dinado , es e oken es á
o mado po 64 ca ac e es hexadecimales alea o ios. Al inicia , la sonda siemp e solici a á la con igu ación de
las p uebas que iene que ealiza , median e una pe ición GET a /con ig pasando el pa áme o ‘ oken’. El hecho
de pasa el oken si e pa a que el coo dinado pueda de ec a si esa sonda iene au o ización pa a consegui la
con igu ación de las p uebas. El coo dinado man iene una lis a llamada ‘lis aTokens’ que almacena odos los
okens que han ido c eándose y asignándose según se han ido solici ando. En el coo dinado , es os okens esiden
en un a chi o okens. x , que si e de pe sis encia, así cuando el coo dinado se inicia, los okens de ese iche o
son ca gados en ‘lis aTokens’. En onces, cuando el coo dinado ecibe una solici ud en /con ig, comp ueba si el
oken que es á mandando esa sonda solici an e exis e en la lis a. Si exis e, el acceso se concede á, pues se a a
de una sonda que p e iamen e ha solici ado y almacenado un oken que el coo dinado en egó. Si no exis e, se
denega á el acceso. Una sonda siemp e debe ía ene un oken, ya que el oken siemp e se solici a en el p ime
a anque, y pos e io men e se solici a la con igu ación. Po an o, una sonda siemp e end á un oken a la ho a
de solici a la con igu ación, en caso con a io, se conside a á una sonda sospechosa y no ecibi á con igu ación.
Ilus ación 2–4. Diag ama de secuencia de la au en icación de la sonda
2.4. De inición de la API REST
Dado que en es e p oyec o enemos a ios equipos o p ocesos comunicándose en e ellos, se ha desa ollado una
API REST usando Flask, que pe mi e la comunicación en e las sondas y el coo dinado . Es a API comp ende
odas las unciones necesa ias pa a que la comunicación sonda-coo dinado sea e ec i a y se cumplan los
obje i os de uncionamien o de es e sis ema. El coo dinado se á el enca gado de le an a el se ido REST en
el pue o 5000, desde donde escucha á odas las pe iciones que ealicen las sondas a a és de la API. A
con inuación, se p esen a una abla que de ini á la API REST implemen ada.
Implemen ación
26
26
sin axis el p og ama inaliza á. En ipGua dada se ca ga <COORDINADOR_IP>. Sólo hab á un hilo, que
ejecu a á la unción checkAli e() y la unción uncIpe () se ges iona á con la lib e ía mul ip ocessing,
ya que con h eading p esen aba algunos p oblemas. A con inuación, se in en a ab i el iche o okens. x , que
si no exis ie a se c ea au omá icamen e, y una ez abie o se ca gan los okens y los ids en lis aTokens y lis aIDs
espec i amen e. Es o se debe a la in ención de man ene un poco de pe sis encia y agiliza el uncionamien o
del sis ema aho ando iempo en algunos aspec os como la solici ud de okens. Po úl imo, se a anca el hilo de
checkAli e(), el p oceso de uncIpe () y la API en la IP <COORDINADOR_IP> y pue o 5000. Cuando
se quie a pa a el p og ama, bas a con hace C l+C y se ce a án odos los hilos y p ocesos abie os
o denadamen e.
Código 3–9. A anque del p og ama
Dado que en es e p oyec o se a a con a ios escena ios y algunos usan dis in as ecnologías, se ienen dos
e siones de coo dinado .py y sonda.py. Una e sión pa a los escena ios locales y o a pa a la adap ación a
Docke . En los escena ios que usan Docke se usan olúmenes de Docke pa a almacena los iche os, y po
an o es necesa io adap a en cada código las u as ela i as de los iche os pa a que se almacenen en el luga
co ec o.
3.3 Sonda
Pasamos aho a con la sonda, de g an impo ancia ambién, pues es quien ealiza las p uebas y las manda al
coo dinado . Vamos a e poco a poco el código explicando sus pa es. Téngase en cuen a que en es e código
muchas unciones ienen un bucle while con la condición no de ene (no de ene Ipe pa a
p uebaIpe ()), es o consegui á que esas unciones e minen su ac i idad en cuan o in oduzcamos una ‘q’
po eclado pa a de ene la sonda manualmen e (mencionado en RF-009). También hay que menciona que odos
los in o mes añaden el id de la sonda y la echa y ho a en que se gene a el in o me.
Mos emos p ime o un diag ama de lujo de odo su uncionamien o y pos e io men e el código. Tengamos en
cuen a que hab á a ios p ocesos ejecu ándose simul áneamen e has a que se de la o den de pa a el p og ama
comple o:
27
27
He amien a pa a la moni o ización de edes p i adas basada en sondas
Ilus ación 3–2. Diag ama de lujo de la sonda
Ya en el código, comenzamos po los módulos o lib e ías que la sonda necesi a impo a , des acando: eques s,
con la que pod emos hace pe iciones HTTP; mul ip ocessing y h eading, que pe mi i á la ejecución simul ánea
de a ias unciones del código; ipe 3, esponsable de con igu a el clien e Ipe ; ping3, pa a la p ueba ICMP;
dns. esol e , pa a la p ueba de DNS; y socke , pa a la p ueba de TCP.
Más abajo nos encon amos con las a iables globales, las cuáles se i án comen ando y iendo su uso con o me
ayamos iendo el es o del código.
Código 3–10. Impo s y a iables globales de la sonda
La unción ini P obe() es simplemen e una unción de a anque pa a pone a pun o la sonda. En los
escena ios ealizados, la sonda y el coo dinado se inician casi al mismo iempo, pe o la sonda es á p og amada
con un sleep de 3 segundos pa a da un pequeño ma gen de iempo pa a que el coo dinado inicie po comple o,
y así puedan empeza a comunica se sin p oblema. Lo siguien e es la lec u a de oken. x , una sonda siemp e
pedi á un oken en su p ime a anque, y luego la con igu ación de p uebas (independien emen e de si es el
Implemen ación
28
28
p ime a anque o no). Si no es el p ime a anque, un oken debe ía es a almacenado en oken. x , que se lee
en es a unción pa a ca ga el oken en memo ia y po an o solici a sólo la con igu ación de p uebas.
Código 3–11. Función ini P obe()
Con la unción ge Token() la sonda pod á solici a un oken al coo dinado . P ime o ealiza la pe ición a la
API y luego gua da la espues a en el iche o oken. x , esa espues a iene en o ma o JSON, que se gua da en
la a iable global da os como dicciona io y en el iche o se gua da el alo del único campo del dicciona io,
en es e caso, el oken.
Código 3–12. Función ge Token()
La unción ge Con ig() es la que hace posible solici a la con igu ación de p uebas. Se ealiza la pe ición a
/con ig en iando el oken en los pa áme os de la URL, con el que el coo dinado comp oba á si la sonda es á
au o izada. La espues a se gua da en con igDic , un dicciona io que con end á la con igu ación de las
p uebas y un ID pa a la sonda (siemp e que es é au o izada).
Código 3–13. Función ge Con ig()
La unción manda Keepali e() se ha á ca go de en ia mensajes HELLO de ipo Keep-Ali e al coo dinado
cada 15 segundos pa a man ene i a la conexión. P incipalmen e, la unción hace una pe ición a /keepali e
mandando el mensaje HELLO y el id de la sonda en la URL como pa áme os, pos e io men e se hacen 15
sleeps de 1 segundo pa a cumpli la pe iodicidad desc i a, y la unción se epi e. Es a unción es sensible al
mecanismo de de ención manual de la sonda.
29
29
He amien a pa a la moni o ización de edes p i adas basada en sondas
Código 3–14. Función manda Keepali e()
La p ueba de ICMP se ges iona con la unción p uebaICMP(). Comienza con un ping de 4 pe iciones a la IP
indicada en la con igu ación de p uebas y en cuán o se eciben las espues as se calcula el e a do medio y el %
de pé didas. A con inuación, se gene a el in o me de los esul ados y se almacena en p uebasICMP. x ,
pos e io men e el in o me se en ía con pe ición POST a /in o me, mandando el ipo de p ueba como pa áme o.
Po úl imo, la unción espe a los segundos necesa ios pa a cumpli el pe iodo indicado en la con igu ación de
p uebas y la unción se epi e. Es a unción es sensible al mecanismo de de ención manual de la sonda.
Código 3–15. Función p uebaICMP()
La unción p uebaDNS() es la que maneja las p uebas de DNS. Comienza haciendo 3 esoluciones de DNS y
omando el e a do de cada una, los des inos ienen indicados en la con igu ación de p uebas. Es os esul ados
los a gua dando de uno en uno en p uebasDNS. x y en iando de uno en uno a /in o me median e pe ición
POST en iando el ipo de p ueba como pa ame o, es o es así pa a man ene el ex o en la es uc u a deseada.
Po úl imo, la unción espe a los segundos necesa ios pa a cumpli el pe iodo indicado en la con igu ación de
p uebas y la unción se epi e. Es a unción es sensible al mecanismo de de ención manual de la sonda.
Implemen ación
30
30
Código 3–16. Función p uebaDNS()
La unción p uebaTCP() ejecu a las p uebas de TCP. Comienza es ableciendo una conexión TCP a la IP y
pue o indicados en la con igu ación de p uebas, midiendo el e a do. Una ez se ienen los esul ados, se gene a
el in o me y se almacena en p uebasTCP. x y pos e io men e se en ia median e pe ición POST a /in o me
mandando el ipo de p ueba como pa áme o. Po úl imo, la unción espe a los segundos necesa ios pa a cumpli
el pe iodo indicado en la con igu ación de p uebas y la unción se epi e. Es a unción es sensible al mecanismo
de de ención manual de la sonda.
Código 3–17. Función p uebaTCP()
Las p uebas HTTP se ges ionan con la unción p uebaHTTP(). Comienza con una pe ición GET a la URL
indicada en la con igu ación de p uebas y se oman el e a do y el s a us de la espues a. Una ez se iene el
in o me p epa ado se almacena en p uebasHTTP. x y se en ía median e pe ición POST a /in o me mandando
31
31
He amien a pa a la moni o ización de edes p i adas basada en sondas
el ipo de p ueba como pa áme o. Po úl imo, la unción espe a los segundos necesa ios pa a cumpli el pe iodo
indicado en la con igu ación de p uebas y la unción se epi e. Es a unción es sensible al mecanismo de
de ención manual de la sonda.
Código 3–18. Función p uebaHTTP()
La unción p uebaIpe () se enca ga de las p uebas de Ipe . Es a p ueba comienza con una pe ición GET a
/ u no pasando como pa áme os el id de la sonda y ‘ in’=False. Se hace es a pe ición po la necesidad de solici a
un u no pa a es a p ueba debido a las limi aciones del se ido . La espues a se á el id de la sonda que iene el
u no ac ual (si no hay ninguna sonda en la lis a de u nos la espues a es 0), y la sonda comp ueba si ese id es el
suyo. En caso nega i o la sonda espe a á 1 segundo y ol e á a empeza de nue o. En caso a i ma i o, la sonda
ab e una conexión Ipe hacia la IP del coo dinado y el pue o especi icado en la con igu ación de p uebas. Es a
p ueba du a á el iempo especi icado en la con igu ación de p uebas y una ez inalice se oma án los esul ados
(ancho de banda en iado y ecibido y RTT medio) pa a gene a un in o me que se almacena á en
p uebasIpe . x y se en ia á median e pe ición POST a /in o me mandando el ipo de p ueba como pa áme o.
Una ez e minada la p ueba, el pa áme o ‘ in’ se cambia a T ue y se uel e a hace pe ición a / u no en iando
el id y ‘ in’, es o ha á que el coo dinado elimine a la sonda de la lis a y le pase el u no a la siguien e.
Pos e io men e ‘ in’ ol e á a ale False pa a que la sonda pueda ol e a hace la p ueba más a de. Po úl imo,
la unción espe a 2 segundos y se epi e. Es a unción es sensible al mecanismo de de ención manual de la sonda.
Implemen ación
32
32
Código 3–19. Función p uebaIpe ()
Po úl imo, se mues a el código donde la sonda inicia odas sus unciones. Es necesa io que el comando que
ejecu e a la sonda sea py hon sonda.py <COORDINADOR_IP> ya que si no se usa esa sin axis el p og ama
inaliza á. En ipGua dada se ca ga <COORDINADOR_IP>. Hab á 6 hilos y la unción p uebaIpe () se
ges iona á con la lib e ía mul ip ocessing, ya que con h eading p esen aba algunos p oblemas. A con inuación,
se in en a ab i el iche o oken. x , que si no exis ie a se c ea au omá icamen e. A pa i de es e momen o, se
a anca el hilo de la unción ini P obe(), y has a que no inalice, el p og ama no a anza á. T as es o se a ancan
el es o de los hilos y el p oceso de la unción p uebaIpe (). Po úl imo, el p og ama se queda á en un bucle
espe ando ecibi una ‘q’ po eclado que, en caso de ecibi la, ha á inaliza odos los hilos y p ocesos de mane a
o denada, dando luga como consecuencia a la inalización o apagado de la sonda.
33
33
He amien a pa a la moni o ización de edes p i adas basada en sondas
Código 3–20. A anque del p og ama
3.4 Fiche os de con igu ación
Se comen a án aho a los iche os de con igu ación usados en el p oyec o. En es e p oyec o hay dos ipos: iche o
de con igu ación de p uebas, y iche o de con igu ación de ed Docke .
3.4.1 Fiche o de con igu ación de p uebas
Como su nomb e indica, es e iche o de con igu ación con iene las ca ac e ís icas de las p uebas que las sondas
an a ealiza . Se le ha dado el nomb e de con ig.yml, po lo que es un iche o en o ma o .yml. A con inuación,
se mues a una imagen de su con enido y se explica án sus campos:
Implemen ación
34
34
Código 3–21. Fiche o de con igu acion de p uebas
El campo id de ine un iden i icado pa a la sonda, es e campo, inicialmen e a None, se ellena á con el
id que el coo dinado le asigne a la sonda que solici a la con igu ación.
El campo p uebas es una lis a que con iene la con igu ación pa a cada ipo de p ueba. Cada p ueba se
dis ingue con el campo ipo, que es una lis a cuyo nomb e es el ipo de p ueba.
o En la p ueba de ipo ping (ICMP) exis en los siguien es campos: des , que indica el des ino al
que ealiza el ping; y pe iodo, que indica cada cuan o iempo (en segundos) se ealiza á la
p ueba.
o En la p ueba de ipo DNS exis en los siguien es campos: des inos, que es una lis a con a ios
des inos a los que ealiza una consul a de DNS; y pe iodo, que indica cada cuan o iempo (en
segundos) se ealiza á la p ueba.
o En la p ueba de ipo TCP exis en los siguien es campos: ip, que indica la IP a la que conec a se
median e socke ; po , que indica el pue o al que se quie e conec a median e socke ; y pe iodo,
que indica cada cuan o iempo (en segundos) se ealiza á la p ueba.
o En la p ueba de ipo HTTP exis en los siguien es campos: u l, que indica la URL a la que se
ha á una pe ición GET; y pe iodo, que indica cada cuan o iempo (en segundos) se ealiza á la
p ueba.
o En la p ueba de ipo Ipe exis en los siguien es campos: se e Po , que indica el pue o del
se ido Ipe al que hay que conec a se pa a ealiza la p ueba; y du acion, que indica la
du ación (en segundos) de la conexión Ipe que se ealiza pa a la p ueba.
3.4.2 Fiche o de con igu ación de ed Docke
P ocedemos aho a a explica el iche o de con igu ación u ilizado pa a le an a edes de Docke , jun o con sus
campos y alo es. Conc e amen e, es os iche os especi ican las ca ac e ís icas de los con enedo es que o ma án
la ed Docke . Los iche os se án u ilizados po la he amien a Docke lab pa a gene a esas edes, que es a án
de inidas en un iche o docke -compose.
En es e p oyec o se han desa ollado dos iche os, uno pa a el escena io 2 y o o pa a el escena io 3. Se les ha
dado ambién el nomb e de con ig.yml, po lo que son iche os en o ma o .yml. Pese a ene los mismos nomb es
y coincidi con el iche o de con igu ación de p uebas, se si úan en u as dis inas, po lo que el sis ema los
di e encia á sin p oblemas. A con inuación, se mues an imágenes de és os y se explica án sus con enidos:
35
35
He amien a pa a la moni o ización de edes p i adas basada en sondas
Código 3–22. Fiche o de con igu ación de la ed Docke del escena io 2
Código 3–23. Fiche o de con igu ación de la ed Docke del escena io 3
Ambos iche os ienen a ios campos en común, pe o en el caso del escena io 2 hay algunos campos que sólo
apa ecen en ese iche o. Comen a emos el iche o del escena io 2:
El campo escena io2 es una lis a que con iene las ca ac e ís icas mas undamen ales de la ed Docke
del escena io. El campo ne wo k indica la sub ed que end á esa ed de Docke , en la que se desplega án
los con enedo es ob eniendo cada uno una IP de esa sub ed. El campo nodes es una lis a que indica que
ipos de nodos se desplega án en la sub ed, en es e caso, coo dinado y sonda.
o El campo coo dinado es una lis a que con iene las ca ac e ís icas del con enedo que ac ua á
como un nodo de ipo coo dinado . Con iene los siguien es campos:
El campo image indica la imagen que u iliza á el con enedo . Una imagen de Docke
es una plan illa inmu able que con iene odo lo necesa io pa a ejecu a una aplicación:
código, dependencias, con igu aciones y sis ema ope a i o base. En es e caso se usa
la imagen de py hon:3.10.12, es deci , el con enedo ejecu a á un a chi o py hon.
El campo sc ip indica que el con enedo pod á ejecu a un shell-sc ip al inicia , en
es e caso coo dinado .sh.
El campo ip indica la IP que se le asigna á a ese con enedo en la sub ed. De es a o ma
podemos asigna una IP manualmen e.
o El campo sonda es una lis a que con iene las ca ac e ís icas del con enedo que ac ua á como
un nodo de ipo sonda. Con iene los siguien es campos:
El campo image indica la imagen que u iliza á el con enedo . En es e caso se usa la
imagen de py hon:3.10.12, es deci , el con enedo ejecu a á un a chi o py hon.
El campo sc ip indica que el con enedo pod á ejecu a un shell-sc ip al inicia , en
es e caso sonda.sh.
El campo eplicas indica cuán os con enedo es de ipo sonda con la misma
con igu ación se an a desplega . En es e caso, las IPs de es as éplicas se asigna án
au omá icamen e.
El campo needs es una lis a que indica las dependencias de es e ipo de con enedo , en
es e caso, la sonda se á dependien e del coo dinado , po an o, p ime o se despliega
el coo dinado y después las sondas.
Implemen ación
42
42
Fiche os de esul ados: Es os iche os de ex o con ienen los in o mes de las p uebas
ealizadas. Cuando las sondas ealizan p uebas, ecogen los esul ados en es os
iche os y pos e io men e en ían esos esul ados al coo dinado .
Ilus ación 3–6. Es uc u a de /escena io3
Po úl imo, queda po de alla el di ec o io /s cdocke :
/coo dinado : Es e di ec o io con iene el código uen e del p og ama coo dinado que ejecu a án los
con enedo es Docke en los dis in os escena ios además del iche o de con igu ación de p uebas.
o coo dinado .py: Código uen e del coo dinado adap ado pa a su uso en con enedo es Docke .
o con ig.yml: Fiche o de con igu ación de p uebas.
/sonda: Es e di ec o io con iene el código uen e del p og ama sonda que ejecu a án los con enedo es
Docke en los dis in os escena ios.
o sonda.py: Código uen e de la sonda adap ado pa a su uso en con enedo es Docke .
43
43
He amien a pa a la moni o ización de edes p i adas basada en sondas
Ilus ación 3–7. Es uc u a de /s cdocke
3.5.2.2 C eación de escena ios
Como se ha comen ado, podemos c ea los escena ios haciendo uso del Shell-sc ip c ea.sh. Conc e amen e es e
sc ip nos pe mi e c ea los escena ios 2 y 3, ya que el escena io 1 se puede ejecu a di ec amen e debido a su
simplicidad.
Cuando ejecu amos c ea.sh (con el comando ./c ea.sh den o del di ec o io TFG), in oducimos po eclado el
núme o del escena io que que emos c ea (2 o 3), y el sc ip comenza á a busca el iche o de con igu ación del
escena io (si no exis e, pedi á c ea lo) y el docke -compose del escena io seleccionado. Si no hay docke -
compose c eado, se ac i a á el en o no i ual de Py hon pa a asegu a que es é ac i o. T as es o se hace uso de
docke lab, que g acias al iche o de con igu ación del escena io puede c ea el a chi o docke -compose, el cuál
se modi ica á haciendo uso de modCompose.py pa a consegui el escena io comple o deseado.
A con inuación, se mues a el código de c ea.sh:
Código 3–25. Shell-sc ip c ea.sh
Implemen ación
44
44
3.5.2.3 Ejecución de escena ios
En la es uc u a gene al de di ec o ios se mencionaba qué unción desempeña el Shell-sc ip ejecu a.sh. Vamos
a comen a cómo se ealiza la ejecución de los dis in os escena ios del p oyec o.
Cuando ejecu amos ejecu a.sh (con el comando ./ejecu a.sh den o del di ec o io TFG) nos solici a in oduci el
núme o del escena io a ejecu a . Si hemos seleccionado el 1, el sc ip lanza los sc ip s sonda.sh y coo dinado .sh
con enidos en /escena io1, que lanza án un e minal con la sonda y o o con el coo dinado , espec i amen e. Si
hemos seleccionado el 2, se busca el iche o de con igu ación del escena io y el docke -compose y se le an an
los con enedo es con docke -compose up (línea 67). En el caso del escena io 3, se hace p ác icamen e
idén ico que con el escena io 2, solo que además de le an a con enedo es, el coo dinado se ejecu a con el sc ip
coo dinado .sh con enido en /escena io3 y ambien se lanza un e minal que ejecu a una sonda en local.
Lógicamen e los escena ios (excep o el escena io 1) deben es a c eados pa a pode ejecu a los. A con inuación,
se mues a el código ejecu a.sh:
Código 3–26. Shell-sc ip ejecu a.sh
3.5.2.4 Eliminación de escena ios
P e iamen e se comen aba la exis encia de un Shell-sc ip dedicado a la eliminación de escena ios.
Conc e amen e es e sc ip nos pe mi e elimina los escena ios 2 y 3, ya que el escena io 1 debido a su simplicidad
no necesi a c ea se, po an o, ampoco necesi a elimina se. Es impo an e ene en cuen a que, an es de c ea o
ejecu a un escena io que in oluc a componen es Docke , se debe elimina cualquie o o escena io que ambién
u ilice Docke . Es o se debe a que cie os elemen os de Docke pueden in e e i en e sí, aunque pe enezcan a
escena ios di e en es. Se a a explica b e emen e como unciona el sc ip elimina.sh.
Cuando ejecu amos elimina.sh (con el comando ./elimina.sh den o del di ec o io TFG) nos solici a in oduci
el núme o del escena io a elimina (2 o 3). Pos e io men e se eliminan los con enedo es (de eniéndolos an es),
olúmenes, ed Docke y docke -compose asociados al escena io seleccionado. Es e p oceso es gene al, po
an o, el escena io 2 y el 3 se elimina án de la misma mane a.
A con inuación, se mues a el código elimina.sh:
45
45
He amien a pa a la moni o ización de edes p i adas basada en sondas
Código 3–27. Shell-sc ip elimina.sh
3.5.2.5 Despliegue de escena io Docke
Ya se ha comen ado a ias eces de la p esencia de Docke en es e p oyec o, pues se usa en dos de los es
escena ios desa ollados. Pe o aún no se ha explicado con qué p opiedades se despliegan los con enedo es en el
escena io. En es e apa ado se a a explica cómo sucede es o.
Si un escena io p esen a una pa e Docke quie e deci que, en e o as cosas, hab á con enedo es que ac úen
como sondas o como coo dinado . Sabemos que an o las sondas como el coo dinado almacenan iche os con
di e sos ipos de in o mación en los di ec o ios donde se encuen a su código uen e, pe o ¿dónde almacena un
con enedo esos iche os? La espues a es, olúmenes. Un olumen en Docke es una ca pe a ges ionada po
Docke que se localiza en el sis ema de a chi os del hos , y se mon a den o del con enedo en una u a especí ica.
G acias a es o, podemos gua da los iche os que gene e nues o con enedo , aunque lo de engamos, y así pode
ecupe a esos iche os en u u as ejecuciones de ese con enedo . También hace posible ca ga iche os de
nues o hos den o del con enedo cuando a anca.
Resumidamen e, un olumen es una u a in e na del con enedo que apun a a una u a del hos , lo que haya
den o de la u a del hos se á ca gado en la u a del con enedo , y los cambios ealizados den o de la u a del
con enedo (po ejemplo, añadi iche os) se e án e lejados en la u a del hos .
Vemos que g acias a los olúmenes podemos consegui que los con enedo es puedan unciona igual que una
sonda o coo dinado local, ya que se es a ía consiguiendo pe sis encia de los a chi os. Como ya se ha comen ado
p e iamen e, los con enedo es usan un código uen e lige amen e dis in o a los que usan las sondas o el
coo dinado en local. Es a di e encia adica p incipalmen e en que las u as de los iche os hacen e e encia a la
ca pe a en la que se almacenan den o del con enedo .
A con inuación, se mues an agmen os del iche o docke -compose del escena io 2, donde se pueden e los
dis in os olúmenes que ienen an o una sonda como el coo dinado . Pa a el escena io 3 aplica de la misma
mane a, la única di e encia es la can idad de nodos y el ipo de nodo (sólo hay sondas).
En el caso del coo dinado :
Exis e un olumen dedicado pa a que el con enedo pueda usa el código uen e del coo dinado
(incluido el iche o de con igu ación de p uebas). Se encuen a en /wo kspace/codes, que apun a a
/home/di /TFG/s cdocke /coo dinado .
Implemen ación
46
46
Exis e un olumen dedicado pa a que el con enedo pueda ejecu a el Shell-sc ip coo dinado .sh al
a anca . Se encuen a en /wo kspace/coo dinado .sh, que apun a a
/home/di /TFG/escena io2/coo dinado .sh.
Exis e un olumen dedicado pa a que el con enedo pueda dispone de las lib e ías de Py hon desde el
p incipio, e i ando ene que desca ga las e ins ala las en cada a anque. Se encuen a en
/us /local/lib/py hon3.10/si e-packages, que apun a a /home/di /TFG/. en /lib/py hon3.10/si e-
packages.
Exis e un olumen dedicado pa a que el con enedo almacene los iche os que gene a, como el iche o
okens. x o los que con ienen los in o mes de las p uebas. Se encuen a en /wo kspace/da a, que apun a
a olumenC. olumenC se encuen a en el sis ema de a chi os del hos , den o de
/ a /lib/docke / olumes. Es e nomb e ( olumenC) se á dis in o en cada nodo (sea sonda o coo dinado )
pa a pode di e encia se del olumen de o o nodo.
/wo kspace es el di ec o io po de ec o donde se si úa el con enedo al a anca .
Código 3–28. Volúmenes del coo dinado
En el caso de la sonda:
Exis e un olumen dedicado pa a que el con enedo pueda usa el código uen e de la sonda. Se
encuen a en /wo kspace/codes/sonda.py, que apun a a /home/di /TFG/s cdocke /sonda/sonda.py.
Exis e un olumen dedicado pa a que el con enedo pueda ejecu a el Shell-sc ip sonda.sh al a anca .
Se encuen a en /wo kspace/sonda.sh, que apun a a /home/di /TFG/escena io2/sonda.sh.
Exis e un olumen dedicado pa a que el con enedo pueda dispone de las lib e ías de Py hon desde el
p incipio, e i ando ene que desca ga las e ins ala las en cada a anque. Se encuen a en
/us /local/lib/py hon3.10/si e-packages, que apun a a /home/di /TFG/. en /lib/py hon3.10/si e-
packages.
Exis e un olumen dedicado pa a que el con enedo almacene los iche os que gene a, como el iche o
oken. x o los que con ienen los esul ados de las p uebas. Se encuen a en /wo kspace/da a, que apun a
a olumenS0. olumenS0 se encuen a en el sis ema de a chi os del hos , den o de
/ a /lib/docke / olumes.
/wo kspace es el di ec o io po de ec o donde se si úa el con enedo al a anca .
Código 3–29. Volúmenes de la sonda
47
47
He amien a pa a la moni o ización de edes p i adas basada en sondas
Po úl imo, me ece la pena menciona que los Shell-sc ip que ejecu an los p og amas sonda y coo dinado
(sonda.sh y coo dinado .sh espec i amen e), es án adap ados pa a pode unciona den o del con enedo , de
o ma que la ejecución se si úa den o de /wo kspace/codes an es de ejecu a el código uen e. Además, cada
con enedo ins ala ipe 3 en el a anque, ya que, al se un con enedo , odo lo que haya hecho se pie de al
ce a se, sal o que es é usando olúmenes y es én debidamen e con igu ados. En es e caso no se usan los
olúmenes pa a ene ipe 3 en los con enedo es, po an o, se decidió ins ala lo en el a anque del con enedo .
49
4 PRUEBAS
na ez abo dadas las ases de diseño e implemen ación del sis ema, es undamen al alida su co ec o
uncionamien o y e i ica que cumple con los equisi os es ablecidos. Es a ase pe mi e de ec a posibles
e o es, comp oba la es abilidad del sis ema y asegu a que las uncionalidades implemen adas
esponden adecuadamen e an e dis in os escena ios de uso.
Se han diseñado p uebas que aba can an o aspec os uncionales como de endimien o, con el obje i o de e alua
la calidad global del sis ema an es de su en ega inal. En es e apa ado se de allan las p uebas ealizadas y los
esul ados ob enidos.
A con inuación, se desc iben los es escena ios de p ueba p opues os jun o con ilus aciones:
4.1 Escena io 1: Escena io local básico
En es e p ime caso, an o la sonda como el coo dinado se ejecu an en un mismo equipo, u ilizando la di ección
de loopback (127.0.0.1) pa a su comunicación. Es e en o no si e como p ueba inicial de concep o, donde se
e i ica el co ec o uncionamien o de los módulos p incipales del sis ema sin in e e encias ex e nas, p oblemas
de ed o es icciones de i ewall.
Ilus ación 4–1. Esquema escena io 1
Vamos a mos a el uncionamien o de es e escena io:
P ime o, en la siguien e ilus ación, eamos como el di ec o io /escena io1 no con iene po de ec o los iche os
de ex o de los okens ni los iche os de los esul ados de las p uebas:
U
P uebas
50
50
Ilus ación 4–2. Es ado inicial de /escena io1
Aho a, comenza emos ejecu ando el Shell-sc ip ejecu a.sh, que nos pe mi e ejecu a los escena ios:
Ilus ación 4–3. Ejecución del escena io 1
Una ez ejecu ado nos apa ecen los e minales con la sonda y el coo dinado , mos ando cada uno los logs
espec i os de cada p og ama. En el e minal de la sonda, podemos e al inicio odo el p oceso de a anque,
incluso la con igu ación ecibida, y después empeza ía ya cada p ueba y el es o de las unciones que se ejecu an
simul áneamen e, como el en ío del mensaje HELLO. En la e minal del coo dinado , al inicio se puede obse a
como ecibe las pe iciones de la sonda y como esponde a esas pe iciones ( oken y con igu ación),
pos e io men e puede e se como ecibe los in o mes y como a haciendo un seguimien o del es ado de la sonda.
Ilus ación 4–4. Te minales del escena io 1
Si aho a emos de nue o el con enido del di ec o io, pod emos e como se han gene ado los iche os de ex o
que almacenan el oken y los esul ados de las p uebas. En la siguien e ilus ación se puede e como el con enido
51
51
He amien a pa a la moni o ización de edes p i adas basada en sondas
de es os iche os es cohe en e. El oken que almacena la sonda es a ambién almacenado en el coo dinado y
asociado a un ID, y los esul ados de las p uebas se han almacenado co ec amen e (se mues a po ejemplo
p uebasHTTP. x ).
Ilus ación 4–5. Fiche os gene ados en el escena io 1
4.2 Escena io 2: Escena io en misma sub ed
El segundo escena io in oduce un en o no más complejo simulado median e con enedo es Docke en una
misma sub ed. Se despliega un o al de diez sondas, cada una en su p opio con enedo , y un coo dinado ambién
en su p opio con enedo , odos conec ados a una misma ed i ual de Docke ipo B idge (10.10.10.0/24). Es a
con igu ación pe mi e e alua la capacidad del sis ema pa a ges iona múl iples sondas de o ma concu en e,
man eniendo una comunicación e icien e y es able den o de una ed con olada.
La Ilus ación 4–6, se puede en ende como que an o las sondas como el coo dinado es án conec ados a un
swi ch i ual que pe mi e la ag upación del á ico o al en e cada sonda y el coo dinado . En e las sondas y
la ed pública (In e ne ) ocu e lo mismo. Po azones de simpli icación de la ilus ación, no se incluye el swi ch
en la misma.
Ilus ación 4–6. Esquema escena io 2
Conclusiones
58
58
una cie a cu a de ap endizaje y posibles p oblemas elacionados con edes i uales, olúmenes y
pe misos en sis emas ope a i os an i iones.
5.2 Líneas de con inuación
A pesa de que el sis ema desa ollado cumple con los obje i os undamen ales p opues os, exis en di e sas
líneas de mejo a que pe mi i ían con e i lo en una solución más comple a, obus a y adap able a en o nos eales
de moni o ización de ed. Una de las ampliaciones más ele an es se ía el desa ollo de una in e az g á ica de
usua io, que sus i uya o complemen e la ac ual in e az de línea de comandos. Es a mejo a acili a ía una
in e acción más in ui i a, especialmen e pa a usua ios sin conocimien os écnicos, y pe mi i ía una ges ión más
accesible de las sondas, las con igu aciones de p uebas y la isualización de esul ados.
O a mejo a impo an e se ía la in eg ación de una base de da os cen alizada, que sus i uya el almacenamien o
local en a chi os de ex o. Es o no solo op imiza ía la ges ión y consul a de los da os ecogidos, sino que ambién
acili a ía a eas como la ealización de copias de segu idad, el análisis his ó ico de da os y la in eg ación con
o as he amien as ex e nas. De o ma complemen a ia, la inco po ación de isualizaciones g á icas como
g á icos de líneas, ba as o mapas de calo pe mi i ía in e p e a de mane a más e icien e los esul ados
ecopilados, acili ando la de ección de pa ones, endencias o posibles anomalías en la ed.
También se con empla como mejo a la implemen ación de un sis ema de ale as y no i icaciones en iempo eal.
Es a uncionalidad pe mi i ía in o ma au omá icamen e al usua io an e la de ección de allos c í icos o alo es
anómalos median e canales como el co eo elec ónico o la mensaje ía ins an ánea, con ibuyendo a una
espues a ápida y p oac i a. En pa alelo, do a al sis ema de capacidades pa a ges iona las sondas de o ma
emo a desde el equipo coo dinado mejo a ía signi ica i amen e su usabilidad, ya que pe mi i ía con igu a ,
ac i a o desac i a p uebas sin necesidad de accede ísicamen e a cada nodo de ed.
Po úl imo, una línea de abajo undamen al se ía la mejo a de la segu idad del sis ema. La implemen ación de
ci ado en las comunicaciones en e sondas y coo dinado , jun o con mecanismos de au en icación y con ol de
acceso, esul an esenciales pa a p o ege los da os ansmi idos y ga an iza la in eg idad del sis ema en en o nos
de p oducción.
En conjun o, es as posibles ampliaciones suponen una e olución na u al del sis ema ac ual, alineada con los
equisi os que p esen a ía su aplicación en con ex os eales, y ab en la pue a a u u as ases de desa ollo más
ambiciosas y especializadas.
5.3 Ap endizaje pe sonal
La ealización de es e T abajo de Fin de G ado ha supues o una expe iencia muy en iquecedo a an o a ni el
écnico como pe sonal. A lo la go del p oyec o, he enido la opo unidad de consolida y amplia mis
conocimien os en á eas cla e que me in e esaban desde el inicio, como el lenguaje de p og amación Py hon, el
uso de con enedo es con Docke , y el diseño e implemen ación de APIs REST. Es as ecnologías, ampliamen e
u ilizadas en el ámbi o p o esional, me han pe mi ido desa olla compe encias p ác icas di ec amen e aplicables
en en o nos eales.
Es e p oyec o ha enido un alo especial po su es echa elación con el campo de las edes de
elecomunicaciones, que es una de las á eas que más me apasiona den o de la i ulación. Pode aplica los
conocimien os adqui idos du an e la ca e a en un sis ema que mide y moni o iza el endimien o de ed ha sido
especialmen e g a i ican e, ya que me ha pe mi ido uni eo ía y p ác ica en un con ex o uncional y conc e o.
Asimismo, el desa ollo del p oyec o me ha pe mi ido mejo a mis habilidades de plani icación, o ganización y
esolución de p oblemas, en en ándome a e os écnicos que he esuel o de mane a au ónoma o in es igando
soluciones po mi cuen a. Es e p oceso me ha ayudado a c ece como u u o p o esional y a e o za mi con ianza
en el desa ollo de p oyec os complejos desde ce o.
En de ini i a, es e abajo ha sido una opo unidad pa a pone en p ác ica mis in e eses, explo a nue as
he amien as y a ianza mi ocación po el ámbi o de las edes y sis emas, lo que e ue za mi mo i ación pa a
segui p o undizando en es e campo en el u u o.
59
59
He amien a pa a la moni o ización de edes p i adas basada en sondas
Bibliog a ía y Re e encias
60
60
BIBLIOGRAFÍA Y REFERENCIAS
[1]
Web o icial de Py hon: h ps://www.py hon.o g/
[2]
Web o icial de Flask: h ps:// lask.palle sp ojec s.com/en/3.0.x/
[3] Web o icial de Docke : h ps://www.docke .com/
[4] Web o icial de Up imeRobo : h ps://up ime obo .com/
[5] Reposi o io o icial de Up ime-Kuma: h ps://gi hub.com/louislam/up ime-kuma
[6]
Web o icial de G a ana: h ps://g a ana.com/
[7] Web o icial de Visual S udio Code: h ps://code. isuals udio.com/
[8] Página de docke -compose en la web de Docke : h ps://docs.docke .com/compose/
[9] Paque e gnome- e minal de los eposi o ios de Ubun u:
h ps://manpages.ubun u.com/manpages/xenial/man1/gnome- e minal.1.h ml
[10]
Web o icial de PyPi: h ps://pypi.o g/