{"id":94,"date":"2024-01-26T10:05:23","date_gmt":"2024-01-26T10:05:23","guid":{"rendered":"https:\/\/joinusto.com\/wordpress\/?p=94"},"modified":"2025-02-27T18:29:16","modified_gmt":"2025-02-27T18:29:16","slug":"acceso-ssh-a-olts-cmts-mediante-python-streamlit","status":"publish","type":"post","link":"https:\/\/joinusto.com\/wordpress\/acceso-ssh-a-olts-cmts-mediante-python-streamlit\/","title":{"rendered":"Acceso SSH a OLTs &amp; CMTs, mediante Python &amp; Streamlit"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<figure class=\"wp-block-image size-full has-custom-border\"><img loading=\"lazy\" decoding=\"async\" width=\"623\" height=\"385\" src=\"https:\/\/joinusto.com\/wordpress\/wp-content\/uploads\/2024\/05\/image-11.png\" alt=\"\" class=\"wp-image-95\" style=\"border-radius:600px\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"has-drop-cap has-heading-font-family wp-block-paragraph\">El an\u00e1lisis de los datos, que se obtienen de las cabeceras de FTTH o HFC, mediante sus CLi de gesti\u00f3n, a trav\u00e9s de conexiones SSH, nos permite su utilizaci\u00f3n en la explotaci\u00f3n de la red y la detecci\u00f3n de incidencias de car\u00e1cter masivo mediante su an\u00e1lisis.<\/p>\n\n\n\n<p class=\"has-heading-font-family wp-block-paragraph\">Una manera de explotaci\u00f3n de los datos de red, es abrir sesiones SSH para sacar datos de estados\/niveles, de ONUs o CMs.<\/p>\n\n\n\n<p class=\"has-heading-font-family wp-block-paragraph\">En este mismo proceso, en la gesti\u00f3n de incidencias masivas, es necesario obtener o disponer de datos de dimensionamiento de red, a trav\u00e9s del CRM del operador de servicios, que permitan localizar elemento de red en com\u00fan, que puede estar provocando la incidencia.<\/p>\n\n\n\n<p class=\"has-heading-font-family wp-block-paragraph\">Si no se dispone de sistemas desarrollados a medida, de cara a la operaci\u00f3n de la red en un NOC, que reporten esta informaci\u00f3n cruzada, este se ver\u00e1 obligado a acceder a los datos en los sistemas, por separado, realizando m\u00faltiples consultas, dilatando el proceso de pre-diagn\u00f3stico.<\/p>\n\n\n\n<p class=\"has-heading-font-family wp-block-paragraph\">Tendr\u00e1n que sacar los datos de los estados\/valores de los CLi, por un lado, para cruzarlo luego con los datos de dimensionamiento de red del CRM, por otro.<\/p>\n\n\n\n<p class=\"has-heading-font-family wp-block-paragraph\">Est\u00e1 operativa, no simplifica el proceso de an\u00e1lisis y diagn\u00f3stico, y se hace engorrosa cara a los diferentes escenarios a los que se enfrentan los operadores del NOC, en la detecci\u00f3n\/gesti\u00f3n de incidencias masivas.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Desarrollo de una App de escritorio web, mediante Python &amp; Streamlit<\/strong><\/p>\n\n\n\n<p class=\"has-drop-cap has-heading-font-family wp-block-paragraph\">Una manera r\u00e1pida de implementar un sistema que integre, el proceso de an\u00e1lisis antes mencionado o similar, y que nos permita simplificar las consultas, es realizar un desarrollo sencillo, mediante Python. El Script o scripts se implementar\u00e1n en Streamlit, que nos permitir\u00e1 poder realizar su explotaci\u00f3n.<\/p>\n\n\n\n<p class=\"has-heading-font-family wp-block-paragraph\">En Python utilizando la Api de <a href=\"https:\/\/www.paramiko.org\/\"><strong>Paramiko<\/strong><\/a>, que incluye el protocolo SSHv2, vamos a podere jecutar comandos de shell remotos, que luego nos permitir\u00e1 recuperar los datos, de respuesta del comando.<\/p>\n\n\n\n<p class=\"has-heading-font-family wp-block-paragraph\">Se pueden desarrollar scripts que implementen los comandos shell que se necesiten dependiendo de la funcionalidad que se le quiera dar en la App, bien para ver los estados, o para recoger par\u00e1metros de funcionamiento de estos.<\/p>\n\n\n\n<p class=\"has-heading-font-family wp-block-paragraph\">Los scripts que se desarrollen, se pueden integrar y explotar mediante Apps, a trav\u00e9s de la plataforma <a href=\"https:\/\/streamlit.io\/\"><strong>Streamlit<\/strong><\/a>, que nos permitir\u00e1 disponer de herramientas de escritorio v\u00eda publicaci\u00f3n web, de f\u00e1cil distribuci\u00f3n.<\/p>\n\n\n\n<p class=\"has-heading-font-family wp-block-paragraph\">Se pueden compartir en el mismo entorno de red corporativo, pudiendo implementarlas en grupos de trabajo de manera sencilla y escalable seg\u00fan las necesidades que vayan surgiendo.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Ejemplo de App Nodos HFC<\/strong><\/p>\n\n\n\n<p class=\"has-drop-cap has-heading-font-family wp-block-paragraph\">De las posibilidades que nos ofrecen los comandos shell de las CMTs, las cabeceras de edocsis en HFC, es la consulta de comandos b\u00e1sicos, que se pueden consultar en el CLi para obtener datos de servicio, que podemos implementar en una App de soporte, como;<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li class=\"has-heading-font-family\">CPEs Offline<\/li>\n\n\n\n<li class=\"has-heading-font-family has-medium-font-size\">Modulaciones Us<\/li>\n\n\n\n<li class=\"has-heading-font-family\">SNR.Us Port Up CMTS<\/li>\n\n\n\n<li class=\"has-heading-font-family\">Otros..<\/li>\n<\/ul>\n\n\n\n<p class=\"has-heading-font-family wp-block-paragraph\">Con esto el desarrollo es sencillo y se puede combinar en una App esta informaci\u00f3n, con la de los clientes del CRM, haciendo las consultas por Nodo HFC, de manera simple.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"744\" height=\"484\" src=\"https:\/\/joinusto.com\/wordpress\/wp-content\/uploads\/2024\/05\/image-12.png\" alt=\"\" class=\"wp-image-102\"\/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"736\" height=\"290\" src=\"https:\/\/joinusto.com\/wordpress\/wp-content\/uploads\/2024\/05\/image-13.png\" alt=\"\" class=\"wp-image-103\"\/><figcaption class=\"wp-element-caption\"><em>Buscamos por nodo hfc<\/em><\/figcaption><\/figure>\n\n\n\n<p class=\"has-heading-font-family wp-block-paragraph\">A continuaci\u00f3n obtenemos los datos como par\u00e1metros en nuestro ejemplo:<\/p>\n\n\n\n<figure class=\"wp-block-image alignwide size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1230\" height=\"388\" src=\"https:\/\/joinusto.com\/wordpress\/wp-content\/uploads\/2024\/05\/image-14.png\" alt=\"\" class=\"wp-image-104\"\/><figcaption class=\"wp-element-caption\"><em>N\u00ba de CPEs offline por Amplificador HFC<\/em><\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image alignwide size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1216\" height=\"177\" src=\"https:\/\/joinusto.com\/wordpress\/wp-content\/uploads\/2024\/05\/image-15.png\" alt=\"\" class=\"wp-image-105\"\/><figcaption class=\"wp-element-caption\"><em>Direcci\u00f3n de servicio del CRM, por CPE offline<\/em><\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image alignwide size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1212\" height=\"269\" src=\"https:\/\/joinusto.com\/wordpress\/wp-content\/uploads\/2024\/05\/image-16.png\" alt=\"\" class=\"wp-image-106\"\/><figcaption class=\"wp-element-caption\"><em>Estados de Modulaciones.Us y SNR.Us por CH en la CMTs<\/em><\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Ejemplo de App OLTs FTTH<\/strong><\/p>\n\n\n\n<p class=\"has-drop-cap has-heading-font-family wp-block-paragraph\">Otra de la las posibilidades a la hora de desarrollar una App de soporte es utilizar los comandos shell de las OLTs, cabeceras de FTTH. Se pueden sacar comandos b\u00e1sicos, que se pueden consultar en el CLi, para obtener datos que se pueden implementaren una App de soporte, enriqueciendo y simplificando el proceso de explotaci\u00f3n, en un NOC;<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li class=\"has-heading-font-family\">ONUs LOS<\/li>\n\n\n\n<li class=\"has-heading-font-family\">ONUs DyingGasp<\/li>\n\n\n\n<li class=\"has-heading-font-family\">StateTime de las ONUs<\/li>\n\n\n\n<li class=\"has-heading-font-family\">Otros..<\/li>\n<\/ul>\n\n\n\n<p class=\"has-heading-font-family wp-block-paragraph\">Con esto el desarrollo es sencillo, igual que lo era para la App de HFC, se puede combinar en una misma herramienta, los datos del CLi con los datos del CRM de los clientes, haciendo las consultas por OLTs completas, diagnosticando por estados LOS por PON, CTOs, o direcci\u00f3n de servicio.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"715\" height=\"460\" src=\"https:\/\/joinusto.com\/wordpress\/wp-content\/uploads\/2024\/05\/image-17.png\" alt=\"\" class=\"wp-image-107\"\/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"719\" height=\"384\" src=\"https:\/\/joinusto.com\/wordpress\/wp-content\/uploads\/2024\/05\/image-18.png\" alt=\"\" class=\"wp-image-108\"\/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"720\" height=\"357\" src=\"https:\/\/joinusto.com\/wordpress\/wp-content\/uploads\/2024\/05\/image-19.png\" alt=\"\" class=\"wp-image-109\"\/><figcaption class=\"wp-element-caption\"><em>Buscamos por OLT estados LOS<\/em><\/figcaption><\/figure>\n\n\n\n<p class=\"has-heading-font-family wp-block-paragraph\">Obtenemos los datos como ejemplo de App de Explotaci\u00f3n de Soporte;<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"585\" height=\"367\" src=\"https:\/\/joinusto.com\/wordpress\/wp-content\/uploads\/2024\/05\/image-20.png\" alt=\"\" class=\"wp-image-110\" style=\"width:585px;height:auto\"\/><figcaption class=\"wp-element-caption\"><em>Resum\u00e9n OLT<\/em><\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image alignwide size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1217\" height=\"375\" src=\"https:\/\/joinusto.com\/wordpress\/wp-content\/uploads\/2024\/05\/image-21.png\" alt=\"\" class=\"wp-image-111\"\/><figcaption class=\"wp-element-caption\"><em>N\u00ba de LOS por PON<\/em><\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image alignwide size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1761\" height=\"389\" src=\"https:\/\/joinusto.com\/wordpress\/wp-content\/uploads\/2024\/05\/image-22.png\" alt=\"\" class=\"wp-image-112\"\/><figcaption class=\"wp-element-caption\"><em>N\u00ba de LOS por CTO<\/em><\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image alignwide size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1899\" height=\"536\" src=\"https:\/\/joinusto.com\/wordpress\/wp-content\/uploads\/2024\/05\/image-23.png\" alt=\"\" class=\"wp-image-113\"\/><figcaption class=\"wp-element-caption\"><em>Detalle de ONUs por Fecha LOS<\/em><br><\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Conclusi\u00f3n:<\/strong><\/p>\n\n\n\n<p class=\"has-heading-font-family wp-block-paragraph\">Apostar por desarrollos propios como los ejemplos que hemos visto, que permitan realizar a mediada consulta de niveles o estados cruzados con los datos de CRM, facilitar\u00e1 el an\u00e1lisis y el diagn\u00f3stico, reduciendo tiempos de respuesta\u2026<\/p>\n","protected":false},"excerpt":{"rendered":"<p>El an\u00e1lisis de los datos, que se obtienen de las cabeceras de FTTH o HFC, mediante sus CLi de gesti\u00f3n, a trav\u00e9s de conexiones SSH, nos permite su utilizaci\u00f3n en la explotaci\u00f3n de la red y la detecci\u00f3n de incidencias de car\u00e1cter masivo mediante su an\u00e1lisis. Una manera de explotaci\u00f3n de los datos de red, [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6],"tags":[],"class_list":["post-94","post","type-post","status-publish","format-standard","hentry","category-dev-apps"],"_links":{"self":[{"href":"https:\/\/joinusto.com\/wordpress\/wp-json\/wp\/v2\/posts\/94","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/joinusto.com\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/joinusto.com\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/joinusto.com\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/joinusto.com\/wordpress\/wp-json\/wp\/v2\/comments?post=94"}],"version-history":[{"count":8,"href":"https:\/\/joinusto.com\/wordpress\/wp-json\/wp\/v2\/posts\/94\/revisions"}],"predecessor-version":[{"id":962,"href":"https:\/\/joinusto.com\/wordpress\/wp-json\/wp\/v2\/posts\/94\/revisions\/962"}],"wp:attachment":[{"href":"https:\/\/joinusto.com\/wordpress\/wp-json\/wp\/v2\/media?parent=94"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/joinusto.com\/wordpress\/wp-json\/wp\/v2\/categories?post=94"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/joinusto.com\/wordpress\/wp-json\/wp\/v2\/tags?post=94"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}