Cómo escribir accidentalmente una GUI web para Haproxy

El mundo moderno de los administradores de sistemas nos ha adormecido con hermosos rostros web que ni siquiera quieren instalar software donde no hay este "tipo" (siento que las piedras volarán de las alineaciones ortodoxas), bueno, es imposible escalar allí a través de una línea, ¿verdad? Todo estaría bien si instalé, configuré y olvidé qué hacer, si necesita escalar, editar constantemente y, por supuesto, no hay un registro de todas las acciones, no escriba cp cfg cfg_back cada vez, se confundirá con el tiempo y lo olvidará. .



Hace muchos años conocí un equilibrador tan maravilloso como Haproxy. Todo es maravilloso y bello. Obtuve muchos de ellos y pensé en buscar una GUI para ellos, pero sorprendentemente no fue así. Software muy popular, además de bastante antiguo, pero bueno, pensé y continué editando ocasionalmente los bolígrafos en mi vi favorito y tengo un montón de pestañas abiertas con estadísticas de todos los servidores activos. Pero ha llegado el momento y tuve que satisfacer la "Lista de deseos" de las personas que escribieron software para trabajar a través de http, y aquí comenzó lo interesante ...

Bolígrafos peinados, ojos iluminados y comencé. Empecé a pensar con más precisión sobre qué escribir, para 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. Como resultado, la elección recayó en Python, en el futuro pensé que sería útil y comencé a absorber información.

Al comienzo de la tarea no era tan complicado: la capacidad de editar configuraciones desde la interfaz web desde un único punto de entrada, guardar versiones anteriores de configuraciones. Resultó que era posible implementar esta funcionalidad no muy grande lo suficientemente rápido, pero luego la pereza administrativa o el notorio perfeccionismo saltaron a mí y, por supuesto, me pareció insuficiente. Y aquí, tales características comenzaron a aparecer como: comparar dos configuraciones, registrar todas las acciones relacionadas con las configuraciones, API de tiempo de ejecución y agregar secciones a través de la web.



¿Y como administrador decente de UNIX que vive a expensas del software libre, decidí compartir con el mundo y ser útil para alguien más? Pero para esto era necesario hacer todo lo posible para que no fuera necesario subir al código, sino al máximo en las configuraciones a tope (ahora la mayoría de las configuraciones se han trasladado a la base de datos. En cuanto a mí, se ha vuelto más conveniente editarlas y no habrá errores al actualizar debido a la falta de ninguno o parámetro).

Un mes después, publiqué mi oficio en Github, especialmente sin contar con nada. Pero en vano, el software resultó ser ligeramente demandado, y aquí comenzó la diversión ... El "dopilka" activo ha estado sucediendo durante casi un año. A veces hay un deseo de dejar todo esto, porque Mis necesidades están bloqueadas por mucho tiempo. Bueno, ¿por qué necesito la oportunidad de implementar un "clúster" con keepalived y HAProxy a través de la web, si me toma un par de minutos? Y la gente lo encuentra necesario, y tengo curiosidad, y hay algo que hacer. Aunque, por supuesto, necesito algunas funciones, por ejemplo, monitorear servidores back-end, ¿están disponibles para Haproxy? Por supuesto, tenemos monitoreo corporativo, pero hay personas que pueden reaccionar durante mucho tiempo, + porque Mi departamento se dedica al desarrollo y el software aparece o desaparece durante mucho tiempo para romper la burocracia.



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

Source: https://habr.com/ru/post/es419865/


All Articles