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.