پایش لاگ‌ها در واچ‌لاگ

در این بخش یاد می‌گیرید چطور ایجنت واچ‌لاگ را نصب کرده و لاگ‌های خود را برای پایش تنظیم کنید — حالا با شناسایی خودکار سطح لاگ و به‌روزرسانی لحظه‌ای!

مرحله ۱: نصب ایجنت واچ‌لاگ

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

نصب ایجنت واچ‌لاگ

مرحله ۲: پیکربندی پایش لاگ‌ها

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

# فایل log-watchlist.json را برای ویرایش باز کنید
nano /opt/watchlog/agent/src/log-watchlist.json
                        

درون فایل log-watchlist.json، لاگ‌هایی که می‌خواهید پایش شوند را تعریف کنید:

{
    "logs": [
        {
            "name": "لاگ‌های دسترسی Nginx",
            "path": "/var/log/nginx/access.log",
            "service": "nginx",
            "format": "auto"
        },
        {
            "name": "لاگ‌های Redis",
            "path": "/var/log/redis/redis.log",
            "service": "redis",
            "format": "custom",
            "pattern": "^(\\d{2} \\w{3} \\d{2}:\\d{2}:\\d{2}) (\\w+): (.*)$"
        }
    ]
}
                        

پس از ذخیره تغییرات، ایجنت را ری‌لود کنید تا تنظیمات جدید اعمال شوند. برای مثال، اگر از PM2 استفاده می‌کنید:

pm2 reload watchlog-agent
                        

درک format و pattern

فیلد format مشخص می‌کند که فایل لاگ چگونه پردازش شود:

  • auto: واچ‌لاگ به‌صورت خودکار فرمت را تشخیص می‌دهد (پیشنهاد برای سرویس‌هایی مانند Nginx، Redis، Docker و ...).
  • custom: باید یک pattern (عبارت منظم) برای تجزیه لاگ‌ها تعریف کنید.

اگر از فرمت custom استفاده می‌کنید، باید یک pattern معتبر تعریف کنید تا موارد زیر را استخراج کند:

  • تاریخ/زمان لاگ
  • سطح لاگ (مانند INFO، ERROR، DEBUG و ...)
  • محتوای پیام

برای مثال، الگوی زیر:

"^(\\d{2} \\w{3} \\d{2}:\\d{2}:\\d{2}) (\\w+): (.*)$"
                            

از این لاگ:

"08 Mar 13:45:10 INFO: Server started"
                            

اطلاعات زیر را استخراج می‌کند:

  • date: 08 Mar 13:45:10
  • level: INFO
  • message: Server started

مرحله ۳: شناسایی خودکار سطح لاگ

واچ‌لاگ به‌صورت خودکار سطح لاگ را شناسایی می‌کند، مشروط بر اینکه در فیلدی با نام level (برای فرمت‌های custom) قرار گرفته باشد، یا از پارسرهای داخلی برای سرویس‌های رایج استفاده شود.

محدودیتی برای سطح لاگ وجود ندارد. برای مثال: INFO، WARN، ERROR، DEBUG، NOTICE، CRITICAL، SUCCESS یا هر رشته‌ای که در گروه level شناسایی شود.

در داشبورد واچ‌لاگ، هر سطح قابل شناسایی می‌تواند فیلتر یا برجسته‌سازی شود. اگر لاگی سطح مشخصی نداشته باشد، در دسته‌بندی پیش‌فرض (مثلاً UNKNOWN) نمایش داده می‌شود.

مرحله ۴: جستجو و فیلتر لاگ‌ها

واچ‌لاگ به شما اجازه می‌دهد که لاگ‌ها را به‌صورت لحظه‌ای جستجو و فیلتر کنید.

  • 🔍 جستجو در لاگ‌ها بر اساس **کلمات کلیدی** در پیام
  • 📅 فیلتر بر اساس **بازه زمانی**
  • ⚙️ فیلتر بر اساس **سطح لاگ** (مانند INFO، ERROR، DEBUG و ...)

می‌توانید از بخش watchlist در داشبورد واچ‌لاگ به آن دسترسی داشته باشید:

مرحله ۵: پایش لحظه‌ای (Live Mode)

واچ‌لاگ قابلیت حالت زنده (Live Mode) را فراهم کرده که با فعال بودن آن، لاگ‌ها به‌صورت لحظه‌ای بروزرسانی می‌شوند. در این حالت:

  • جدول لاگ و نمودارها یا آمارها به‌صورت بلادرنگ آپدیت می‌شوند.
  • می‌توانید همچنان فیلترهایی مانند فقط نمایش لاگ‌های ERROR را اعمال کنید.
  • برای دیباگ سریع یا مانیتورینگ لحظه‌ای بسیار مفید است.

برای فعال یا غیرفعال کردن، کافی است دکمه Live Mode را در داشبورد بزنید.