Donc, j'ai configuré Haproxy pour que la journalisation passe par rsyslog et, pour l'instant, soit tout sauvegardée dans un seul fichier.
C'est définitivement la journalisation, car j'obtiens ces messages de "démarrage" au démarrage, mais aucune requête HTTP ne se connecte du tout. Quel est le problème avec ma configuration?
haproxy.cfg :
global
log /dev/log local0 debug
chroot /var/lib/haproxy
stats socket /run/haproxy/admin.sock mode 660 level admin
stats timeout 30s
user haproxy
group haproxy
daemon
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
frontend webfront
option forwardfor
stats enable
stats uri /haproxy?statis
stats realm Haproxy\ Auth
stats auth user:password
bind *:80
timeout client 86400000
acl is_discourse hdr_end(host) -i discourse.mydomain.com
use_backend discourse if is_discourse
use_backend webserver if !is_discourse
backend discourse
balance source
option forwardfor
option httpclose
server server1 127.0.0.1:3080 weight 1 maxconn 1024 check inter 10000
backend webserver
balance source
option forwardfor
option httpclose
server server2 127.0.0.1:4080 weight 1 maxconn 1024 check inter 10000
Fichier journal :
root@kayak:/var/log/haproxy# tail haproxy.log
Nov 26 21:25:25 kayak haproxy[21646]: Proxy webfront started.
Nov 26 21:25:25 kayak haproxy[21646]: Proxy webfront started.
Nov 26 21:25:25 kayak haproxy[21646]: Proxy discourse started.
Nov 26 21:25:25 kayak haproxy[21646]: Proxy webserver started.
Nov 26 21:28:10 kayak haproxy[21868]: Proxy webfront started.
Nov 26 21:28:10 kayak haproxy[21868]: Proxy discourse started.
Nov 26 21:28:10 kayak haproxy[21868]: Proxy webserver started.
Nov 26 21:30:31 kayak haproxy[22045]: Proxy webfront started.
Nov 26 21:30:31 kayak haproxy[22045]: Proxy discourse started.
Nov 26 21:30:31 kayak haproxy[22045]: Proxy webserver started.
J'ai visité certaines des pages du serveur Web entre les redémarrages de thsoe et déclenché quelques erreurs 404. Pourquoi rien n'apparaît?
Modifier: fichier de conf rsyslog.
/etc/rsyslog.d/49-haproxy.conf:
local0.* -/var/log/haproxy_0.log
if ($programname == 'haproxy') then -/var/log/haproxy/haproxy.log
& ~
Réponses:
Vous devez spécifier le journal dans le frontend si vous voulez vraiment que chaque demande soit enregistrée. Mais généralement, c'est trop pour le serveur et votre disque sera plein en un rien de temps.
la source
rsyslog
- être n'est-il pas correctement configuré? Y aurait-il un moyen de le savoir?/dev/log
la journalisation via le journal de socket unix ne fonctionne pas pour moi sur mon rhel 6.7.vous pouvez essayer avec cette conf. haproxy (travaille sur 81) transmet la demande http à httpd (travaille sur 80)
/etc/haproxy/haproxy.cfg
et vous devez activer le module udp rsyslog pour recevoir syslog de haproxy une simple conf comme ceci:
/etc/rsyslog.d/haproxy.conf
faites une requête http à 81, et vous obtenez bien des journaux comme celui-ci
la source
Cela peut être dû à son exécution dans une prison chroot. Vous devrez vous assurer que rsyslog crée également une socket dgram à l'intérieur de la prison chroot (par exemple / var / lib / haproxy / dev / log). Pointez votre directive log vers la socket / dev / log et vous devriez être bon.
J'ai passé quelques heures à essayer de comprendre cela, car HAproxy ne vous dira rien d'autre que la journalisation qui ne fonctionne pas.
la source
Ce lien l' explique parfaitement.
Si vous créez manuellement des fichiers journaux
/log/haproxy-allbutinfo.log
et/log/haproxy-info.log
, n'oubliez pas de changer de propriétaire ensyslog:adm
la source