یکی از قابلیت‌های سیستم‌عامل ثبت رخدادها و اتفاقات جاری سیستم است. این قابلیت کمک زیادی به بررسی وضعیت سیستم، عیب یابی و مدیریت سیستم می‌کند.
در لینوکس از ابزارها و روش‌های مختلفی برای ثبت و مدیریت لاگ مانند syslogd و syslogd-ng استفاده می‌شده است. در حال حاضر متداول‌ترین روش‌ها برای انجام این کار rsyslog و systemd-journal است.
در این مستند در مورد نصب و پیکربندی rsyslog و همچنین مفاهیم مهم در بحث لاگ صحبت خواهیم کرد.

نصب و چک کردن سرویس rsyslog

برای نصب rsyslog از dnf به شکل زیر استفاده می‌کنیم (البته به صورت معمول و پیش فرض این بسته نرم‌افزاری در تمامی لینوکس‌ها نصب می‌باشد).

در ادامه با استفاده از systemctl از وضعیت آن آگاه می‌شویم.

Copy to Clipboard

دسته بندی لاگ‌ها (Facility و Severity)

قبل از این که در مورد پیکربندی rsyslog صحبت کنیم باید دو مفهوم مهم Facility و Severity را بشناسیم.

Facility نوع یا طبقه بندی لاگ‌ها را مشخص می‌کند که لاگ توسط چه سرویس یا نرم افزاری تولید شده است. با توجه به استاندارد، Facility یکی از موارد جدول زیر می‌تواند باشد (RFC 3164).

جدول Facility code

Severity شدت، درجه یا سطح اهمیت لاگ را مشخص می‌کند. با توجه به استاندارد، سطوح Severity به صورت زیر تعریف می‌شوند.

سطوح Severity

پیکربندی rsyslog

تنظیمات مربوط به rsyslog در فایل /etc/rsyslog.conf قرار دارد.

Copy to Clipboard

در این فایل در سمت چپ نوع لاگ با استفاده از Facility و Severity (با ساختار Facility.Severity) و در سمت راست فایل یا مکانی که لاگ ذخیره، ارسال یا نشان داده می‌شود، مشخص شده است.

به عنوان مثال در خط زیر *.info به معنای همه‌ی انوع لاگ با سطح info و قبل از آن (سطح ۰ الی ۶) است، در ادامه‌ی این خط mail.none;authpriv.none;cron.none به این معنا است که هیچ لاگی از نوع mail، authpriv یا cron را شامل نشود. در سمت راست نیز مکان ذخیره لاگ مشخص شده است.

Copy to Clipboard

در ادامه‌ی تنظیمات این فایل، لاگ‌های authpriv، mail و cron در فایل‌های مجزایی ذخیره می‌شوند.

Copy to Clipboard

تنظیمات خط زیر به معنای این است که همه‌ی لاگ‌ها با سطح emerg یا panic (که در فایل /var/log/messages نیز ذخیره می‌شوند) در کنسول نیز نشان داده شوند.

Copy to Clipboard

فایل messages

با توجه به تنظیمات پیش‌فرض لاگ که توضیحات آن ارائه شد فایلی که بیشتر از همه برای بررسی لاگ‌ها با آن سر و کار داریم /var/log/messages است.

اگر نگاهی به این مسیر بیندازیم می‌بینیم که علاوه بر این فایل چند فایل دیگر نیز با نام‌های شبیه آن به صورت زیر داریم. فایل‌های دیگر در واقع همین فایل در بازه‌های زمانی هفته‌های گذشته هستند که به دلیل تنظیمات پیش فرض rotation لاگ‌ها به این صورت ذخیره می‌شوند (لاگ هفته‌ی جاری + لاگ ۴ هفته گذشته).

Copy to Clipboard

تنظیمات مربوط به rotate در فایل /etc/logrotate.conf انجام می‌شود.

Copy to Clipboard

بررسی لاگ‌ها در messages

برای بررسی لاگ‌ها به صورت زنده از tailf یا tail -f به صورت زیر استفاده می‌کنیم.

Copy to Clipboard

برای بررسی و جستجو در لاگ‌ها از ابزارهایی مانند vi یا vim نیز استفاده می‌شود. به علاوه در صورتی که در لاگ‌ها خواسته باشیم کلمه کلیدی خاصی را جستجو کنیم از cat و grep نیز می‌توانیم استفاده کنیم.

همانطور که در لاگ‌های ارائه شده مشخص است، لاگ‌های ایجاد شده در قالب پیام‌هایی (Messages) ذخیره می‌شوند که در ابتدای این پیام یک برچسب زمانی یا Timestamp وجود دارد که زمان رخداد لاگ را مشخص می‌کند و در ادامه توضیحات مربوط به لاگ ارائه می‌شود.

با توجه به اهمیت زمان لاگ، همگام بودن زمان و تاریخ سیستم از اهمیت بالایی برخوردار است و پیشنهاد می‌شود برای انجام این کار از سرویس NTP استفاده شود.

به اشتراک بگذارید.