39

Как редактировать конфиг через Web-GUI для Haproxy (и не только)

О том, как написать Web GUI для HAProxy, мы уже говорили в двух статьях (1 и 2). С момента публикации последней статьи прошёл год; сейчас, по прошествии времени, очевидно, что о многих вещах (важных и полезных) мы так и не рассказали подробно. Сегодня мы возвращаемся на Пикабу - и постараемся публиковать статьи на более или менее регулярной основе. В этих статьях мы подробно расскажем о специфике работы c Roxy-WI, о возможностях и преимуществах нашего решения. Начнём с набора функций, о котором мы в предыдущих статьях упоминали, но мало. Речь идёт о работе с конфигурационными файлами.

С помощью Roxy-WI можно работать с конфигурационными файлами для трёх сервисов: HAProxy, Nginx и Keepalived. Через веб-интерфейс пользователи могут выполнять следующие операции:


1. редактировать конфигурационные файлы;

2. визуализировать структуру сети;

3. сравнивать текущую версию конфигурационного файла с предыдущей;

4. сохранять все предыдущие версии конфигурационных файлов и откатываться на старую версию в случае необходимости;


Рассмотрим каждую из этих функций подробнее.



Зачем вообще редактировать конфигурационные файлы через веб-интерфейс?


Такой вопрос может возникнуть у многих читателей. Действительно, многие из нас привыкли работать с конфигурационными файлами в текстовом редакторе, и никаких сложностей в этом на первый взгляд нет. Но есть нюансы. Начнём с того, что конфигурационный файл может иметь очень сложную структуру. Сориентироваться в нём бывает сложно, особенно начинающему пользователю. В графическом интерфейсе Roxy-WI всё просто и наглядно. Возьмём в качестве примера конфигурационный файл для HAProxy. Итак, выбираем в главном меню HAProxy => Configs, в выпадающем меню выбираем нужный сервер и нажимаем на кнопку Open. После этого видим такую картину (приводим небольшой фрагмент конфига, секции global и defaults):

Всё вполне понятно; если кликнуть по ссылке Edit, откроется форма для редактирования:

После внесения изменений можно нажать на кнопку Check config и проверить конфигурационный файл на наличие синтаксических ошибок.

Для начинающего пользователя HAProxy (а также Nginx и Keepalived) на таком интерфейсе очень хорошо учиться. Опытному пользователю графический интерфейс поможет не запутаться в сложных конфигах и тем самым снизить вероятность ошибок из-за человеческого фактора.

Ещё Roxy-WI может существенно упростить жизнь, если серверов много: все конфиги можно редактировать в одном месте. Если вы изменили конфиг на master-сервере и применили одно из указанных на кнопках со скриншота выше действий, аналогичные изменения произойдут и на slave-сервере.



Визуализация


Просто читая конфигурационный файл HAProxy, не всегда можно сразу представить, а как именно всё устроено. Именно для этого в Roxy-WI предусмотрена функция визуализации. Выбираем нужный сервер, нажимаем на кнопку Map и видим:

Такая возможность очень полезна для всех, кто только учится работать с HAProxy.

Кроме того, она может очень пригодится в ситуации, когда нужно что-то наглядно объяснить коллегам, которые с HAProxy вообще дела не имели или имели, но очень мало (менеджерам, тестировщикам. техническим писателям и многим другим — здесь возможны варианты).



Работа с версиями


Представьте себе такую гипотетическую ситуацию: вы что-то изменили в конфиге, и нужный вам сервис (тот же HAProxy или Nginx) не запускается. Для таких случаев в Roxy-WI предусмотрена возможность сравнения конфигурационных файлов.

Выбираем нужные версии, нажимаем на кнопку Compare — и на видим diff двух конфигов. Выглядит он так же, как дифф файлов на GitHub:

Функция сравнения также может пригодиться в случаях, когда доступ к конфигурационным файлам имеют несколько человек: можно довольно быстро установить, кто, когда и что изменил.


Так как Roxy-WI сохраняет все версии конфигурационных файлов, то в случае возникновения неисправностей всегда можно откатиться на предыдущую версию. Например, если после изменения конфига возникли ошибки, вы можете откатиться на старую (рабочую) версию, и сервисы будут доступны, пока вы ищете и исправляете ошибки в новой.


Набор функций по работе с версиями мы планируем расширять. В Roxy-WI серверы могут получать статус protected. Для этих серверов мы планируем сделать следующее:, полноценное редактирование будет доступно только администраторам, а остальные пользователи смогут только предагать изменения. После проверки админом эти изменения могут быть или приняты, или отклонены — принцип такой же, как при работе с мердж-реквестами на GitHub.



Заключение


В этой статье мы рассказали о возможностях работы с конфигурационными файлами через Roxy-WI. Приглашаем всех попробовать и приводим полезные ссылки:


https://roxy-wi.org/ - официальный сайт проекта (здесь же документация);

https://github.com/hap-wi/roxy-wi - официальный репозиторий проекта.


Любые пожелания по улучшению работы с конфигурами приветствуются - добро пожаловать в комментарии.

GNU/Linux

1.2K поста15.6K подписчика

Правила сообщества

Все дистрибутивы хороши.

Будьте людьми.

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества