He instalado haproxy 1.5 a través de apt-get en Ubuntu 14.04 vía ppa:vbernat/haproxy-1.5
según http://haproxy.debian.net/
El problema es iniciar sesión en /var/log/syslog
lugar de/var/log/haproxy.log
La configuración es básicamente la predeterminada:
/etc/haproxy/haproxy.cfg
global
log /dev/log local0
log /dev/log local1 notice
chroot /var/lib/haproxy
stats socket /run/haproxy/admin.sock mode 660 level admin
stats timeout 30s
user haproxy
group haproxy
daemon
# Default SSL material locations
ca-base /etc/ssl/certs
crt-base /etc/ssl/private
# Default ciphers to use on SSL-enabled listening sockets.
# For more information, see ciphers(1SSL).
ssl-default-bind-ciphers kEECDH+aRSA+AES:kRSA+AES:+AES256:RC4-SHA:!kEDH:!LOW:!EXP:!MD5:!aNULL:!eNULL
ssl-default-bind-options no-sslv3
defaults
log global
mode http
option httplog
option dontlognull
timeout connect 5000
timeout client 50000
timeout server 50000
errorfile 400 /etc/haproxy/errors/400.http
errorfile 403 /etc/haproxy/errors/403.http
errorfile 408 /etc/haproxy/errors/408.http
errorfile 500 /etc/haproxy/errors/500.http
errorfile 502 /etc/haproxy/errors/502.http
errorfile 503 /etc/haproxy/errors/503.http
errorfile 504 /etc/haproxy/errors/504.http
/etc/rsyslog.d
# Create an additional socket in haproxy's chroot in order to allow logging via
# /dev/log to chroot'ed HAProxy processes
$AddUnixListenSocket /var/lib/haproxy/dev/log
# Send HAProxy messages to a dedicated logfile
if $programname startswith 'haproxy' then /var/log/haproxy.log
&~
Respuestas:
Muy engañoso. :-) Y aquí está la respuesta engañosa:
Observe el archivo en
/etc/rsyslog.d
Se dice que inicie sesión en haproxy/var/log/haproxy.log
Pero esto no surtirá efecto sin reiniciar rsyslog:fuente
El
haproxy.conf
archivo predeterminado proporciona instrucciones claras en la Configuración global -global
. Aquí estoy copia pegándolo por tiEn mi caso, por ejemplo, estoy ejecutando haproxy en CentOS 6.6, el mismo servidor syslogd y tuve que hacer lo siguiente para iniciar sesión en /var/log/haproxy.log:
Agregar debajo de la línea a
/etc/rsyslog.d/haproxy.conf
-Habilite el registro syslogd en el servidor -
fuente
/etc/rsyslog.conf
. Después de eso, reinicie el servicio rsyslog:service rsyslog restart
Comenta esta línea de
/etc/rsyslog.d
fuente
/etc/rsyslog.d
es un directorio, no un archivo. No estoy seguro de las diferencias entre 1.5 y 1.6 en Ubuntu, pero el archivo/etc/rsyslog.d/49-haproxy.conf
existe después de la instalación de 1.6. Esto tiene las siguientes 3 líneas:$AddUnixListenSocket /var/lib/haproxy/dev/log \n if $programname startswith 'haproxy' then /var/log/haproxy.log \n &~
(agregué "\ n" para denotar las nuevas líneas)el principal problema es que el haproxy chrooteado no podrá acceder
/dev/log
y, para evitar el problema, puede:/var/lib/haproxy/dev
y monte/dev
con la opción de vinculación en/var/lib/haproxy/dev
Funciona de cualquier manera.
[editar]
Después de 3 años, algo ha cambiado. Haproxy ahora crea un archivo llamado
/etc/rsyslog.d/49-haproxy
. Una de las líneas en el archivo es:$AddUnixListenSocket /var/lib/haproxy/dev/log
.En este caso, el entorno chroot puede usar
/dev/log
fuente
/dev/log
.