Як перевірити syslog в Bash на Linux?


86

У C ми реєструємось таким чином:

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

Як в Linux можна перевірити журнал?


Чи функція не syslog записує в системний журнал? (Якщо ви не говорите про нижчий рівень для доступу до буфера дзвінків повідомлень ядра, але я сумніваюсь url, що це int.)
Cascabel

2
це Q слід перенести на unix.SE.com, не впевнений, чи варто його позначати на увагу мода (я позначив).
Олександр Малахов

Відповіді:


128

Як щодо less /var/log/syslog?


1
@kern: Який дистрибутив та версію Linux ви використовуєте?
NPE

6
@kern: Перевірте вміст свого/etc/syslog.conf
NPE

25
tail -f /var/log/syslogдійсно приємно, оскільки він показує найновіші результати, коли надходить у системний журнал. Це може бути корисно, якщо ви намагаєтеся усунути щось у прямому ефірі, а не дивитись на щось, що суто в минулому.
протидія

17
це насправді /etc/rsyslog.conf для CentOs
Роман Гоєнко

1
@ArunprasadRajkumar Іншим способом було б уникнути реєстрації повідомлень, призначених для читання звичайними користувачами в syslog
Дмитро Григорьов

41

На Fedora 19, схоже, відповідь є /var/log/messages. Хоча перевірте, /etc/rsyslog.confчи не було його змінено.


Я перевірив це на openSUSE і помітив, що це стосується і цього. Дякую, що поділились!
silvioprog

23

За замовчуванням він входить в системний журнал за адресою /var/log/syslog, тому його може прочитати:

tail -f /var/log/syslog

Якщо файл не існує, перевірте, /etc/syslog.confщоб побачити файл конфігурації для syslogd. Зверніть увагу, що файл конфігурації може бути іншим, тому перевірте запущений процес, якщо він використовує інший файл:

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

Примітка: У деяких дистрибутивах (таких як Knoppix) усі зареєстровані повідомлення можуть надсилатися на інший термінал (наприклад /dev/tty12), тому для доступу, наприклад, tty12спробуйте натиснути Control+ Alt+ F12.

Ви також можете використовувати lsofінструмент, щоб дізнатись, який файл журналу використовує syslogdпроцес, наприклад

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

Щоб надіслати тестове повідомлення в syslogd в оболонці, спробуйте:

echo test | logger

Для усунення несправностей використовуйте інструмент трасування ( straceв Linux, dtrussна Unix), наприклад:

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

22

Дуже класна програма journalctl.

Наприклад, показати syslog до консолі:, journalctl -t <syslog-ident>де <syslog-ident>ідентифікатор, який ви надали функції openlogдля ініціалізації syslog.


14

tail -f /var/log/syslog | grep process_name де process_nameназва процесу, який нас цікавить


2

Якщо вам подобається Vim, він має вбудоване підсвічування синтаксису для файлу syslog, наприклад, повідомлення про помилки буде виділено червоним кольором.

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

-10

на роутері Asus це можна було зробити через

:/bin# busybox

є також інші команди, пов'язані з.


Це абсолютно не в темі, вилучіть його з відповідей.
Джекі Є
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.