Cómo escribir accidentalmente una Web-GUI para Haproxy

El mundo moderno de los administradores de sistemas nos ha vuelto tan vagos con las hermosas páginas web que ni siquiera queremos instalar software que no tenga este "tipo" (siento como si las piedras estuvieran a punto de volar de los devotos grapadores). Bueno, no es como si estuvieras constantemente subiendo por la línea, ¿verdad? Todo estaría bien si el software estuviera instalado, configurado y olvidado, pero qué hacer si necesita subir allí constantemente, editarlo y, por supuesto, no hay un registro de todas las acciones, no escriba cp cfg cfg_back cada vez, encima Con el tiempo te confundirás y te olvidarás de este asunto.

Cómo escribir accidentalmente una Web-GUI para Haproxy

Hace muchos años conocí a un equilibrador tan maravilloso como Haproxy. Todo es maravilloso y hermoso. Tenía muchos y pensé en buscar una GUI para ellos, pero sorprendentemente no había ninguna. Un software muy popular, y también bastante antiguo, pero bueno, pensé y seguí editando ocasionalmente los bolígrafos en mi vi favorito y teniendo un montón de pestañas abiertas con estadísticas de todos los servidores activos. Pero llegó el momento y tuve que satisfacer los “deseos” de la gente que escribía software para trabajar vía http, y ahí es donde las cosas se pusieron interesantes…

Me picaban las manos, se me iluminaron los ojos y me sobresalté. Más precisamente, comencé a pensar en qué escribir, a recordar el PHP olvidado hace mucho tiempo, de alguna manera no quería, y parecía que no era del todo adecuado para este asunto. Al final, la elección recayó en Python, definitivamente será útil en el futuro, pensé, y comencé a absorber la información.

Al principio, las tareas no eran tan difíciles: la capacidad de editar configuraciones desde la interfaz web desde un punto de entrada, guardando versiones anteriores de las configuraciones. Esta funcionalidad no particularmente grande se implementó con bastante rapidez, pero luego la pereza del administrador o el notorio perfeccionismo se apoderaron de mí y, por supuesto, esto no me pareció suficiente. Y luego comenzaron a aparecer características como: comparación de dos configuraciones, registro de todas las acciones relacionadas con las configuraciones, Runtime API y agregar secciones a través de la web.

Cómo escribir accidentalmente una Web-GUI para Haproxy

Y como decente administrador de UNIX que vive del software libre, decidí compartirlo con el mundo, ¿y tal vez le resulte útil a alguien más? Pero para esto era necesario hacer todo de tal manera que no fuera necesario ingresar al código, sino como máximo a los extremos de configuración (ahora la mayoría de las configuraciones se han movido a la base de datos. En cuanto a mí, tiene será más conveniente editarlos y no habrá errores al actualizar debido a la falta de alguno de los parámetros).

Un mes después, publiqué mi manualidad en Github sin muchas expectativas. Pero en vano, el software resultó tener poca demanda y entonces empezó la diversión... La “actualización” activa se lleva a cabo desde hace casi un año. A veces existe el deseo de dejarlo todo, porque... Mis necesidades han estado cubiertas durante mucho tiempo. Bueno, ¿por qué necesito la oportunidad de implementar un “clúster” con keepalived y HAProxy a través de la web, si sólo me lleva un par de minutos? Pero resulta que la gente lo necesita, a mí me interesa y hay algo que hacer. Aunque, por supuesto, hay funciones que necesito, por ejemplo, monitorear los servidores backend y si están disponibles para Haproxy. Por supuesto, tenemos un seguimiento corporativo, pero hay personas que pueden reaccionar durante bastante tiempo, + porque... Mi departamento se dedica al desarrollo y el software aparece y desaparece el tiempo suficiente para superar la burocracia.

Cómo escribir accidentalmente una Web-GUI para Haproxy

En general, decidí compartirlo, porque resulta que esta es la única GUI gratuita. ¿Qué pasa si alguien lo encuentra útil? Enlace a GitHub.

Fuente: habr.com

Añadir un comentario