Starting with Debian Bookworm, the rsyslog package is no longer installed by default, which in the past provided the default logging functionality. Instead, the log is provided by systemd
's journal, which can be accessed by the journalctl(5) command.
There are situations, where it is necessary or desired to install rsyslog, though, e.g. to send all log messages to a central server. After installation, the rsyslogd
daemon is responsible for collecting service messages coming from applications and the kernel, then dispatching them into log files (usually stored in the /var/log/
directory). It obeys the /etc/rsyslog.conf
configuration file.
هر پیام گزارش متناسب با یک زیرسیستم از برنامه است (که در مستندات با نام “facility” شناخته میشود):
auth
و authpriv
: برای احراز هویت؛
cron
: که از سرویسهای مدیریت وظیفه مانند cron
و atd
میآید؛
daemon
: روی یک فرآیند پسزمینه بدون هیچ طبقهبندی خاصی تاثیر میگذارد (DNS، NTP و از این قبیل)؛
ftp
: مرتبط با سرور FTP؛
kern
: پیامی که از کرنل میآید؛
lpr
: از زیرسیستم چاپ نشات میگیرد؛
mail
: از زیرسیستم ایمیل نشات میگیرد؛
news
: پیام زیرسیستم Usenet (به خصوص از سمت یک سرور NTP - Network News Transfer Protocol - که گروههای خبری را مدیریت میکند)؛
syslog
: پیامهایی که از خود سرور syslogd
میآیند؛
user
: پیامهای کاربر (عمومی)؛
uucp
:پیامهای ارسالی از سرور UUCP (Unix to Unix Copy Program، یک پروتکل قدیمی برای انتقال پیامهای ایمیل)؛
local0
تا local7
: رزرو شده برای استفاده محلی؛
هر پیام همچنین با یک سطح اولویت نیز همراه است. اینجا فهرستی از آنها به صورت کاهش درجه اهمیت قرار دارد:
emerg
: “کمک!” یک موقعیت اضطراری وجود دارد، سیستم به احتمال زیاد غیرقابل استفاده خواهد شد.
alert
: عجله کن، هر تاخیری ممکن است خطرناک باشد، اقدام باید در اولین فرصت صورت گیرد؛
crit
: شرایط بحرانی است؛
err
: خطا؛
warn
: هشدار (خطای احتمالی)؛
notice
: شرایط عادی است، اما پیام حائز اهمیت است؛
info
: پیام آگاهیرسان؛
debug
: پیام عیبزدایی؛
The syntax of the /etc/rsyslog.conf
file is detailed in the rsyslog.conf(5) manual page, but there is also HTML documentation available in the rsyslog-doc package (/usr/share/doc/rsyslog-doc/html/index.html
). The overall principle is to write “selector” and “action” pairs. The selector defines all relevant messages, and the action describes how to deal with them.
9.5.2.1. شیوه دستوری انتخابگر
انتخابگر یک فهرست دوتایی از subsystem.priority
است که با ; از هم جدا شدهاند (نمونه: auth.notice;mail.info
). یک * نشاندهنده کل زیرسیستمها یا اولویتها میباشد (نمونه: *.alert
یا mail.*
). چندین زیرسیستم با استفاده از , میتوانند گروهبندی شوند (نمونه: auth,mail.info
). اولویت مشخص شده شامل تمام پیامهای با آن اولویت یا بالاتر میباشد؛ بنابراین auth.alert
نشاندهنده زیرسیستم auth
با اولویت alert
یا emerg
است. اگر با یک علامت ! پیشوند شود، نشانگر خلاف آن عمل است، به عبارت دیگر اولویتهای پایینتر؛ auth.!notice
، بنابراین نشاندهنده پیامهای زیرسیستم auth
با اولویت info
یا debug
است. اگر با = پیشوند شود، تنها همان اولویت مشخص شده را شامل میگردد (auth.=notice
تنها شامل پیامهای زیرسیستم auth
با اولویت notice
میباشد).
هر عنصر موجود در فهرست selector عنصر قبلی را خنثی میکند. بنابراین امکان جداسازی یا محدودساختن برخی عناصر وجود دارد. برای نمونه، kern.info;kern.!err
یعنی پیامهای ارسالی کرنل با اولویت بین info
و warn
. اولویت none
نشاندهنده مجموعه خالی است (بدون اولویت) و ممکن است برای خارجکردن یک زیرسیستم از مجموعه پیامها بکار رود. پس، *.crit;kern.none
یعنی تمام پیامهای با اولویت برابر یا بزرگتر از crit
که از کرنل نمیآیند.
9.5.2.2. شیوه دستوری اقدامات
اقدامات ممکن عبارتند از:
افزودن پیام به یک فایل (نمونه: /var/log/messages
)؛
ارسال پیام به یک سرور راهدور syslog
(نمونه؛ @log.falcot.com
)؛
ارسال پیام به یک لوله موجود نامگذاری شده (نمونه: |/dev/xconsole
)؛
ارسال پیام به یک یا چند کاربر، اگر در سیستم حاضر باشند (نمونه: root,rhertzog
)؛
ارسال پیام به تمام کاربران حاضر در سیستم (نمونه: *
)؛
نوشتن پیام در یک کنسول متنی (نمونه: /dev/tty8
).