Linux'ta Bash'de syslog nasıl kontrol edilir?


89

C'de şu şekilde günlüğe kaydediliriz:

syslog( LOG_INFO, "proxying %s", url );

Linux'ta günlüğü nasıl kontrol edebiliriz?


İşlev sistem günlüğüne syslog yazmıyor mu? (Eğer çekirdek mesajı halka tampon erişmek için alt düzey biri bahsediyoruz ama şüphe sürece urlbir olduğunu int.)
Cascabel

2
Bu Q, unix.SE.com'a taşınmalı, modun dikkatini çekmeye değip değmeyeceğinden emin değilim (işaretledim).
Alexander Malakhov

Yanıtlar:


132

Nasıl olur less /var/log/syslog?


1
@kern: Hangi linux dağıtımını ve sürümünü kullanıyorsunuz?
NPE

6
@kern: İçeriğinize göz atın/etc/syslog.conf
NPE

27
tail -f /var/log/sysloggerçekten güzel çünkü en son çıktıyı sistem günlüğüne girerken gösterir. Kesinlikle geçmişte olan bir şeye bakmaktansa, canlı bir sorunu gidermeye çalışıyorsanız faydalı olabilir.
karşı

19
aslında CentOs için /etc/rsyslog.conf
Roman Goyenko

1
@ArunprasadRajkumar Diğer bir yol, normal kullanıcılar tarafından syslog'a okunması amaçlanan mesajları günlüğe kaydetmekten kaçınmak olabilir
Dmitry Grigoryev

41

Fedora 19'da cevap öyle görünüyor /var/log/messages. Yine /etc/rsyslog.confde değiştirilip değiştirilmediğini kontrol edin .


OpenSUSE'de kontrol ettim ve onun için de geçerli olduğunu fark ettim. Paylaşım için teşekkürler!
silvioprog

25

Varsayılan olarak, sistem günlüğünde oturum açmıştır /var/log/syslog, böylece şu kişiler tarafından okunabilir:

tail -f /var/log/syslog

Dosya yoksa, /etc/syslog.confsyslogd için yapılandırma dosyasını kontrol edin . Yapılandırma dosyasının farklı olabileceğini unutmayın, bu nedenle farklı dosya kullanıyorsa çalışan süreci kontrol edin:

# ps wuax | grep syslog
root      /sbin/syslogd -f /etc/syslog-knoppix.conf

Not: Bazı dağıtımlarda (Knoppix gibi) tüm kaydedilen mesajlar farklı terminale (örn. /dev/tty12) Gönderilebilir , bu nedenle erişmek için örneğin + + tty12tuşlarına basmayı deneyin .ControlAltF12

İşlemin lsofhangi günlük dosyasını kullandığını bulmak için aracı da kullanabilirsiniz syslogd, örn.

sudo lsof -p $(pgrep syslog) | grep log$ 

Test mesajını kabukta syslogd'ye göndermek için şunları deneyebilirsiniz:

echo test | logger

Sorun giderme için bir izleme aracı kullanın ( straceLinux'ta, dtrussUnix'te), örneğin:

sudo strace -fp $(cat /var/run/syslogd.pid)

22

Çok güzel bir kullanım journalctl.

Örneğin, konsola syslog göstermek için:, journalctl -t <syslog-ident>burada syslog'u başlatmak <syslog-ident>için işleve verdiğiniz kimlik openlog.


syslog-ngjournalctl --unit=syslog-ng@default.service
Systemd

14

tail -f /var/log/syslog | grep process_nameprocess_nameilgilendiğimiz sürecin adı nerede


3

Vim'i seviyorsanız, syslog dosyası için yerleşik sözdizimi vurgulamasına sahiptir, örneğin hata mesajlarını kırmızıyla vurgular.

vi +'syntax on' /var/log/syslog

-12

Asus yönlendiricide şu yolla yapılabilir:

:/bin# busybox

ile ilgili başka komutlar da vardır.


Bu tamamen konu dışı, lütfen yanıtlardan çıkarın.
Jackie Yeh
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.