رصد خطای وب‌سایت: چرا لاگ سرور کافی نیست؟

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

چرا لاگ سرور کافی نیست؟

لاگ سرور فقط درخواست‌هایی را می‌بیند که به سرور رسیده‌اند. اما بخش بزرگی از مشکلات امروز در سمت مرورگر رخ می‌دهد:

  • خطاهای جاوااسکریپت که یک فرم یا دکمه را از کار می‌اندازند
  • درخواست‌های شبکه‌ای که در مرورگر شکست می‌خورند یا بیش از حد طول می‌کشند
  • ناسازگاری با یک مرورگر یا دستگاه خاص
  • خطاهایی که فقط برای کاربران با داده یا نقش خاص رخ می‌دهند

در سامانه‌های سازمانی که کاربرانش کارمندان هستند، وضع بدتر است: کاربر معمولاً به‌جای گزارش، با راه‌حل موقت کار را جلو می‌برد و مشکل ماه‌ها باقی می‌ماند.

یک سامانه رصد خطا چه چیزهایی ثبت می‌کند؟

  1. پیام خطا و Stack Trace: دقیقاً کدام خط کد و در چه مسیری خطا داده است.
  2. مسیر کاربر پیش از خطا (Breadcrumbs): کاربر قبل از خطا چه صفحه‌هایی را دیده و روی چه چیزهایی کلیک کرده است.
  3. مرورگر، سیستم‌عامل و نسخه برنامه: برای بازتولید خطا.
  4. درخواست‌های شبکه ناموفق: آدرس، کد وضعیت و زمان پاسخ.
  5. گروه‌بندی خطاهای مشابه: تا به‌جای هزار گزارش تکراری، یک مشکل با تعداد تکرار دیده شود.

بازخورد کاربر؛ نیمه دیگر ماجرا

همه مشکلات خطای فنی نیستند؛ گاهی کاربر فقط نمی‌فهمد چه کند یا چیزی را اشتباه می‌بیند. دکمه بازخورد درون‌برنامه‌ای که همراه با اسکرین‌شات و اطلاعات فنی صفحه ارسال شود، این گزارش‌ها را هم به همان صندوق خطاها می‌آورد و رفت و برگشت ایمیلی «دقیقاً کجا؟ چه مرورگری؟» را حذف می‌کند.

چه زمانی به رصد خطا نیاز دارید؟

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

BugMug؛ رصد خطا و بازخورد کاربر، ساخت ژابیز پردا

ژابیز پردا برای همین نیاز، سرویس ایرانی BugMug؛ سرویس رصد خطا و بازخورد کاربران را ساخته است. با افزودن یک خط کد به سایت، خطاهای جاوااسکریپت و شبکه به‌صورت خودکار ثبت می‌شوند، کاربران با یک کلیک باگ یا پیشنهاد را همراه اسکرین‌شات می‌فرستند، خطاهای مشابه گروه‌بندی می‌شوند و تیم از طریق ایمیل، اسلک یا وب‌هوک مطلع می‌شود. BugMug مستقل از فریم‌ورک است و پلن رایگان هم دارد.

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

پرسش‌های متداول

آیا رصد خطا سرعت سایت را کم می‌کند؟

اسکریپت‌های رصد خطا معمولاً سبک هستند و به‌صورت غیرهمزمان بارگذاری می‌شوند، بنابراین تأثیر محسوسی بر سرعت بارگذاری صفحه ندارند.

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

سرویس رصد خطا باید امکان ماسک کردن فیلدهای حساس، مثل رمز عبور و شماره کارت، را داشته باشد تا این اطلاعات هرگز ارسال نشوند. BugMug این امکان را دارد.