Question haproxy se connectant à syslog


J'ai installé haproxy 1.5 via apt-get sur Ubuntu 14.04 via ppa:vbernat/haproxy-1.5 selon http://haproxy.debian.net/

Le problème est-il en train de se connecter à /var/log/syslog au lieu de /var/log/haproxy.log

La configuration est fondamentalement la configuration par défaut:

/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
&~

9
2017-11-20 20:07


origine


peut-être que ce lien vous aidera: kvz.io/blog/2010/08/11/haproxy-logging - Federico Sierra


Réponses:


Très délicat. :-) Et voici la réponse astuce:

Notez le fichier dans /etc/rsyslog.d Il dit de se connecter haproxy en /var/log/haproxy.log Mais cela ne prendra pas effet sans redémarrer rsyslog:

service rsyslog restart

14
2018-01-25 18:04



Cela marche. Très simple. - abipc87


Le défaut haproxy.conf fichier fournit des instructions claires dans les paramètres globaux - global. Ici, je suis le copier coller pour vous -

# ------------------------------------------------- --------------------
# Paramètres globaux
# ------------------------------------------------- --------------------
global
    # pour que ces messages finissent dans /var/log/haproxy.log vous
    # besoin de:
    #
    # 1) configurer syslog pour accepter les événements de journal réseau. C'est fait
    # en ajoutant l'option '-r' à SYSLOGD_OPTIONS dans
    # / etc / sysconfig / syslog
    #
    # 2) configurer les événements local2 pour aller dans /var/log/haproxy.log
    #   fichier. Une ligne comme celle-ci peut être ajoutée à
    # / etc / sysconfig / syslog
    #
    #

Dans mon cas, par exemple, j'utilise haproxy dans CentOS 6.6, le même serveur syslogd et je devais procéder comme suit pour me connecter à /var/log/haproxy.log:

  1. Ajouter la ligne ci-dessous à /etc/rsyslog.d/haproxy.conf -

    local2. * /var/log/haproxy.log
  2. Activer la journalisation syslogd sur le serveur -

# Fournit la réception UDP syslog
$ ModLoad imudp
$ UDPServerRun 514
$ UDPServerAddress 127.0.0.1

9
2018-03-20 01:04



Dans la dernière partie, dans la deuxième étape (Activer la journalisation syslogd sur le serveur); vous modifiez ces paramètres dans le fichier /etc/rsyslog.conf. Après cela, redémarrez le service rsyslog: service rsyslog restart - Edenshaw


Commentez cette ligne de /etc/rsyslog.d

# Send HAProxy messages to a dedicated logfile
if $programname startswith 'haproxy' then /var/log/haproxy.log

6
2018-03-19 23:18



/etc/rsyslog.d est un répertoire, pas un fichier. Je ne suis pas sûr de connaître les différences entre 1.5 et 1.6 sur Ubuntu, mais le fichier /etc/rsyslog.d/49-haproxy.conf existe après l'installation de 1.6. Cela a les 3 lignes suivantes: $AddUnixListenSocket /var/lib/haproxy/dev/log \n if $programname startswith 'haproxy' then /var/log/haproxy.log \n &~ (J'ai ajouté "\ n" pour indiquer les nouvelles lignes) - fideloper


le problème principal est que le haproxy chrooté ne pourra pas accéder /dev/log et pour contourner le problème, vous pouvez soit:

  • Activez syslog pour écouter sur le socket UDP (généralement sur le port 514), comme décrit dans les autres messages.
  • Créer le répertoire /var/lib/haproxy/dev et monter /dev avec l'option bind sur /var/lib/haproxy/dev

Cela fonctionne dans les deux sens.


2
2017-09-22 14:54



vous pouvez également simplement ajouter une prise de journal dans le chroot. rsyslog peut en avoir plusieurs. (Je donnerais un exemple mais ça fait des années) - Florian Heigl
Ce n’est plus le cas pour les nouvelles versions de HAProxy, j’exécute la version 1.5.4 avec une configuration chrootée mais me connecte à /dev/log. - Overbryd