تغییرات اخیر

در اینجا اطلاعیه‌ها، نسخه‌ها و تغییرات جدید لیارا فهرست می‌شوند.

آموزش راه اندازی سرور syslog و ارسال لاگ های سرور به آن


۱۱ مرداد ۱۴۰۴

در دنیای لینوکس، لاگ‌های سیستم به نوعی گنجینه‌ای از اطلاعات هستند که می‌توانند به شما کمک کنند تا باگ‌های فنی را پیدا کرده و آنها‌را رفع کنید. زمانی که مشکلی پیش می‌آید، داشتن یا نداشتن لاگ‌ها می‌تواند زمان حل آن‌را از چند ساعت تا چند روز کاهش دهد. بیشتر مواقع هم زمان اضافه برای جستجو ندارید، بنابراین باید مطمئن شوید که همیشه لاگ‌ها در دسترس‌ هستند. این مهم است که از داده‌ها نسخه‌های پشتیبان داشته باشیم، زیرا ممکن است مشکلی بوجود آید و سیستم از کار بیافتد. در این مقاله از لیارا، به شما آموزش خواهیم داد که چگونه یک سرور Syslog راه‌اندازی کنید و چطور لاگ‌های سرور خود را به آن ارسال کنید، تا با داشتن لاگ‌هایی که به راحتی قابل دسترسی و پشتیبان‌گیری هستند، بتوانید مشکلات را سریع‌تر شناسایی و حل کنید؛ تا پایان همراه ما باشید:)

امکاناتی که برای دنبال کردن این آموزش نیاز خواهید داشت:

یک هاست لینوکس به عنوان (سرور Syslog) و یک هاست لینوکس دیگر به عنوان (کلاینت Syslog).

همچنین بخوانید:

  • Syslog چیست؟
  • چگونه یک سرور Syslog را پیکربندی کنیم؟
  • نحوه ارسال لاگ‌ها به سرور Syslog
  • تأیید ارسال لاگ‌ها
  • جمع‌بندی
  • سوالات متداول
آموزش راه اندازی سرور syslog و ارسال لاگ های سرور به آن
در کمتر از ۳۰ ثانیه، هاست لینوکس خود را در لیارا راه‌اندازی کنید و تجربه‌ای سریع، امن و بدون دردسر داشته باشید!
✅ سازگار با PHP و MySOL ✅ پرداخت ساعتی ✅ امنیت پیشرفته
خرید هاست لینوکس

Syslog چیست؟

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

برای آشنایی با مدیریت پکیج‌ها در سرور مجازی لینوکس با apt-get و apt-cache، مقاله زیر را مطالعه کنید.
مدیریت پکیج‌ها در سرور مجازی لینوکس

چگونه یک سرور Syslog را پیکربندی کنیم؟

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

برای این‌کار ابتدا، سیستم را به‌روزرسانی کنید:

sudo apt update

پس از آن‌که سیستم شما آپدیت شد، باید فایل rsyslog.conf را ویرایش کنید، برای این‌کار دستور زیر را وارد کنید:

sudo nano /etc/rsyslog.conf
سرور syslog

زمانی که وارد ویرایشگر متن nano شدید، باید نمادهای (#) را در بخش UDP syslog reception حذف کنید. (طبق تصویر بالا)

پس از اعمال تغییرات، برای ذخیره و خروج کلیدهای Ctrl + X و Enter را فشار دهید.

حالا باید سرویس rsyslog را راه‌اندازی کنید تا تنظیمات جدید اعمال شود. برای این‌کار دستور زیر را وارد کنید:

sudo service rsyslog restart

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

نکته: بسته به تنظیمات شبکه و فایروال محیط شما، ممکن است نیاز باشد که پیکربندی‌های فایروال را برای مجاز کردن ترافیک ورودی به پورت 514 UDP به روزرسانی کنید. این می‌تواند شامل باز کردن پورت در فایروال‌های سخت‌افزاری یا نرم‌افزاری مانند iptables یا ufw باشد تا ترافیک Syslog به سرور مقصد منتقل شود.

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

sudo netstat -lupn

بیایید خط به خط بررسی کنیم که این دستور که دقیقا چه کاری انجام می‌دهد:

  • sudo (Super User Do): این پیشوند باعث می‌شود دستور با سطح دسترسی کاربر ریشه (root) اجرا شود؛ برای انجام تنظیمات سیستمی یا دسترسی به پورت‌های رزرو شده، معمولاً به این سطح دسترسی نیاز است.
  • netstat: ابزاری قدرتمند برای بررسی اتصالات شبکه، جدول‌های مسیریابی، آمار اینترفیس‌ها، کانکشن‌های NAT و عضویت‌های مولتی‌کست است. این دستور یک دید جامع از وضعیت فعلی شبکه سیستم ارائه می‌دهد.
  • -l: این پارامتر فقط سوکت‌هایی را نمایش می‌دهد که در حالت “listening” هستند، یعنی در حال انتظار برای دریافت اتصال یا داده.
  • -u: خروجی را محدود به پورت‌های UDP می‌کند. چون Syslog به‌صورت پیش‌فرض از UDP استفاده می‌کند، این گزینه در بررسی لاگ سرور حیاتی است.
  • -p: نام برنامه و شماره PID (شناسه فرآیند) که آن پورت را باز کرده است، نمایش داده می‌شود. این اطلاعات برای شناسایی دقیق سرویس‌های در حال اجرا کاربردی است.
  • -n: آدرس‌های IP و پورت‌ها را به‌صورت عددی نمایش می‌دهد و از resolve کردن آن‌ها به hostname جلوگیری می‌کند؛ این باعث سرعت بیشتر در اجرای دستور می‌شود.

با اجرای این ترکیب از پارامترها، می‌توانیم بررسی کنیم که آیا سرور Syslog واقعاً روی پورت 514 در حال شنود است یا نه:

سرور syslog

همانطور که می‌بینید، سرور ما در حال گوش‌دادن روی پورت 514/UDP است. این یعنی تنظیمات مربوط به Syslog با موفقیت اعمال شده‌اند و سرور آماده دریافت لاگ‌ها از کلاینت‌هاست.

نحوه راه‌اندازی اولیه سرور مجازی با اوبونتو Ubuntu را در مقاله زیر بخوانید.
راه‌اندازی سرور مجازی

نحوه ارسال لاگ‌ها به سرور Syslog

خوشبختانه، حالا که سرور syslog ما راه‌اندازی شده و روی پورت 514 در حال گوش دادن است، وقت آن است که سیستم کلاینت لینوکس (کلاینت Syslog) را طوری پیکربندی کنیم که لاگ‌ها را به این سرور ارسال کند.

برای این‌کار ابتدا وارد سیستم کلاینت شوید و با دستور زیر سیستم را آپدیت کنید:

sudo apt upgrade && apt update

بعد از اینکه سیستم کلاینت به‌روزرسانی شد، حالا باید دقیقا همان پیکربندی که قبلا روی سرور ویرایش کردیم، این‌بار روی این ماشین(کلاینت) ویرایش کنیم:

sudo nano /etc/rsyslog.conf

چنانچه بخواهید، همه لاگ‌های سیستم کلاینت را به سرور Syslog ارسال کنید، در انتهای فایل کانفیگ، خط زیر را اضافه کنید:

سرور syslog

اگر هم بخواهید فقط لاگ‌های مربوط به کرنل را که سطح شدت آن‌ها از نوع Warning یا بالاتر است (مثل error یا critical)، به سرور Syslog ارسال کنید، باید خط زیر را در انتهای فایل کانفیگ rsyslog.conf وارد کنید:

سرور syslog

در آخر، با کلید ترکیبی Ctrl + X فایل را ذخیره کنید و خارج شوید.

آموزش کامل دستور passwd در لینوکس برای تغییر پسورد سرور، مقاله زیر را می‌توانید، بخوانید.
آموزش دستور passwd

تأیید ارسال لاگ‌ها

پس از راه‌اندازی و پیکربندی سرور syslog، تنها کاری که باید انجام دهید این‌است که بررسی کنید که آیا لاگ‌ها به‌درستی به سرور ما ارسال می‌شوند یا نه! برای این‌کار از دستور logger استفاده کنید. برای تست تنظیمات خود، دستور زیر را وارد کنید:

logger TEST TEST TEST

دستور بالا، یک ورودی لاگ با محتوای «TEST TEST TEST» ایجاد می‌کند. برای بررسی لاگ‌ها در سرور کلاینت، دستور زیر را اجرا کنید:

sudo tail /var/log/syslog

دستور tail، آخرین ۱۰ خط از یک فایل متنی را نمایش می‌دهد. بنابراین باید بتوانید ورودی لاگ خود را مانند تصویر زیر مشاهده کنید:

سرور syslog

اکنون، همان دستور (sudo tail /var/log/syslog) را روی سرور اجرا کنید.

خروجی:

سرور syslog

همانطور که می‌بینید، ورودی تست لاگ‌ها هم در سرور و هم در کلاینت نمایش داده می‌شود.

با سرور مجازی لینوکس لیارا، قدرت، سرعت و امنیت را یکجا داشته باشید!
✅ منابع اختصاصی و مقیاس‌پذیر✅ استقرار سریع بدون پیچیدگی ✅ قیمت مقرون‌به‌صرفه
خرید سرور مجازی لینوکس ساعتی لیارا

جمع‌بندی

تبریک:) شما با استفاده از این مقاله موفق شدید یک سرور Syslog راه‌اندازی کنید و توانستید لاگ‌های سیستم‌های لینوکسی را به طور مرکزی مدیریت و ارسال کنید. این موضوع یک قدم بزرگ در جهت بهبود مدیریت سیستم‌ها و نظارت بر سلامت آنهاست. امیدواریم این آموزش برایتان مفید و کاربردی بوده باشد. با این ابزار، شما همیشه یک گام جلوتر از مشکلات خواهید بود. حالا می‌توانید به راحتی بر روی سرورهای خود نظارت کنید و به سرعت به رفع مشکلات بپردازید.

نحوه شخصی‌سازی اتصال به سرور مجازی لینوکس (VPS) با SSH را در در مقاله زیر مطالعه کنید.
شخصی‌سازی اتصال به سرور مجازی لینوکس

سوالات متداول

آیا می‌توانم پورت Syslog را تغییر دهم؟

بله، شما می‌توانید پورت پیش‌فرض 514 را در تنظیمات rsyslog.conf تغییر دهید.

آیا سرور Syslog از پروتکل‌های دیگر به غیر از UDP پشتیبانی می‌کند؟

بله، Syslog به‌طور پیش‌فرض از پروتکل UDP استفاده می‌کند، اما می‌تواند به راحتی با پروتکل‌های دیگر مانند TCP نیز کار کند.

چطور می‌توانم مطمئن شوم که سرور Syslog در حال کار است؟

برای اطمینان از اینکه سرور Syslog به درستی در حال گوش دادن به پورت 514 است، می‌توانید از دستور netstat استفاده کنید.

چطور می‌توانم فقط برخی از لاگ‌ها را ارسال کنم؟

در تنظیمات فایل rsyslog.conf می‌توانید لاگ‌هایی که می‌خواهید ارسال کنید را مشخص کنید.

آیا می‌توانم لاگ‌ها را به چند سرور مختلف ارسال کنم؟

شما می‌توانید تنظیمات ارسال لاگ‌ها را طوری پیکربندی کنید که لاگ‌ها به چند سرور مختلف ارسال شوند.

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

برچسب‌ها: