CentOS/RHEL verwendet normalerweise den rsyslogd-Ratenbegrenzungsmechanismus. Unten ist ein Beispiel für Nachrichten, die aufgrund von rsyslog-Ratenbegrenzung in /var/log/messages protokolliert wurden.
Feb 9 10:22:32 localhost rsyslogd: imuxsock lost 432 messages from pid 9832 due to rate-limiting Feb 9 10:22:45 localhost rsyslogd: imuxsock begins to drop messages from pid 9832 due to rate-limiting
Die Ratenbegrenzung verhindert, dass die Protokollierung übermäßig viele Systemressourcen beansprucht und /var/log/message mit unnötigen Meldungen überschwemmt. Um ein Ereignis zu protokollieren, muss es auf die Festplatte geschrieben werden, die Systemressourcen verwendet. Wenn in einem bestimmten Zeitraum zu viele sich wiederholende Ereignisse auf der Festplatte aufgezeichnet werden, können sie ein System überlasten und dazu führen, dass wichtigere Dienste langsam reagieren oder sogar ein unerwarteter Ausfall auftritt. Daher wird die Deaktivierung der Ratenbegrenzung im Allgemeinen nicht empfohlen, aber manchmal wäre sie für Diagnosezwecke erforderlich.
Führen Sie die folgenden Schritte aus, um die rsyslogd-Ratenbegrenzung in CentOS/RHEL 6 zu deaktivieren oder zu erweitern.
1. Bearbeiten Sie die rsyslogd-Konfigurationsdatei /etc/rsyslog.conf :
# vi /etc/rsyslog.conf
2. Fügen Sie die folgenden Parameter unter „$ModLoad imuxsock hinzu ”-Abschnitt.
$SystemLogRateLimitInterval 0 $SystemLogRateLimitBurst 0 $IMUxSockRateLimitBurst 0 $IMUXSockRateLimitInterval 0 $IMUxSockRateLimitSeverity 7
3. Starten Sie rsyslog neu, damit die Änderungen wirksam werden:
# service rsyslog restart
Schlussfolgerung
imuxsock ist der Name des Moduls, das Unix Socket verarbeitet. Dieses Modul verwaltet die Übermittlung von Syslog-Aufrufen von einem Protokollierungsprozess an rsyslog. Das Modul hört auf die Log-Sockets eines Unix-Systems und gibt rsyslog die Log-Meldungen, wenn sie auftreten.
SystemLogRateLimitInterval ist die Zeitdauer, die für die Ratenbegrenzung gemessen wird. Der Standardwert dieses Parameters ist auf 5 Sekunden eingestellt .
Der SystemLogRateLimitBurst definiert die Anzahl der Meldungen, die im Zeitlimit von SystemLogRateLimitInterval auftreten müssen, um die Ratenbegrenzung auszulösen. Der Standardparameterwert ist 200 Nachrichten .
$IMUXSockRateLimitBurst [Zahl] – Äquivalent zu:RateLimit.Burst , gibt den ratenbegrenzenden Burst in der Anzahl von Nachrichten an.
$IMUXSockRateLimitSeverity [numerischer Schweregrad] – Äquivalent zu:RateLimit.Severity , gibt den Schweregrad von Nachrichten an.
„IMUxSockRate* „ist notwendig, wenn imuxsock unabhängig von syssock ist, wie bei SysSock.Use =„off“ .
„$IMUxSockRateLimitSeverity ” ist nicht erforderlich, um die Ratenbegrenzung zu deaktivieren, aber besser nur, wenn versehentlich Ratenbegrenzungsmeldungen protokolliert werden.
So deaktivieren oder erweitern Sie die Begrenzung der Systemprotokollierungsrate auf CentOS/RHEL 7