✔️ Как управлять серверами HAProxy из веб-интерфейса |

✔️ Как управлять серверами HAProxy из веб-интерфейса

Мануал

HAProxy – это быстрое и надежное решение с открытым исходным кодом, предлагающее балансировку нагрузки, высокую доступность и прокси для приложений на базе HTTP и TCP.

HAProxy является де-факто стандартом в решениях по балансировке нагрузки с открытым исходным кодом.

Стандартным способом управления HAProxy является ручное редактирование файлов конфигурации или использование инструмента управления конфигурацией, такого как Ansible, Puppet или Chef, для отправки изменений.

Это отлично работает, но не для всех пользователей.

В этой статье мы рассмотрим, как вы можете использовать сторонний инструмент haproxy-wi для управления вашими серверами HAProxy из веб-интерфейса.

Внимание: Это программное обеспечение все еще новое и не имеет большого сообщества, поддерживающего его. Выполните тщательное тестирование, прежде чем использовать его для управления производственными серверами.

Особенности веб-интерфейса haproxy-wi

Этот веб-интерфейс HAProxy позволяет:

  • Включить / отключить серверы через страницу статистики без перезагрузки HAProxy
  • Просмотр / анализ журналов HAproxy прямо из веб-интерфейса
  • Легко отправляйте ваши изменения на ваши серверы HAproxy
  • Оцените ваши конфигурационные файлы и восстановите предыдущую стабильную конфигурацию в любое время
  • Можно добавить / редактировать фронтенд или бэкэнд серверы
  • Управление группами серверов и ролями пользователей
  • Он поддерживает высокую доступность для обеспечения работоспособности всех настроенных главных подчиненных серверов.
  • SSL-сертификат и поддержка SSH-ключей
  • SYN защита от флуда
  • Сбор метрик и оповещение об изменениях
  • Поддержка LDAP
  • и многое другое.

Установка HAProxy Web Interface

Есть два метода, которые вы можете использовать для установки веб-интерфейса haproxy-wi для HAProxy.

  • Установка с помощью скрипта автоматизации
  • Запуск его в контейнере Docker

Установка haproxy-wi с помощью скрипта

Выполните это действие на только что установленном сервере CentOS 7 или Ubuntu 18.04.

Я делаю установку на свежем сервере CentOS 7.

Убедитесь, что git установлен в вашей системе.

# На CentOS 7
$ sudo yum -y install git wget

# На Ubuntu 18.04
$ sudo apt -y install git wget

После установки git загрузите скрипт.

sudo su -
sudo git clone https://github.com/Aidaho12/haproxy-wi.git /var/www/haproxy-wi

Перейдите в /var/www/haproxy-wi и запустите установщик.

cd /var/www/haproxy-wi
chmod +x install.sh
sudo ./install.sh

При запуске скрипта вам будет предложено выбрать базу данных для использования и установить другие переменные.

$ sudo ./install.sh
Choose DB: (1)Sqlite or (2)Mysql? Default: Sqlite
 2
Mysql server is (1)remote  or (2)local?
 2
Choose Haproxy-WI port. Default: [8080]
 Enter Haproxy-wi home dir. Default: /var/www/[haproxy-wi]

Он установит все зависимости и добавит файл конфигурации Apache в /etc/httpd/conf.d/haproxy-wi.conf.

Файл выглядит так:

<VirtualHost *:8080>
        ServerName haprox-wi.example.com
        ErrorLog /var/log/httpd/haproxy-wi.error.log
        CustomLog /var/log/httpd/haproxy-wi.access.log combined
		TimeOut 600
		LimitRequestLine 16380

        DocumentRoot /var/www/haproxy-wi
        ScriptAlias /cgi-bin/ "/var/www/haproxy-wi/app/"


        <Directory /var/www/haproxy-wi/app>
                Options +ExecCGI
                AddHandler cgi-script .py
                Order deny,allow
                Allow from all
        </Directory>
		
		<FilesMatch "\.config$">
                Order Deny,Allow
                Deny from all
        </FilesMatch>
</VirtualHost>

Отредактируйте файл и установите правильное имя сервера – ServerName, затем перезапустите службу httpd.

sudo systemctl restart httpd

Запуск haproxy-wi в контейнере Docker

Установите Docker:

Затем запустите haproxy-Wi контейнер

docker run -d --name haproxy-wi -v haproxy-wi:/var/www/haproxy-wi/app \
-p 8080:80 aidaho/haproxy-wi

Использование haproxy-wi Web Dashboard

Чтобы получить доступ к веб-интерфейсу, используйте настроенное имя сервера или IP-адрес на порту 8080.

Учетные данные по умолчанию:

Username: admin
Password: admin

Окно Overview покажет следующее.

Сбросьте пароль администратора и другого пользователя в разделе Admin>Users

Чтобы добавить сервер HAproxy, зайдите в область Admin area

Но сначала добавьте группу хостов и добавьте учетные данные SSH.

Добавьте сервер, предоставив необходимую информацию.

Добавленный сервер должен отображаться в разделе «Overview».

Что дальше?

Посмотрите видеоролики, демонстрирующие различные параметры конфигурации панели инструментов haproxy-wi.

Другие статьи о HAProxy:

 

Пожалуйста, не спамьте и никого не оскорбляйте. Это поле для комментариев, а не спамбокс. Рекламные ссылки не индексируются!
Добавить комментарий для Eugene Отменить ответ

  1. Eugene

    sudo git clone https://github.com/Aidaho12/haproxy-wi.git в данной папке нет файла install.sh

    Ответить
    1. byStep

      Приветствую!
      Да, инструкция нерабочая.
      Там как в лучших традициях надо ещё поплясать с бубном)))

      apt install python3-pip
      pip3 install -r haproxy-wi/requirements.txt
      chmod +x haproxy-wi/app/*.py

      и возможно ещё create_db.py запустить.

      Ответить
      1. cryptoparty автор

        Привет, ну с релизами меняется дизайн и архитектура.
        По возможности обновлю статью 🙂

        Ответить
  2. Алексей

    docker требует авторизация для aidaho/haproxy-wi

    Ответить
    1. cryptoparty автор

      docker login docker pull

      Ответить