mirror of https://github.com/Aidaho12/haproxy-wi
parent
5e7115f9d9
commit
dda49db5fa
79
README.md
79
README.md
|
@ -12,42 +12,45 @@ Web interface(user-friendly web GUI, alerting, monitoring and secure) for managi
|
|||

|
||||
|
||||
# Features:
|
||||
1. Installation and updating HAProxy, Nginx and Keepalived with HAProxy-WI
|
||||
1. Installation and updating Grafana, Prometheus servers with HAProxy-WI
|
||||
1. Installation and updating HAProxy and Nginx exporters with HAProxy-WI
|
||||
1. Servers provisioning on AWS and DigitalOcean
|
||||
2. Configure HAProxy, Nginx and Keepalived In a jiffy with HAProxy-WI
|
||||
3. Dynamic change of Maxconn, backend's IP address and port with saving changes to the config file
|
||||
3. View and analyse Status of all Frontend/backend server via HAProxy-WI from a single control panel.
|
||||
4. Enable/disable servers through stats page without rebooting HAProxy
|
||||
5. View/Analyse HAproxy, Nginx logs straight from the HAProxy-WI web interface
|
||||
6. Create and visualise the HAProxy workflow from Web Ui.
|
||||
7. Push Your changes to your HAProxy, Nginx and Keepalived servers with a single click through web interface
|
||||
8. Get info on past changes, evaluate your config files and restore a previous stable config anytime with a single click straight from Web interface
|
||||
9. Add/Edit Frontend or backend servers via web interface with a click of a button.
|
||||
10. Edit config of HAProxy, Nginx, Keepalived and push changes to All Master/Slave server with a single click
|
||||
11. Add Multiple server to ensure Config Sync between servers.
|
||||
12. Auto management of ports assigned to Fronted.
|
||||
13. Evaluate the changes of recent configs pushed to HAProxy, Nginx and Keepalived instances straight from web ui
|
||||
14. Multiple User Roles support for privileged based Viewing and editing of Config
|
||||
15. Create Groups and add/remove servers to ensure proper identification for your HAProxy, Nginx Clusters
|
||||
16. Send notifications to Telegram directly from HAProxy-WI and in web interface
|
||||
17. HAProxy-WI supports high Availability to ensure uptime to all Master slave servers configured
|
||||
18. SSL certificate support, Let's Encrypt support
|
||||
19. SSH Key support for managing multiple HAProxy Servers straight from HAProxy-WI
|
||||
20. SYN flood protect
|
||||
21. Alerting about changes HAProxy backends state
|
||||
22. Alerting about HAProxy and Nginx service state
|
||||
23. Metrics incoming connections
|
||||
24. Web acceleration settings
|
||||
25. Web application firewall
|
||||
26. LDAP support
|
||||
27. Keep active HAProxy service
|
||||
28. Ability to hide parts of the config with tags for users with "guest" role: "HideBlockStart" and "HideBlockEnd"
|
||||
29. Mobile-ready desing
|
||||
30. Simple port monitoring
|
||||
31. Backup HAProxy, Nginx and Keepalived config files through HAProxy-WI
|
||||
32. Manage OpenVPN3 as client via HAProxy-WI
|
||||
1. Installation and updating HAProxy, Nginx and Keepalived with HAProxy-WI
|
||||
2. Installation and updating Grafana, Prometheus servers with HAProxy-WI
|
||||
3. Installation and updating HAProxy and Nginx exporters with HAProxy-WI
|
||||
4. Server provisioning on AWS, DigitalOcean and G-Core Labs
|
||||
5. Downloading, updating and formatting GeoIP to the acceptable format for HAProxy with HAProxy-WI
|
||||
6. Dynamic change of Maxconn, Black/white lists and backend's IP address and port with saving changes to the config file
|
||||
7. Configuring HAProxy, Nginx and Keepalived in a jiffy with HAProxy-WI
|
||||
8. Viewing and analysing the status of all Frontend/backend servers via HAProxy-WI from a single control panel
|
||||
9. Enabling/disabling servers through stats page without rebooting HAProxy
|
||||
1. Viewing/Analysing HAProxy and Nginx logs right from the HAProxy-WI web interface
|
||||
1. Creating and visualizing the HAProxy workflow from Web Ui
|
||||
1. Pushing Your changes to your HAProxy, Nginx and Keepalived servers with a single click via the web interface
|
||||
1. Getting info on past changes, evaluating your config files and restoring the previous stable config at any time with a single click right from Web interface
|
||||
1. Adding/Editing Frontend or backend servers via the web interface with a click
|
||||
1. Editing the config of HAProxy, Nginx and Keepalived and push ingchanges to All Master/Slave servers by a single click
|
||||
1. Adding Multiple server to ensure the Config Sync between servers
|
||||
1. Managing the ports assigned to Frontend automatically
|
||||
1. Evaluating the changes of recent configs pushed to HAProxy, Nginx and Keepalived instances right from the Web UI
|
||||
1. Multiple User Roles support for privileged based Viewing and editing of Config
|
||||
1. Creating Groups and adding/removing servers to ensure the proper identification for your HAProxy and Nginx Clusters
|
||||
1. Sending notifications from HAProxy-WI via Telegram, Slack and via the web interface
|
||||
1. Supporting high Availability to ensure uptime to all Master slave servers configured
|
||||
1. Support of SSL (including Let's Encrypt)
|
||||
1. Support of SSH Key for managing multiple HAProxy and Nginx Servers straight from HAProxy-WI
|
||||
1. SYN flood protect
|
||||
1. Alerting about сhanges of the state of HAProxy backends
|
||||
1. Alerting about the state of HAProxy and Nginx service
|
||||
1. Gathering metrics for incoming connections
|
||||
1. Web acceleration settings
|
||||
1. Firewall for web application
|
||||
1. LDAP support
|
||||
1. Keep active HAProxy and Nginx services
|
||||
1. Possibility to hide parts of the config with tags for users with "guest" role: "HideBlockStart" and "HideBlockEnd"
|
||||
1. Mobile-ready design
|
||||
1. Simple port monitoring (SMON)
|
||||
1. Backup HAProxy, Nginx and Keepalived config files through HAProxy-WI
|
||||
1. Managing OpenVPN3 as a client via HAProxy-WI
|
||||
|
||||
|
||||
|
||||

|
||||
|
||||
|
@ -74,7 +77,7 @@ Default HAProxy-WI use Sqlite, if you want use MySQL enable in config, and creat
|
|||
|
||||
### Read instruction on the official [site](https://haproxy-wi.org/settings.py#db_settings)
|
||||
|
||||

|
||||

|
||||
|
||||
# Settings
|
||||
|
||||
|
@ -83,7 +86,7 @@ Login https://haproxy-wi-server/users.py, and add: users, groups and servers. De
|
|||
|
||||
### Read instruction on the official [site](https://haproxy-wi.org/settings.py)
|
||||
|
||||

|
||||

|
||||
|
||||
|
||||

|
||||
|
|
|
@ -680,7 +680,7 @@ def update_haproxy_wi(service):
|
|||
except Exception:
|
||||
pass
|
||||
service = 'haproxy-wi-'+service
|
||||
cmd = 'sudo -S yum -y update '+service
|
||||
cmd = 'sudo -S yum -y update ' + service +' && sudo systemctl restart ' + service
|
||||
output, stderr = subprocess_execute(cmd)
|
||||
print(output)
|
||||
print(stderr)
|
||||
|
@ -1256,7 +1256,7 @@ def check_is_server_in_group(serv):
|
|||
|
||||
|
||||
def check_service(serv, service_name):
|
||||
commands = ["systemctl status "+service_name+" |grep Active |awk '{print $1}'"]
|
||||
commands = ["systemctl is-active "+service_name]
|
||||
return ssh_command(serv, commands)
|
||||
|
||||
|
||||
|
@ -1271,7 +1271,7 @@ def get_services_status():
|
|||
'grafana-server': 'Grafana service',
|
||||
'fail2ban': 'Fail2ban service'}
|
||||
for s, v in services_name.items():
|
||||
cmd = "systemctl status %s |grep Act |awk '{print $2}'" % s
|
||||
cmd = "systemctl is-active %s" % s
|
||||
status, stderr = subprocess_execute(cmd)
|
||||
if s != 'keep_alive':
|
||||
service_name = s.split('_')[0]
|
||||
|
|
|
@ -72,15 +72,15 @@ try:
|
|||
prometheus, stderr = funct.subprocess_execute(cmd)
|
||||
host = os.environ.get('HTTP_HOST', '')
|
||||
|
||||
cmd = "systemctl status metrics_haproxy |grep Act |awk '{print $2}'"
|
||||
cmd = "systemctl is-active metrics_haproxy"
|
||||
metrics_master, stderr = funct.subprocess_execute(cmd)
|
||||
cmd = "systemctl status checker_haproxy |grep Act |awk '{print $2}'"
|
||||
cmd = "systemctl is-active checker_haproxy"
|
||||
checker_master, stderr = funct.subprocess_execute(cmd)
|
||||
cmd = "systemctl status keep_alive |grep Act |awk '{print $2}'"
|
||||
cmd = "systemctl is-active keep_alive"
|
||||
keep_alive, stderr = funct.subprocess_execute(cmd)
|
||||
cmd = "systemctl status smon |grep Act |awk '{print $2}'"
|
||||
cmd = "systemctl is-active smon"
|
||||
smon, stderr = funct.subprocess_execute(cmd)
|
||||
cmd = "systemctl status portscanner |grep Act |awk '{print $2}'"
|
||||
cmd = "systemctl is-active portscanner"
|
||||
port_scanner, stderr = funct.subprocess_execute(cmd)
|
||||
|
||||
except Exception as e:
|
||||
|
|
|
@ -278,7 +278,7 @@ $( function() {
|
|||
type: "POST",
|
||||
success: function( data ) {
|
||||
data = data.replace(/^\s+|\s+$/g,'');
|
||||
if(data == 'Active:') {
|
||||
if(data == 'active') {
|
||||
$('#cur_haproxy_exp_ver').text('HAProxy expoter is installed');
|
||||
$('#haproxy_exp_install').text('Update');
|
||||
$('#haproxy_exp_install').attr('title', 'Update HAProxy expoter');
|
||||
|
@ -301,7 +301,7 @@ $( function() {
|
|||
type: "POST",
|
||||
success: function( data ) {
|
||||
data = data.replace(/^\s+|\s+$/g,'');
|
||||
if(data == 'Active:') {
|
||||
if(data == 'active') {
|
||||
$('#cur_nginx_exp_ver').text('Nginx expoter is installed');
|
||||
$('#nginx_exp_install').text('Update');
|
||||
$('#nginx_exp_install').attr('title', 'Update Nginx expoter');
|
||||
|
|
Loading…
Reference in New Issue