راه اندازی رزبری پای به عنوان سرور Syslog

از رزبری پای خود به عنوان سرور syslog استفاده کنید.

 

Syslog پروتکلی است که توسط سیستم های کامپیوتری مختلف برای ارسال گزارش ها به سرور مرکزی syslog استفاده می شود.

این برنامه معمولاً در دستگاه هایی مانند روتر شبکه اجرا می گردد.

تنظیم رزبری پای برای پذیرش پیام های syslog یک کار بسیار ساده است. برای این هدف، از نرم افزار منبع باز و رایگان rsyslog استفاده خواهیم کرد.

 

آماده سازی رزبری پای برای سرور Syslog

قبل از شروع، اجازه دهید کارهای مقدماتی لازم را انجام دهیم تا Raspberry pi خود را به عنوان یک سرور syslog راه اندازی کنیم.

هنگام آماده سازی رزبری پای، باید آن را برای استفاده از آدرس IP ثابت تنظیم کنید.

۱. ما همیشه باید با به روز رسانی سیستم عامل خود شروع کنیم.

هنگامی که نرم افزار سرور syslog را در Raspberry Pi خود راه اندازی می کنیم، این اطمینان حاصل می شود که ما یک پایگاه به روز شده برای کار داریم.

دو دستور زیر را در سیستم خود اجرا کنید تا لیست بسته ها و هر بسته نصب شده به روز شود.

sudo apt update
sudo apt full-upgrade

۲. اگر از Raspberry Pi OS استفاده می کنید، بسته rsyslog که ما از آن استفاده می کنیم باید نصب شود.

با این حال، فقط در صورتی که نرم افزار در حال حاضر نصب نشده است، از دستور زیر برای نصب آن استفاده کنید.

sudo apt install rsyslog

پیکربندی Rsyslog به عنوان یک سرور

اکنون که رزبری پای آماده شده است، در نهایت می توانیم نرم افزار Rsyslog را دوباره پیکربندی کنیم تا به عنوان یک سرور syslog عمل کند.

 

فعال کردن Syslog برای مجاز کردن پیام های خارج

ما باید پیکربندی syslog Raspberry Pi خود را تغییر دهیم تا در پورت”۵۱۴″ پیامها را دریافت کنیم.

۱. به طور پیش فرض، Rsyslog روی Raspberry Pi شما پیکربندی نشده است تا به پیامهای syslog گوش دهد.

برای تغییر این رفتار، ما باید فایل پیکربندی نرم افزار را تغییر دهیم.

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

sudo nano /etc/rsyslog.conf

۲. در داخل این فایل، باید خطوط زیر را پیدا کرده و آنها را uncomment کنید.

با حذف هشتگ (#) روبرو می توانید خطوط را کامنت گذاری کنید.

شما باید هشتگ را از خطوط زیر حذف کنید.

#module(load="imudp")
#input(type="imudp" port="514")

#module(load="imtcp")
#input(type="imtcp" port="514")

 

با انجام این کار، ما پیکربندی مجدد نرم افزار rsyslog را انجام می دهیم تا پیام های syslog را از طریق پروتکل های UDP و TCP به Raspberry Pi خود اجازه دهیم.

۳. ما می توانیم فایل را با فشار دادن CTRL + X و سپس Y و سپس کلید ENTER ذخیره کنیم.

 

ایجاد الگوی جدید

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

این الگو به syslog می گوید که پیامهایی را که دریافت می کند در کجا قرار دهد. برای این کار، باید آدرس IP دستگاه خود را بدانید.

۱. در مرحله بعد، ما باید یک فایل پیکربندی در فهرست “/etc/rsyslog.d” ایجاد کنیم.

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

برای این مثال، ما این فایل را “pishronic.conf” می نامیم. می توانید هر نامی که می خواهید به این فایل بدهید، اما باید به “.conf” ختم شود.

sudo nano /etc/rsyslog.d/pishronic.conf

۲. در داخل این فایل، ما باید چند خط جدید وارد کنیم.

اولین کاری که ما باید انجام دهیم این است که یک قالب جدید تعریف کنیم.

یک الگو از قالب زیر استفاده می کند و به سرور syslog می گوید که log ها را در کجا ذخیره کند.

$template NameForTemplate, "DirectoryWhereLogIs/logName.log

 

برای فایل خود ، ما به این الگو نام “routerlog” را با فایل log می دهیم تا در “/var/log/router.log” ذخیره شود.

$template routerlog, "/var/log/router.log"

۳. برای هدایت پیام های syslog به الگوی جدید ما، باید پیکربندی بیشتری انجام دهیم.

برای این منظور، ما از خطوط زیر استفاده می کنیم.

شما باید “IPADDRESSTOUSE” را با IP دستگاهی که انتظار دارید پیام های syslog را از آن دریافت کنید، عوض کنید.

علاوه بر این، همچنین باید “templatename” را با نامی که در مرحله قبل مشخص کرده اید عوض کنید.

if $fromhost-ip startswith "IPADDRESSTOUSE" then -?templatename
& stop

برای نمونه

if $fromhost-ip startswith "192.168.0.1" then -?routerlog
& stop

۴. پس از اتمام کار ، فایل باید شبیه چیزی باشد که در زیر داریم.

$template routerlog, "/var/log/router.log"

if $fromhost-ip startswith "192.168.0.1" then -?routerlog
& stop

راه اندازی مجدد syslog در Raspberry Pi 

اکنون که سرور syslog رزبری پای خود را برای دریافت پیام های خارجی پیکربندی کرده ایم، باید آن را مجدداً راه اندازی کنیم.

ما باید سرویس را مجدداً راه اندازی کنیم تا در همه تغییرات پیکربندی ما خوانده شود.

راه اندازی مجدد سرویس به سادگی استفاده از دستور زیر در ترمینال است.

sudo systemctl restart rsyslog

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

Raspberry Pi شروع به دریافت پیام های ورود به سیستم از دستگاه می کند و شروع به ذخیره آنها در فایل ورود به سیستم می کند که برای آن الگو مشخص کرده اید.

اگر با کارکردن این دستگاه مشکلی دارید، لطفاً در بخش نظرات در کادر زیر برای ما زیر بنویسید.

 


پروژه های پیشنهادی برای شما

 

محمد صداقتی

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *