~3 دقیقه مطالعه • بروزرسانی ۲۸ بهمن ۱۴۰۴
1. TailWatch چیست؟
درایور TailWatch فایلهای لاگ را برای فعالیتهای خاص مانیتور میکند و سپس بر اساس آن فعالیتها اقداماتی انجام میدهد. هر ماژول TailWatch یک سرویس خاص را مانیتور کرده و مشخص میکند چه لاگی بررسی شود و چه اقدامی انجام گیرد.
1.1 درایورهای پیشفرض TailWatch
chkservdcpbandwdeximstatsjailmanagermodseclogrecentauthedmailiptracker
فعالسازی یا غیرفعالسازی این درایورها از مسیر زیر انجام میشود:
WHM » Home » Service Configuration » Service Manager
2. درایور chkservd
درایور chkservd بررسی میکند که آیا یک سرویس آنلاین است و در صورت نیاز آن را ریاستارت میکند. این کار از دو روش انجام میشود:
2.1 مانیتورینگ مبتنی بر اتصال
در این روش، chkservd به پورت سرویس متصل شده، یک دستور ارسال میکند و منتظر پاسخ میماند. اگر پاسخ صحیح دریافت شود، سرویس آنلاین محسوب میشود. این روش از اسکریپت restartsrv --check استفاده میکند.
2.2 مانیتورینگ مبتنی بر پردازش
در این روش، chkservd وجود یک پردازش خاص را بررسی کرده و وضعیت سرویس را تعیین میکند.
2.3 فرکانس بررسی
بهصورت پیشفرض، chkservd هر پنج دقیقه سرویسها را بررسی میکند:
- اگر سرویس آنلاین باشد → به سرویس بعدی میرود.
- اگر سرویس آفلاین باشد → تلاش میکند سرویس را با
restartsrvریاستارت کند.
2.4 مشاهده نتایج chkservd
- فایل لاگ:
/var/log/chkservd.log - رابط WHM:
WHM » Home » Server Status » Server Information
میتوانید تنظیم کنید که نتایج بررسیها برای شما ایمیل شود.
3. افزودن سرویس جدید برای مانیتورینگ
برای افزودن سرویس جدید به chkservd مراحل زیر را انجام دهید:
مرحله 1 — ویرایش فایل chkservd.conf
فایل زیر را باز کنید:
/etc/chkserv.d/chkservd.confسرویس جدید را با مقدار 1 (فعال) یا 0 (غیرفعال) اضافه کنید:
ftpd:1مرحله 2 — ایجاد فایل پیکربندی سرویس
فایلی در مسیر زیر ایجاد کنید:
/etc/chkserv.d/ftpdمرحله 3 — افزودن دستورالعملهای مانیتورینگ
نمونه مانیتورینگ مبتنی بر اتصال:
service[ftpd]=21,QUIT,220,/usr/local/cpanel/scripts/restartsrv_ftpserverنمونه مانیتورینگ مبتنی بر پردازش:
service[ftpd]=x,x,x,/usr/local/cpanel/scripts/restartsrv_ftpserver.service,ftpd,rootنمونه مانیتورینگ ترکیبی:
service[ftpd]=21,QUIT,220,/usr/local/cpanel/scripts/restartsrv_ftpserver,ftpd,rootمرحله 4 — ریاستارت chkservd
/etc/init.d/chkservd restartمرحله 5 — تأیید در WHM
در مسیر زیر بررسی کنید که سرویس اضافه شده باشد:
WHM » Home » Service Configuration » Service Manager
4. خطاهای رایج chkservd
یکی از خطاهای رایج زمانی رخ میدهد که یک سرویس غیرفعال اما مانیتور نشده، در WHM بهصورت آفلاین نمایش داده شود. برای رفع مشکل، بهجای service نام سرویس را قرار دهید:
حذف فایل run:
rm -f /var/run/chkservd/serviceحذف فایل پیکربندی سرویس:
rm -f /etc/chkserv.d/serviceویرایش chkservd.conf:
/etc/chkserv.d/chkservd.confریاستارت chkservd:
/scripts/restartsrv_chkservdذخیره در WHM:
در Service Manager روی Save کلیک کنید.
5. سایر درایورهای TailWatch
این درایورها فایل پیکربندی یا لاگ اختصاصی ندارند:
antirelaydeximstatsjailmanagercpbandwdmodseclog
فعالیت آنها در فایل زیر ثبت میشود:
/usr/local/cpanel/logs/tailwatchd_log6. کنترل فرآیند TailWatch
برای کنترل TailWatch از فلگهای خط فرمان استفاده کنید:
/usr/local/cpanel/libexec/tailwatchdبرای مشاهده تمام فلگها:
/usr/local/cpanel/libexec/tailwatchd --help7. افزودن قابلیت سفارشی به TailWatch
برای افزودن درایور سفارشی، از مستندات PerlDoc استفاده کنید:
/usr/local/cpanel/libexec/tailwatchd --perldocدرایورهای جدید را در مسیر زیر قرار دهید:
/usr/local/cpanel/Cpanel/TailWatchسپس TailWatch را ریاستارت کنید تا درایورهای
نوشته و پژوهش شده توسط دکتر شاهین صیامی