Ağa bağlı bir sistemden syslog günlüklerini nasıl alabilirim?


23

Ubuntu'yu DD-WRT yönlendiriciden günlükleri alacak şekilde yapılandırmak istiyorum. Yönlendiricinin yapılandırma ekranı aşağıdaki bölümü içerir:

DD-WRT Sistem Günlüğü

ve günlük belgelerini okur:

Günlükleri uzak bir sisteme göndermek istiyorsanız, syslog yardımcı programını da çalıştıran makinenin IP adresini girin (yönlendiricinin gönderdiği günlükleri kabul etmek için açık bir ağ soketine ihtiyacı vardır).

Daha önce hiç (bilerek) syslog kullanmamıştım. Bu kayıtları almasına izin vermek için Ubuntu'da ne yapmam gerekiyor?


Motorola Surfboard Extreme SBG901 cihazımın DD-WRT'nizle benzer ayarları var. Sadece bu anahtar kelimeyi, bu soru-cevap için Google'a ekleyeceğimi düşündüm.
ocaklar

Yanıtlar:


23

Günlükleri alan ana bilgisayarın, uzak günlükleri dinlemek üzere yapılandırılmış bazı syslog arka plan planını çalıştırması gerekir. Ubuntu'da birkaç sistem günlüğü uygulaması vardır, ancak rsysloggenellikle önerilir ve varsayılan olarak yüklenmelidir. DD-WRT, TCP veya UDP üzerinden günlükler gönderiyorsa, gönderdiğiniz bağlantıdaki belgelerden söyleyemem, bu nedenle, şebekeye erişilebilen sayıların azaltılması konusunda endişeleriniz varsa, doğru ayarları tam olarak bulmak için bazı deneyler yapılması gerekebilir. sunucunuzdaki bağlantı noktaları.

Bunu etkinleştirmenin iki yolu vardır: ilki daha basittir, ancak sistem yükseltildiğinde yeniden entegrasyon gerektirebilir. İkincisi biraz daha karmaşıktır ve bir güncellemenin parçası olarak syslog yapılandırmasında önemli değişiklikler varsa kafa karıştırıcı sonuçlara neden olabilir. İkincisini seçerdim, ama tercihin değişebilir.

İlki /etc/rsyslogd.conf, başlangıç #satırını aşağıdaki satırlardan düzenlemek ve kaldırmaktır :

# $ ModLoad imudp
# $ UDPServerRun 514

veya

# $ ModLoad imtcp
# $ InputTCPServerRun 514

İkinci belki adlı yeni bir dosya oluşturmak için local-enable-tcp.confde /etc/rsyslog.d/aşağıdaki içeriklerle:

# TCP syslog alımını etkinleştir
$ ModLoad imtcp
$ InputTCPServerRun 514

Ayrı dosya yaklaşımını kullanmak ve UDP'ye ihtiyacınız varsa, yukarıdaki UDP stanza ile eşleşecek şekilde içeriği değiştirin. Belirli bir dosya adı önemli değildir, ancak bu ad alanı yerel yönetici yapılandırması için ayrıldığından "yerel" ile başlatılması önerilir ve ".conf" ile bitmesi gerekir, çünkü bunun gibi biten dosyalar otomatik olarak rysyslog yapılandırması.

Başka bir syslog uygulaması kullanmayı tercih ederseniz, o uygulamanın yapılandırmasını ve belgelerini kontrol edin: syslog arka plan programının ağda varsayılan olarak dinlemeyecek şekilde yapılandırılmış olması muhtemeldir, ancak bu genel durumu etkinleştirmek için örnek yapılandırma açıkça belgelenmelidir.


1
Dosyanın ismini iki basamaklı bir numara ile başlatmak iyi bir fikir olmalıdır, mevcut diğer .conf dosyalarına göre sıralamayı belirtin.
enzotib

Heh, bu karmaşık olabilir. Bir paket adının iki rakamlı bir sayı ile başlayamamasının bir nedeni yoktur ve .d / $ {package} - .conf paketlerin tümüne ayrılmıştır (örneğin, 72-local-myconf.conf için çakışma olasılığı yoktur) ). İkincisi, siparişin kritik olmayacağı şekilde yapılandırma dosyaları yazmaya çalışmak önemlidir. Örneğin, varsayımsal "0access" paketinden 0access.conf tarafından sağlanan bir yapılandırma dosyası, iki basamaklı bir sayı ile başlayan çoğu yapılandırma dosyasından önce uygulanır.
Emmet Hikory

1
Ayrıca, günlük dosyanızın sahipliğini de değiştirmeniz gerekebilir: sudo chown syslog:adm /var/log/syslogya da günlük dosyanızı her ne adlandırdıysanız.
ocak

6

Diğer bir seçenek ise, sistem kullanımı, kullanımı kolay ve şimdiye kadar kullanıma hazır!

sudo apt-get install syslog-ng

Kurduktan sonra, /etc/syslog-ng/syslog-ng.conf dosyasında bir conf dosyası var. Yani, sadece .conf 'u parametrelerimizle düzenleyin, fakat bundan önce, varsayılan config dosyasını yedekleyin, daha sonra yararlı olabilir. bazı parametreleri kandırmak istiyorsun

sudo mv /etc/syslog-ng/syslog-ng.conf /etc/syslog-ng/syslog-ng.conf.bak

Şimdi yeni bir yapılandırma dosyası oluşturun ve düzenleyin!

sudo touch /etc/syslog-ng/syslog-ng.conf
sudo nano /etc/syslog-ng/syslog-ng.conf

Yani, sadece çalışmak için bu temel yapılandırmayı yapıştırın:

# Listening to incoming UDP Syslog connections
source mysource { udp(); };

#Add the syslog targets:

destination dest { file("/var/log/Cisco$YEAR$MONTH$R_DAY.log"); };
#destination dest_other_server { udp("1.2.3.4" port(514)); };
#Create the filters that will be used to determine what to do with the received syslog message

#filter filter { ( host("2.3.4.5") and level(notice) and match("username=.*@domain\.local" value("MESSAGE") flags("utf8" "ignore-case")) ); };
filter myfilter { ( level(notice) ); };
#And putting it all together:

log { source(mysource); filter(myfilter); destination(dest);  };

Gördüğün kadar kolay. Kendine iyi bak!


-2

Temel olarak, dd-wrt yönlendiricisinin günlüklerini göndermesi için sunucunuzda (syslogd adı verilen) bir arka plan programı çalıştırın.

Öğretici- http://www.techiecorner.com/1479/how-to-setup-syslog-server-in-ubuntu/


5
Eski bir rehberin adresini, talimatlarının hala geçerli olup olmadığını kontrol etmeden saklamaktan kaçının. Rehberde belirtilen dosyalar artık mevcut değil. Ubuntu rsyslog kullanıyor.
enzotib

@enzotib - Kalitesinin düşük olduğu ve bağlantılardan kaçınılması gerektiği konusunda hemfikir olsam da, bu cevabın aynı görevi bir Ubuntu 8.04 sunucusunda başarmak için ihtiyacım olan şeyi sağladığı ortaya çıktı . Burada, halen üretim sistemlerinde kullanılmakta olan üç farklı syslog varyasyonu için üç cevap vardır . Bu cevap faydalı oldu. Benden +1 alıyor.
ghoti

Bu doğru ama bu temelde sadece bir cevap.
Duncan X Simpson
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.