You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
Go to file
Aidaho12 109244747c
Add files via upload
7 years ago
cgi-bin Create 172.28.5.5-2018-01-10.13\:56\:02.cfg 7 years ago
image Add files via upload 7 years ago
log Create config_edit.log 7 years ago
.gitignore Initial commit 7 years ago
LICENSE Initial commit 7 years ago
README.md Update README.md 7 years ago
favicon.ico Add files via upload 7 years ago
haproxy-webintarface.config Update haproxy-webintarface.config 7 years ago
index.html Update index.html 7 years ago
requirements.txt Create requirements.txt 7 years ago
server.py Update server.py 7 years ago
style.css Add files via upload 7 years ago

README.md

haproxy web intarface

A simple web interface(user-frendly web GUI) for managing Haproxy servers

alt text

Capabilities:

  1. View statistics of all servers in one place
  2. View logs of all servers in one place
  3. Disabling / enabling the backend servers without reboot (after reboot, will work as specified in the config), viewing server state data
  4. Browsing Configs
  5. Editing configs
  6. Rollback to previous versions of the config
  7. Comparing versions of configs

Install

For install just dowload archive and untar somewhere:

$ cd /opt/haproxy-webintarface
$ tar xf haproxy-webintarface-master.zip
$ pip3 -r requirements.txt

If foler not /opt/haproxy/, edit server.py:

path_config = "/opt/haproxy/haproxy-webintarface.config"

Settings

edit haproxy-webintarface.config with your env

copy ssh key on all HAproxy servers

For online edit HAproxy settings enable socket on HAproxt servers:

global
    log         172.28.0.5 local2 debug err
    stats socket *:1999 level admin

alt text

Start

Create systemd service to auto start:

[Unit]
Description=Haproxy web interface
After=syslog.target network.target 

[Service]
Type=simple
User=user

ExecStart=/opt/haproxy/server.py >> /opt/haproxy/log/haproxy-webface.log 

RestartSec=2s
Restart=on-failure
TimeoutStopSec=1s

[Install]
WantedBy=multi-user.target

alt text