دانش محور دستورالعمل های ساده برای کار با سرویس Profitserver
اصلی دانش محور چگونه لاگ های لینوکس را بخوانیم و کجا آن را پیدا کنیم

چگونه لاگ های لینوکس را بخوانیم و کجا آن را پیدا کنیم


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

هر پیامی در گزارش در نتیجه رویدادهای خاصی در سیستم عامل ایجاد می شود: از کاربر، مجوز تا خاموش شدن سرویس یا خرابی برنامه. این رویدادها بسته به اینکه چقدر بحرانی هستند اولویت های متفاوتی دارند. انواع رویدادهای زیر در لینوکس وجود دارد:

  1. emerg - شکست، بالاترین اولویت؛
  2. alert - هشدار فوری؛
  3. crit - رویداد مهم؛
  4. err - خطای معمولی؛
  5. warn - هشدار معمولی؛
  6. notice - اطلاع رسانی؛
  7. info - پیام اطلاعاتی؛
  8. debug - اشکال زدایی اطلاعات؛

در حال حاضر، خدمات اصلی جمع آوری لاگ در لینوکس هستند rsyslog و systemd-journald. آنها با اکثر بسته های توزیع مدرن همراه هستند و به طور مستقل کار می کنند.

rsyslog

گزارش های این سرویس در "/ var / log /پوشه " به شکل فایل های متنی معمولی. پیام های گزارش بسته به نوع رویداد در فایل های مختلف قرار می گیرند. به عنوان مثال، "/var/log/auth.log” حاوی اطلاعاتی در مورد مجوز کاربران در سیستم است و ”/var/log/kern.log" حاوی پیام‌های هسته است. نام فایل‌ها می‌تواند در بسته‌های توزیع متفاوت باشد، بنابراین بیایید نگاهی به فایل پیکربندی بیندازیم تا متوجه شویم که کجاست./etc/rsyslog.d/50-default.conf".

Сбор логов Linux утилитой rsyslog

این قوانین نشان می دهد که کدام فایل حاوی هر نوع پیام گزارش است. قسمت سمت چپ نوع پیام را به شکل زیر نمایش می دهد.[منبع]. [اولویت]” و قسمت سمت راست نام فایل لاگ را نمایش می دهد. هنگام نوشتن نوع پیام ”*"کاراکتر را می توان به آن اضافه کرد. به معنای مقدار خالی یا "هیچبیایید نگاهی دقیق تر به دو قانون اول بیندازیم.

“auth,authpriv.* /var/log/auth.log”
“*.*;auth,authpriv.none -/var/log/syslog”

قانون اول به این معنی است که تمام پیام‌های دریافتی از مکانیسم مجوز ثبت می‌شوند:/var/log/auth.logفایل ". تمام تلاش های مجوز (اعم از موفقیت آمیز و غیر موفق) در این فایل ثبت می شود. قانون دوم نشان می دهد که همه پیام ها به جز پیام هایی که با مجوز مرتبط هستند در " ثبت می شوند./ var / log / syslogاین دو فایل معمولاً محبوب‌ترین فایل‌ها هستند. قوانین زیر مسیر ذخیره‌سازی گزارش‌های هسته را مشخص می‌کند.کرن.*گزارش های خدمات پستی و خدمات پستیپست.*"

فایل های گزارش را می توان با کمک هر ویرایشگر متنی مانند کمتر, گربه, دم. بیایید "/var/log/auth.log" فایل

less /var/log/auth.log
نوشتن در log-faйле Линукс о неудачной попытке نویسنده SSH

هر خط از فایل یک پیام جداگانه است که از برنامه یا سرویس دریافت می شود. همه پیام ها صرف نظر از منبع آنها دارای یک قالب و از 5 قسمت هستند. بیایید پیام هایلایت شده در اسکرین شات را به عنوان مثال در نظر بگیریم.

  1. مهر زمانی پیام - "12 فوریه 06:18:33"
  2. نام رایانه ای که پیام را ارسال کرده است - "vds"
  3. نام برنامه یا سرویسی که پیام را ارسال کرده است - "sshd"
  4. شناسه فرآیند - [653]
  5. متن پیام - "گذرواژه پذیرفته شده برای mihail از 188.19.42.165 پورت 2849 ssh2"

این نمونه ای از اتصال موفق به SSH بود.

و در اینجا چگونگی تلاش ناموفق برای ورود به سیستم به نظر می رسد:

Читаем логи لینوکس

این فایل همچنین دستورات با مجوزهای پیشرفته را ضبط می کند

چگونه می توانید لینوکس را مطالعه کنید

بیایید در را باز کنیم / var / log / syslog پرونده

یک پیام برجسته در اسکرین شات، پیامی در مورد خاموش شدن رابط شبکه است.

لوگوروت کردن

برای جستجوی اطلاعات از طریق فایل های متنی طولانی استفاده کنید grep استفاده سودمندی شما می توانید تمام پیام های دریافتی را پیدا کنید pptpd خدمات در "/ var / log / syslog" فایل.

grep 'pptpd' /var/log/syslog
فایل "/etc/logrotate.d/rsyslog"

در طول تشخیص می توانید استفاده کنید دم ابزاری که می تواند چندین خط آخر فایل را نمایش دهد. فرمان "tail -f / var / log / syslog” به شما امکان می دهد ضبط گزارش ها را در زمان واقعی تماشا کنید.

خدمات rsyslog بسیار انعطاف پذیر و قدرتمند است می توان از آن برای برداشت سیاهههای مربوط در سیستم های محلی و همچنین در سطح سازمانی استفاده کرد. می توانید اسناد کامل را در وب سایت رسمی بیابید https://www.rsyslog.com/

چرخش لاگ ها در لینوکس

ضبط گزارش به طور مداوم انجام می شود، بنابراین اندازه فایل ها دائماً افزایش می یابد. مکانیزم چرخش آرشیو خودکار لاگ های قدیمی و ایجاد فایل های جدید را تضمین می کند. بسته به قوانین، می تواند روزانه، هفتگی، ماهانه یا با محدودیت اندازه اتفاق بیفتد. با ایجاد گزارش های جدید، موارد قدیمی را می توان فقط حذف کرد یا از طریق ایمیل ارسال کرد. چرخش سیاههها توسط به دست آورد سودمندی می توانید پیکربندی اصلی را در " پیدا کنید/etc/logrotate.confفایل ". محتوای فایل ها نیز در " پردازش می شود/etc/logrotate.d/”پوشه

قوانین جدید را می توان به فایل پیکربندی اصلی وارد کرد. با این حال، بهتر است یک فایل جداگانه در " ایجاد کنید/etc/logrotate.d/به طور پیش فرض، چند فایل در این فهرست وجود دارد

Настраиваем ротацию логов во Линукс

بیایید نگاهی به فایل بیاندازیم/etc/logrotate.d/rsyslog" که حاوی قوانین چرخش برای سیاهههای مربوط به rsyslog خدمات.

مثال вывода всех ошибок pptpd در лог-файлах

ابتدا، قانون باید شامل مسیر فایل log باشد و سپس تمام دستورالعمل ها را در براکت های منحنی دنبال کند.

  • چرخش 7 - تعداد فایل برای نگهداری - 7
  • روزانه - هر روز یک فایل جدید ایجاد کنید
  • فشرده کردن - فشرده سازی و بایگانی فایل های قدیمی
لينوکس

در اسکرین شات می توانید ببینید که در "/ var / log /"پوشه ورود به سیستم اصلی وجود دارد"syslog” و 7 آرشیو که با قوانین موجود در فایل پیکربندی مطابقت دارد.

شما می توانید شرح مفصل تری از logrotate را در دفترچه راهنما بیابید، با اجرای "مرد logrotateفرمان

جمع آوری لاگ های لینوکس - مجله

خدمات برداشت چوب systemd-journald بخشی از سیستم اولیه است systemd. فایل های لاگ لینوکس در "ذخیره می شوند/var/log/journal/” در قالبی خاص و با کمک باز می شود ژورنالکتل سودمندی فرمت رکوردها دقیقاً مشابه است rsyslog.

فرمان ژورنالکتل بدون ویژگی همه رکوردها را نشان می دهد اما برای سیاهههای بزرگتر مناسب نیست. بیایید نگاهی به برخی از گزینه های این ابزار بیاندازیم.

  • journalctl -b - نمایش تمام رکوردها از آخرین شروع
  • journalctl -S "2020-02-17 12:00" -U "2020-02-17 12:10" - نمایش رکورد در یک بازه زمانی خاص
  • journalctl -u pptpd - نمایش سوابق یک سرویس خاص
  • journalctl -k - نمایش پیام های هسته
  • journalctl -p err - نمایش پیام هایی با اولویت خاص، پیام های با اولویت بالاتر در این مورد (crit، alert، emerg)
  • journalctl -f - نمایش پیام ها در زمان واقعی

برای انعطاف پذیری بهتر می توانید این گزینه ها را ترکیب کنید. بیایید همه اشتباهات را نشان دهیم pptpd سرویس

journalctl -u pptpd -p err
آخرین

اگر مسیر فایل اجرایی را به عنوان یک ویژگی مشخص کنید، ابزار تمام پیام های ارسال شده توسط این فایل را نشان می دهد. بیایید همه پیام‌های ارسال شده توسط فایل را نشان دهیم/usr/bin/sudo” از ساعت 04:15 در 18 فوریه 2020. در واقع، تمام دستورات اجرا شده با مجوزهای بالاتر را نشان می دهد.

journalctl -S "2020-02-18 04:15" /usr/bin/sudo
командой lastb

برای اینکه بفهمید فایل های لاگ چقدر فضای دیسک را برای اجرای دستور زیر اشغال می کنند

journalctl --disk-usage

برای محدود کردن فایل log به 1Gb دستور زیر را اجرا کنید

journalctl --vacuum-size=1G

باز کردن فایل های باینری

حال بیایید نگاهی به چند فایل خاص در "/ var / log /پوشه ای که تمام تلاش های ورود به سیستم در آن ذخیره می شود. این فایل ها باینری هستند و فقط با برنامه های خاص باز می شوند.

/var/log/wtmp حاوی اطلاعاتی در مورد تلاش های موفق برای ورود به سیستم است. از آخرین ابزار برای باز کردن آن استفاده کنید.

утилита lastlog

/var/log/btmp - شامل تمام تلاش های ناموفق برای ورود به سیستم است. می توان آن را با lastb با مجوزهای پیشرفته باز کرد. صفت -n تعداد خطوط نمایش داده شده از انتهای فایل را مشخص می کند.

/var/log/loadlog - شامل زمان آخرین اقدام ورود به سیستم برای هر رکورد حساب است. می توان آن را با آخرین ارسال

❮ مقاله قبلی نحوه پیکربندی رابط های شبکه در CentOS
مقاله بعدی ❯ ویرایشگرهای متن لینوکس

VPS را از ما بخواهید

ما همیشه آماده پاسخگویی به سوالات شما در هر ساعت از شبانه روز هستیم.