آشنایی با TailWatch و نحوه پیکربندی مانیتورینگ chkservd در cPanel & WHM

این مقاله سیستم TailWatch در cPanel & WHM را توضیح می‌دهد؛ سیستمی که لاگ‌ها را مانیتور کرده و بر اساس رویدادها اقدام می‌کند. همچنین نحوه عملکرد درایور chkservd، روش افزودن سرویس جدید برای مانیتورینگ، رفع خطاهای رایج، معرفی سایر درایورها، کنترل فرآیند TailWatch و افزودن درایورهای سفارشی را بررسی می‌کند.

TailWatch cPanelchkservd monitoringWHM service manager

~3 min read • Updated Feb 17, 2026

1. TailWatch چیست؟


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


1.1 درایورهای پیش‌فرض TailWatch


  • chkservd
  • cpbandwd
  • eximstats
  • jailmanager
  • modseclog
  • recentauthedmailiptracker

فعال‌سازی یا غیرفعال‌سازی این درایورها از مسیر زیر انجام می‌شود:
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


این درایورها فایل پیکربندی یا لاگ اختصاصی ندارند:


  • antirelayd
  • eximstats
  • jailmanager
  • cpbandwd
  • modseclog

فعالیت آن‌ها در فایل زیر ثبت می‌شود:


/usr/local/cpanel/logs/tailwatchd_log

6. کنترل فرآیند TailWatch


برای کنترل TailWatch از فلگ‌های خط فرمان استفاده کنید:


/usr/local/cpanel/libexec/tailwatchd

برای مشاهده تمام فلگ‌ها:


/usr/local/cpanel/libexec/tailwatchd --help

7. افزودن قابلیت سفارشی به TailWatch


برای افزودن درایور سفارشی، از مستندات PerlDoc استفاده کنید:


/usr/local/cpanel/libexec/tailwatchd --perldoc

درایورهای جدید را در مسیر زیر قرار دهید:


/usr/local/cpanel/Cpanel/TailWatch

سپس TailWatch را ری‌استارت کنید تا درایورهای

Written & researched by Dr. Shahin Siami