syslog'a günlük kaydı


13

Ben aracılığıyla ubuntu 14.04 apt-get yoluyla HAProxy 1.5 yüklü ppa:vbernat/haproxy-1.5uyarınca http://haproxy.debian.net/

Sorun /var/log/syslogbunun yerine günlüğe kaydetmektir/var/log/haproxy.log

Kurulum temel olarak varsayılan değerdir:

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

belki bu bağlantı size yardımcı olabilir: kvz.io/blog/2010/08/11/haproxy-logging
Federico Sierra

Yanıtlar:


21

Çok zor. :-) Ve işte hile yanıtı:

/etc/rsyslog.dBu dosyaya haproxy oturum açmak diyor diyor /var/log/haproxy.logAma bu rsyslog yeniden başlatılmadan etkili olmaz:

service rsyslog restart

9

Varsayılan haproxy.confdosya, Genel ayarlar - altında net talimatlar sağlar global. İşte ben sizin için yapıştırarak kopya -

# ------------------------------------------------- --------------------
# Genel Ayarlar
# ------------------------------------------------- --------------------
global
    # Bu iletilerin /var/log/haproxy.log dosyasına girmesini sağlamak için
    # gerekenler:
    #
    # 1) Syslog'u ağ günlüğü olaylarını kabul edecek şekilde yapılandırın. Bu bitti
    # 'içindeki SYSLOGD_OPTIONS öğesine' -r 'seçeneğini ekleyerek
    # / etc / sysconfig / syslog
    #
    # 2) local2 olaylarını /var/log/haproxy.log adresine gitmek için yapılandırın
    # dosya. Aşağıdaki gibi bir çizgi eklenebilir
    # / etc / sysconfig / syslog
    #
    #

Benim durumumda, örneğin, CentOS 6.6, aynı syslogd sunucusu haproxy çalıştırıyorum ve /var/log/haproxy.log oturum açmak için aşağıdakileri yapmak zorunda kaldı:

  1. Aşağıdaki satırı ekle /etc/rsyslog.d/haproxy.conf-

    local2. * /var/log/haproxy.log
  2. Sunucuda syslogd günlüğünü etkinleştir -

# UDP sistem günlüğü alımı sağlar
$ ModLoad imudp
$ UDPServerRun 514
$ UDPServerAddress 127.0.0.1

2
Son bölümde, ikinci adımda (Sunucuda syslogd günlüğünü etkinleştir); bu ayarları dosyada değiştirirsiniz /etc/rsyslog.conf. Bundan sonra, rsyslog hizmetini yeniden başlatın: service rsyslog restart
Edenshaw

6

Bu satırı şuradan ekleyin: /etc/rsyslog.d

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

1
/etc/rsyslog.dbir dizin değil dosyadır. Ubuntu'da 1.5 ve 1.6 farkları hakkında emin değilim, ancak dosya /etc/rsyslog.d/49-haproxy.conf1.6 yüklendikten sonra var. Bu aşağıdaki 3 satıra sahiptir: $AddUnixListenSocket /var/lib/haproxy/dev/log \n if $programname startswith 'haproxy' then /var/log/haproxy.log \n &~(Yeni satırları belirtmek için "\ n" ekledim)
fideloper

3

asıl sorun, köklü haproksinin erişemeyeceği /dev/logve sorunu atlatmak için aşağıdakilerden birini yapabilirsiniz:

  • Sistem iletisinin diğer iletilerde açıklandığı gibi UDP soketini (genellikle 514 numaralı bağlantı noktasında) dinlemesini sağlama
  • Dizini oluşturun /var/lib/haproxy/devve /devbind seçeneğiyle bağlanın/var/lib/haproxy/dev

Her iki şekilde de çalışır.

[Düzenle]

3 yıl sonra bir şeyler değişti. Haproxy artık adlı bir dosya oluşturuyor /etc/rsyslog.d/49-haproxy. Dosyadaki satırlardan biri:

$AddUnixListenSocket /var/lib/haproxy/dev/log.

Bu durumda, chroot ortamı /dev/log


ayrıca yalnızca chroot'a bir günlük soketi ekleyebilirsiniz. rsyslog çoklu olabilir. (bir örnek verirdim ama yıllar oldu)
Florian Heigl

Bu artık HAProxy'nin yeni sürümleri için geçerli değil, 1.5.4 sürümünü kroke edilmiş bir yapılandırmayla çalıştırıyorum ancak oturum açıyorum /dev/log.
Overbryd

@Overbryd evet ve hayır. Yeni haproxy, /etc/rsyslog.d dosyasına bir dosya ekler, içindeki aşağıdaki ifadeyi içerir: $ AddUnixListenSocket / var / lib / haproxy / dev / log Yorumumu buna göre düzenleyeceğim.
maxadamo
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.