باكدجات درس تعليمي

Laravel Pulse: مراقبة في الوقت الحقيقي لتطبيقات Laravel

Admin User
Admin User
Apr 27, 2026
1 دقيقة قراءة

Key Takeaways

  • ## المقدمة
  • Laravel Pulse هو حل الرصد الأول من Laravel الذي يوفّر رؤى فورية حول أداء التطبيق، قوائم الانتظار، التخزين المؤقت، استعلامات قاعدة البيانات، والمزيد....

المقدمة #

Laravel Pulse هو حل الرصد الأول من Laravel الذي يوفّر رؤى فورية حول أداء التطبيق، قوائم الانتظار، التخزين المؤقت، استعلامات قاعدة البيانات، والمزيد. يأتي مع لوحة تحكم جميلة مبنية على Tailwind CSS وLivewire، مما يسهل اكتشاف نقاط الاختناق دون مغادرة بيئة التطوير.


المتطلبات المسبقة #

  • Laravel 10 أو أعلى
  • PHP 8.1 أو أحدث
  • اتصال بقاعدة بيانات (MySQL, PostgreSQL, SQLite، إلخ)

1. التثبيت #

نفّذ أمر Composer لجلب الحزمة إلى مشروعك:

composer require laravel/pulse

بعد التثبيت، قم بنشر الأصول وتشغيل التر migration الذي ينشئ جدول pulse_entries:

php artisan pulse:install
php artisan migrate

أمر التثبيت يسجِّل أيضًا موفِّر الخدمة Pulse وينشر عرض لوحة التحكم.


2. الإعداد #

Pulse يعمل مباشرةً، لكن يمكنك تعديل ما يُسجَّل في ملف config/pulse.php.

<?php
return [
    // عدد الأيام التي تُحتفظ فيها بسجلات Pulse.
    'recorders' => [
        \Laravel\Pulse\Recorders\QueueRecorder::class => [
            'max_attempts' => 3,
        ],
        \Laravel\Pulse\Recorders\CacheRecorder::class,
        \Laravel\Pulse\Recorders\DbQueryRecorder::class,
        // أضف أو احذف المسجلات حسب الحاجة.
    ],
    'storage' => [
        'driver' => env('PULSE_STORAGE_DRIVER', 'database'),
    ],
];

يمكنك أيضًا تعيين المتغيّر البيئي PULSE_STORAGE_DRIVER إلى redis إذا كنت تفضّل التخزين في Redis.


3. الوصول إلى لوحة التحكم #

Pulse يُسجِّل مسارًا على /pulse. افتراضيًا، يُحمى هذا المسار بمجموعة middleware web وحارس المصادقة في Laravel.

// routes/web.php
Route::middleware(['web', 'auth'])->group(function () {
    Route::get('/pulse', \Laravel\Pulse\Http\Controllers\DashboardController::class)
        ->name('pulse.dashboard');
});

بعد تسجيل الدخول، افتح http://your-app.test/pulse لتشاهد الرسوم البيانية الخاصة بـ:

  • تأخير ومهام قوائم الانتظار الفاشلة
  • الضربات الناجحة والفاشلة للتخزين المؤقت
  • زمن استجابة طلبات HTTP
  • أداء استعلامات قاعدة البيانات
  • الاستثناءات والمزيد

4. مسجلات مخصَّصة #

إذا أردت مراقبة شيء خاص، أنشئ مسجلًا مخصَّصًا:

php artisan make:recorder CustomMetricRecorder
<?php
namespace App\Recorders;

use Laravel\Pulse\Recorders\Recorder;

class CustomMetricRecorder extends Recorder
{
    public function record(): void
    {
        // مثال: تسجيل عدد المستخدمين النشطين كل دقيقة
        $active = \App\Models\User::where('last_activity', '>=', now()->subMinutes(5))->count();
        $this->store('custom_metrics', ['active_users' => $active]);
    }
}

أضف المسجل الجديد إلى config/pulse.php وسيظهر تلقائيًا في لوحة التحكم.


5. اعتبارات الإنتاج #

  • الاحتفاظ: عدّل pulse.retention لتحديد مدة حفظ البيانات.
  • الأداء: المسجلات تعمل بجدولة (دقيقة افتراضيًا). هي خفيفة، لكن تجنّب الاستعلامات الثقيلة داخل record().
  • الأمان: حافظ على لوحة التحكم خلف المصادقة وفكّر في تقييد الوصول حسب IP.

الخاتمة #

Laravel Pulse يمنحك رؤية فورية لصحة تطبيق Laravel الخاص بك دون إعداد معقّد. عبر تثبيته، تكوينه، وإمكانية تمديده بمسجلات مخصَّصة، يمكنك اكتشاف مشاكل الأداء مسبقًا والحفاظ على تشغيل تطبيقك بسلاسة.


ملخص سريع #

الخطوة الأمر
التثبيت composer require laravel/pulse
النشر والترحيل php artisan pulse:install && php artisan migrate
فتح لوحة التحكم زيارة /pulse (بعد المصادقة)
إضافة مسجل مخصَّص php artisan make:recorder MyRecorder

مراقبة سعيدة!

FAQs

هل أحتاج إلى خادم منفصل لتشغيل Laravel Pulse؟
لا. Pulse يعمل داخل تطبيق Laravel الحالي، ويخزن البيانات في قاعدة البيانات أو Redis التي تم تكوينها، لذا لا تحتاج إلى خادم إضافي.
كم مرة يجمع Pulse البيانات القياسية؟
المسجلات المدمجة في Pulse تعمل كل دقيقة افتراضيًا. يمكنك تعديل الجدولة في ملف `app/Console/Kernel.php` إذا رغبت.

Want more content like this?

Explore more tutorials in the باكدجات section.

Explore باكدجات

You might also like