Wie verhindere ich, dass Tomcat/rsyslog Daten in die Konsole protokolliert?

Wie verhindere ich, dass Tomcat/rsyslog Daten in die Konsole protokolliert?

Bei mir auf der Arbeit hat jemand Tomcat einmal so eingerichtet, dass es sich ins Syslog einloggt. Das Problem ist, dass diese Nachrichten auch an die Konsole gesendet werden.

Das System ist RHEL6, dies sind die beteiligten RPM's

rsyslog-5.8.10-10.el6_6.x86_64
tomcat-7.0.64-1.x86_64

Ich habe versucht, Nachrichten an die Konsole mit diesen beiden Befehlen stumm zu schalten:

dmesg -n 1
sysctl -w kernel.printk="1 4 1 3"

Dies hat keinen Unterschied gemacht, diese Nachrichten kommen immer noch.Log4jwird auf diesem System anscheinend nicht verwendet. In server.xmlTomcat dient dieser Abschnitt zur Protokollierung:

<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
       prefix="localhost_access_log." suffix=".txt" rotatable="false"
       pattern="%h %l %u %t &quot;%r&quot; %s %b" />

Wenn ich aufhöre, rsyslogwerden diese Nachrichten gestoppt. Ich weiß nicht, was getan wurde, um die Protokollierung rsyslogvon Tomcat aus einzurichten, ich bin kein Tomcat-Experte. Tomcat ist die einzige Anwendung, die Nachrichten an die Konsole sendet. Andere Dinge werden gesendet, rsyslogaber außer Tomcat-Sachen wird nichts in der Konsole protokolliert.

Seit ich den Befehl ausprobiert habe, dmesg -n 1vermute ich, dass Tomcat Nachrichten auf der höchsten Ebene sendet, aber ich kann keinen Code finden, der dafür verantwortlich sein könnte.

Beispiel einer Meldung auf der Konsole (beachten Sie, dass dort tomcat-instance06 steht, es handelt sich um ein selbst erstelltes RPM, das mehrere Tomcat-Instanzen ermöglicht). Mir ist gerade aufgefallen, dass auf der Konsole immer eine [FATAL]-Meldung und dann eine zweite Meldung zum gleichen Thema angezeigt wird:

Message from syslogd@localhost at Jun 22 16:52:12 ...
 [FATAL] some.portal-app: [model.website.PageService] RequestID already used - ...#012Detail: #012detail#012Tag context: #012/opt/tomcat-instance06/webapps/ROOT/model/WebserviceRequest.cfc, line 486#012/opt/tomcat-instance06/webapps/ROOT/model/WebserviceRequest.cfc, line 484#012/opt/tomcat-instance06/webapps/ROOT/model/WebserviceRequest.cfc, line 482#012/opt/tomcat-instance06/webapps/ROOT/model/WebserviceRequest.cfc, line 482#012/opt/tomcat-instance06/webapps/ROOT/model/WebserviceRequest.cfc, line 482#012/opt/tomcat-instance06/webapps/ROOT/model/WebserviceRequest.cfc, line 482#012/opt/tomcat-instance06/webapps/ROOT/model/WebserviceRequest.cfc, line 482#012/opt/tomcat-instance06/webapps/ROOT/model/WebserviceRequest.cfc, line 482#012/opt/tomcat-instance06/webapps/ROOT/model/WebserviceRequest.cfc, line 482#012/opt/tomcat-instance06/webapps/ROOT/model/WebserviceRequest.cfc, line 482#012/opt/tomcat-instance06/webapps/ROOT/model/WebserviceRequest.cfc, line 482#012/opt/tomcat-instance06/webapps/ROOT/model/WebserviceRequest.cfc, l...

Message from [email protected] at Jun 22 16:52:12 ...
 482#012/opt/tomcat-instance06/webapps/ROOT/model/WebserviceRequest.cfc, line 482#012/opt/tomcat-instance06/webapps/ROOT/model/WebserviceRequest.cfc, line 268#012/opt/tomcat-instance06/webapps/ROOT/model/website/PageService.cfc, line 194#012/opt/tomcat-instance06/webapps/ROOT/model/website/PageService.cfc, line 86#012/opt/tomcat-instance06/webapps/ROOT/model/RequestContextDecorator.cfc, line 16#012/opt/tomcat-instance06/webapps/ROOT/model/RequestContextDecorator.cfc, line 232#012/opt/tomcat-instance06/webapps/ROOT/handlers/General.cfc, line 596#012/opt/tomcat-instance06/webapps/ROOT/coldbox/system/web/Controller.cfc, line 764#012/opt/tomcat-instance06/webapps/ROOT/coldbox/system/web/Controller.cfc, line 648#012/opt/tomcat-instance06/webapps/ROOT/coldbox/system/web/services/ExceptionService.cfc, line 51#012/opt/tomcat-instance06/webapps/ROOT/coldbox/system/Coldbox.cfc, line 350#012/opt/tomcat-instance06/webapps/ROOT/coldbox/system/Coldbox.cfc, line 382#012/opt/tomcat-instance06/webapps/ROOT/Application.cfc, line 60

Dies ist der Inhalt von /etc/rsyslog.conf:

#
# Use traditional timestamp format
$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat

# Provides kernel logging support (previously done by rklogd)
$ModLoad imklog

# Provides --MARK-- message capability
$ModLoad immark

# Provides support for local system logging (e.g. via logger command)
$ModLoad  imuxsock

# set ratelimit interval
$SystemLogRateLimitInterval 2
$SystemLogRateLimitBurst 150

# Provides UDP syslog reception
$ModLoad  imudp

# Syslog server listen address
$UDPServerAddress 127.0.0.1

# Syslog server listen UDP port
$UDPServerRun 514

# Log all kernel messages to the console.
# Logging much else clutters up the screen.
kern.*                                                  /dev/console

# Log anything (except mail) of level info or higher.
# Don't log private authentication messages!
*.info;mail.none;authpriv.none;cron.none;local0.none;local6.none  /var/log/messages

# The authpriv file has restricted access.
authpriv.*                                                        /var/log/secure
# Log all the mail messages in one place.
mail.*                                                           -/var/log/mail.log

# Log cron stuff
cron.*                                                            /var/log/cron

# Everybody gets emergency messages
*.emerg                                                           *

# Save news errors of level crit and higher in a special file.
uucp,news.crit                                                    /var/log/spooler

# Save boot messages also to boot.log
local6.warning                                                    /var/log/audit_orcl.log
LOCAL6.WARNING                                                    /var/log/audit_orcl.log

# Save boot messages also to boot.log
local7.*                                                          /var/log/boot.log

# Log all messages to the following syslog servers
<I have removed this section containing ip's of syslogservers>

Habe in /etc/rsyslog.conf versucht, kern.* auszukommentieren.

#kern.*                                                  /dev/console

Aber nach dem Neustart von rsyslog werden diese Tomcat-Meldungen immer noch in der Konsole protokolliert :(

Irgendeine Idee, wo man nachsehen kann, um diese Nachrichten zu deaktivieren?

Antwort1

Habe es gefunden (natürlich).

Durch das Auskommentieren dieser /etc/rsyslog.confMeldungen wurden die folgenden Nachrichten gestoppt:

# Everybody gets emergency messages
*.emerg                        *

Außerdem habe ich herausgefunden, dass die Tatsache, dass Tomcat die einzige Anwendung ist, die dies kontinuierlich anmeldet, auf eine schlecht programmierte Anwendung zurückzuführen ist, die jede Meldung als fatal protokolliert, sodass sie an die Konsole geht.

verwandte Informationen