diff --git a/README.md b/README.md index 8b231b9863d3bf72b3ed229dcd79687de0ea1cd5..33a10af8752b4111a4b67be7a5de01056bc69e68 100644 --- a/README.md +++ b/README.md @@ -12,3 +12,26 @@ The seqeuence of those compoenents is this: - Private Key, e.g. example.com.key.pem - Domain Certficate, e.g. example.com.crt.pem - Intermediate Certificate, e.g. example.com.ca.crt.pem + +# Watching statistics + +Create an SSH tunnel to the haproxy host's port 7000 and then go to `http://127.0.0.1:7000/haproxy_stats` to get live stats. + +# Talking to HaProxy Socket + +HaProxy can communicate with the console through a socket and we provide a script called `hasocket` which can be used for that purpose. You either call that from the proxy's console or run it through Ansible with this command: + +``` +a -a "hasocket 'help'" --limit=proxyserver +``` + +Useful commands might be: + +- "show info" + show informations like haproxy version, PID, current connections, session rates, tasks, etc.. +- "show stat" + prints the stats about all frontents and backends (connection statistics etc) in a csv format +- "show errors" + indeed the following prints informations about errors if there are any +- "show sess" + show open sessions with the used backend/frontend, the source, etc.. diff --git a/tasks/install.yml b/tasks/install.yml index 54c9031ddd2ad337839cdee5f0355e1bcae76c13..e6f8ad293737b0c295a5d8231694a45ee0c0f3ce 100644 --- a/tasks/install.yml +++ b/tasks/install.yml @@ -44,3 +44,11 @@ owner='root' group='root' mode='644' + +- name: "Proxy | Install script to read socket" + template: + src='hasocket' + dest='/usr/local/bin/hasocket' + owner='root' + group='root' + mode='755' diff --git a/templates/hasocket b/templates/hasocket new file mode 100644 index 0000000000000000000000000000000000000000..f679d135f076a4dcfd6920688bacb2dc74521b47 --- /dev/null +++ b/templates/hasocket @@ -0,0 +1,3 @@ +#!/bin/sh + +echo "$1" | sudo socat unix-connect:/run/haproxy/admin.sock stdio