Belirli bir günlük dosyasını / var / log dışında rsyslog ile uzak sunucuya iletmek nasıl?


24

Nasıl gibi belirli bir günlük dosyası mesajı iletebilir /www/myapp/log/test.logile rsysloguzak istemci rsyslogsunucuya? Bu günlük dosyası dizinin dışında /var/log.

Yanıtlar:


42

Sadece /etc/rsyslog.conf dosyasına bir imfile kuralı ayarlayın

#/etc/rsyslog.conf
$ModLoad imfile
$InputFileName /data/mysql/error.log
$InputFileTag mysql-error
$InputFileStateFile stat-mysql-error
$InputFileSeverity error
$InputFileFacility local3
$InputRunFileMonitor
local3.* @@hostname:<portnumber>

Bu bir dosyayı izler ve syslog içindeki yerel3 tesise kaydeder. Ardından, local3 tesisteki tüm verileri uzak sunucunuza gönderebilirsiniz. Local3 özelliğini / var / log / syslog dosyasına kaydetmemek için aşağıdakileri rsyslog conf'ınıza (genellikle /etc/rsyslog.d/50-default.conf) Ubuntu'da eklemek isteyebilirsiniz:

#/etc/rsyslog.d/50-default.conf
*.*;auth,authpriv.none,local1.none,local2.none,local3.none,local4.none,local5.none,local6.none          -/var/log/syslog

Ek olarak, daha gelişmiş filtreleme için aşağıdaki rysyslog dokümanlarından bazı okumaları teşvik ediyorum:

  1. Mülkiyet Replacer
  2. Filtre Koşulları

Bu çok faydalı, teşekkür ederim Bryan. Buradaki tek zorluğum, fazladan logları müşteri tarafı / var / log / syslog dışında tutmama hattı, Ubuntu 12.04'te benim için çalışmıyor. Muhtemelen bir PEBKAC, ama bunun bilinen bir zorluk olup olmadığını merak ediyorum.
James T Snell

Anladım. Benim sorunum, /etc/rsyslog.d/50-default.conf 'un zaten başlamış olduğu bir açıklama olmasıydı . ; auth; authpriv.none .. Bu satır önceliğe sahip görünüyor. Yani verdiğiniz son satırı ekleyerek, hiçbir etkisi olmaz. Bunun yerine önceden var olan benzerinin değiştirilmesi gerekir. Çok yararlı. Teşekkürler!
James T Snell

1

Ubuntu'da, rsyslog'un / var / logs dışında bir günlük dosyasını okumasını sağlamak için bırakma ayrıcalıklarını da yorumladım.

#/etc/rsyslog.conf
$ModLoad imfile
$InputFileName /data/mysql/error.log
$InputFileTag mysql-error
$InputFileStateFile stat-mysql-error
$InputFileSeverity error
$InputFileFacility local3
$InputRunFileMonitor
local3.* @@hostname:<portnumber>

# Set the default permissions for all log files.
#
#$FileOwner syslog
#$FileGroup adm
#$FileCreateMode 0640
#$DirCreateMode 0755
#$Umask 0022
#$PrivDropToUser syslog
#$PrivDropToGroup syslog
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.