Hi,
we've got a problem with our logging infrastructure.
Right now in our network we've three datacenters. In every datacenter there
are over 400 VMs (Linux) which logs to rsyslog relay servers. There are two
such servers (rsyslog relays).
These two servers has virtual IP with haproxy on it. Haproxy balances
connection to rsyslog relays and then messages are forwarded to one central
rsyslog server (common for all datacenters).
Problem which we have is that messages are lost. We use RELP but it doesn't
help.
What i can see in haproxy that there are planty of such logs:
Jul 16 07:23:55 syslog-satellite2 haproxy[8495]: 10.122.200.20:18827
[16/Jul/2016:07:23:50.049] relp_20514 relp_20514/syslog-satellite2 1/0/5005
103 CD 171/171/171/78/0 0/0 [10.122.7.22 54085]
And for all servers which IPs got CD haproxy error code no messages are
written on central log server.
Only one thing helps - restarting rsyslog on client side. But it helps for
few hours and situation repeats, logs doesn't show on central server,
haproxy show errors.
And one extra thing, restarting client side doesn't send overdue logs, they
are lost.
CLIENT RSYSLOG CONFIG
$ cat /etc/rsyslog.conf | egrep -v '^#|^$'
$PreserveFQDN on
$ModLoad imuxsock # provides support for local system logging
$ModLoad imklog # provides kernel logging support (previously done by
rklogd)
$MaxMessageSize 64k
$FileOwner root
$FileGroup root
$FileCreateMode 0600
$DirOwner root
$DirGroup root
$DirCreateMode 0750
$PrivDropToUser root
$PrivDropToGroup root
$WorkDirectory /var/lib/rsyslog
$Umask 0000
$IncludeConfig /etc/rsyslog.d/*.conf
*.emerg :omusrmsg:*
$ sudo cat /etc/rsyslog.d/* | egrep -v '^#|^$'
$WorkDirectory /var/lib/rsyslog # where to place spool files
$ActionQueueFileName queue # unique name prefix for spool files
$ActionQueueMaxDiskSpace 1g # spool space limit (use as much as
possible)
$ActionQueueSaveOnShutdown on # save messages to disk on shutdown
$ActionQueueType LinkedList # run asynchronously
$ActionResumeRetryCount -1 # infinety retries if host is down
$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat
$EscapeControlCharactersOnReceive off
$RepeatedMsgReduction off
$ActionResumeInterval 5
$ModLoad omrelp
*.* :omrelp:syslog-satellite.dc:20514;RSYSLOG_ForwardFormat
$outchannel log_rotation,/var/log/log_rotation.log,
52428800,/usr/local/sbin/log_rotation_script.sh
*.* :omfile:$log_rotation
$ModLoad imfile
$InputFileName /usr/share/jboss-as/standalone/log/server.log
$InputFileTag jboss-as
$InputFileStateFile state-server.log
$InputFileSeverity notice
$InputFileFacility local0
$InputFilePollInterval 10
$InputFilePersistStateInterval 0
$InputRunFileMonitor
RELAY HOSTS (syslog-satellite.dc):
* haproxy:
/etc/haproxy/haproxy.cfg
# Managed by Puppet
global
nbproc 1
maxconn 2000000
ulimit-n 4000034
log /dev/log local0
log /dev/log local1 notice
#chroot /var/lib/haproxy
stats socket /var/run/haproxy.sock mode 666 level admin
user haproxy
group haproxy
daemon
#debug
#quiet
# 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
tune.ssl.default-dh-param 4096
defaults
log global
option httplog
option redispatch
option dontlognull
option log-separate-errors
retries 3
# maxconn 2000
timeout connect 60s
timeout client 300s
timeout server 300s
listen stats 0.0.0.0:1936
mode http
stats enable
stats uri /
stats realm HAProxy
stats auth noc:mykEwyoug3
listen relp_20514 :20514
mode tcp
balance roundrobin
option tcplog
maxconn 2000000
log-format %ci:%cp\ [%t]\ %ft\ %b/%s\ %Tw/%Tc/%Tt\ %B\ %ts\
%ac/%fc/%bc/%sc/%rc\ %sq/%bq\ [%bi\ %bp]
server syslog-satellite1.dc 10.122.7.7:20515 weight 5 check inter
2000 maxconn 100000
server syslog-satellite2.dc 10.122.7.22:20515 weight 5 check inter
2000 maxconn 100000
sysctl.conf:
fs.file-max = 10000000
fs.nr_open = 10000000
net.ipv4.tcp_mem = 786432 1697152 1945728
net.ipv4.tcp_rmem = 4096 4096 16777216
net.ipv4.tcp_wmem = 4096 4096 16777216
net.ipv4.ip_local_port_range = 1000 65535
net.ipv4.tcp_keepalive_time = 600
rsyslog
$ cat /etc/rsyslog.conf | egrep -v '^#|^$'
$PreserveFQDN on
$ModLoad imuxsock # provides support for local system logging
$ModLoad imklog # provides kernel logging support (previously done by
rklogd)
$MaxMessageSize 64k
$FileOwner root
$FileGroup root
$FileCreateMode 0600
$DirOwner root
$DirGroup root
$DirCreateMode 0750
$PrivDropToUser root
$PrivDropToGroup root
$WorkDirectory /var/lib/rsyslog
$Umask 0000
$IncludeConfig /etc/rsyslog.d/*.conf
*.emerg :omusrmsg:*
$ sudo cat /etc/rsyslog.d/* | egrep -v '^#|^$'
module(load="imtcp" MaxSessions="10000")
input(type="imtcp" port="514")
module(load="imrelp")
input(type="imrelp"
port="20515")
KeepAlive="on"
KeepAlive.Probes="3"
KeepAlive.Interval="30"
KeepAlive.Time="900")
module(load="omrelp")
action(type="omrelp"
target="central.server.log"
port="20514"
action.reportSuspension="on"
action.reportSuspensionContinuation="on")
$ModLoad imudp
$UDPServerRun 514
$FileCreateMode 0644
$DirCreateMode 0755
$EscapeControlCharactersOnReceive off
$ActionQueueFileName srvrfwd # set file name, also enables disk mode
$ActionResumeRetryCount -1 # infinite retries on insert failure
$ActionQueueSaveOnShutdown on # save in-memory data if rsyslog shuts down
main_queue(
queue.workerThreads="4"
queue.dequeueBatchSize="1000"
queue.highWatermark="3000000" # max no. of events to hold in memory
queue.lowWatermark="200000" # use memory queue again, when it's back
to this level
queue.spoolDirectory="/var/lib/rsyslog" # where to write on disk
queue.fileName="stats_ruleset"
queue.maxDiskSpace="5g" # it will stop at this much disk space
queue.size="5000000" # or this many messages
queue.saveOnShutdown="on" # save memory queue contents to disk when
rsyslog is exiting
)
module(load="impstats"
interval="600"
severity="7"
log.syslog="off"
resetCounters="on"
# need to turn log stream logging off
log.file="/var/log/rsyslog-stats.log")
CENTRAL SERVER LOG
cat /etc/rsyslog.conf | egrep -v '^#|^$'
$PreserveFQDN on
$ModLoad imuxsock # provides support for local system logging
$ModLoad imklog # provides kernel logging support (previously done by
rklogd)
$MaxMessageSize 64k
$FileOwner root
$FileGroup root
$FileCreateMode 0600
$DirOwner root
$DirGroup root
$DirCreateMode 0750
$PrivDropToUser root
$PrivDropToGroup root
$WorkDirectory /var/lib/rsyslog
$Umask 0000
$IncludeConfig /etc/rsyslog.d/*.conf
*.emerg :omusrmsg:*
sudo cat /etc/rsyslog.d/* | egrep -v '^#|^$'
$WorkDirectory /var/lib/rsyslog # where to place spool files
$ActionQueueFileName queue # unique name prefix for spool files
$ActionQueueMaxDiskSpace 1g # spool space limit (use as much as
possible)
$ActionQueueSaveOnShutdown on # save messages to disk on shutdown
$ActionQueueType LinkedList # run asynchronously
$ActionResumeRetryCount -1 # infinety retries if host is down
$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat
module(load="imtcp" MaxSessions="1000")
input(type="imtcp" port="514")
module(load="imrelp")
input(type="imrelp" port="20514")
$ModLoad imudp
$UDPServerRun 514
$FileCreateMode 0644
$DirCreateMode 0755
$EscapeControlCharactersOnReceive off
$template
REMOTE,"/export/%HOSTNAME%/%$year%/%$month%/%$day%/%syslogfacility-text%.log"
*.* -?REMOTE
Can anybody help with this? Mabye point what we misunderstand in
configuration of rsyslog architecture?
regards,
p.
_______________________________________________
rsyslog mailing list
http://lists.adiscon.net/mailman/listinfo/rsyslog
http://www.rsyslog.com/professional-services/
What's up with rsyslog? Follow https://twitter.com/rgerhards
NOTE WELL: This is a PUBLIC mailing list, posts are ARCHIVED by a myriad of
sites beyond our control. PLEASE UNSUBSCRIBE and DO NOT POST if you DON'T LIKE
THAT.