@extends('admin.layouts.app') @section('title', 'Monitoring FCM & Jobs') @section('content')
Logs • Jobs • FCM • Notifikasi — endpoint /fcm • API /api/monitoring/*
{{ $queue_connection }} • Env: {{ $env }}{{ $fcm['project_id'] ?? '-' }}{{ $fcm['client_email'] ?? '-' }}php artisan queue:work --queue=notifications --tries=3 --timeout=120 --sleep=3 # cek php artisan queue:failed php artisan queue:retry all tail -f storage/logs/firebase.log tail -f storage/logs/laravel.log
{{ $logDetail['path'] }} • Size: {{ number_format($logDetail['size']/1024,1) }} KB • Exists: {{ $logDetail['exists'] ? 'ya' : 'tidak' }}{{ implode("\n", $logDetail['lines']) }}
@else
{{ implode("\n", array_slice($logs['laravel']['lines'] ?? [], -30)) }}
{{ implode("\n", array_slice($logs['firebase']['lines'] ?? [], -30)) }}
tail -f storage/logs/laravel.log di server untuk realtime tanpa Horizon.| ID | Queue | Job | Attempts | Available | Created |
|---|---|---|---|---|---|
| {{ $j['id'] }} | {{ $j['queue'] }} | {{ $j['displayName'] }} | {{ $j['attempts'] }} | {{ date('H:i:s', $j['available_at']) }} | {{ date('d/m H:i', $j['created_at']) }} |
| Tidak ada pending jobs | |||||
php artisan queue:work --queue=notifications --tries=3 --timeout=120
| UUID | Queue | Payload | Exception | Failed At | Aksi |
|---|---|---|---|---|---|
| {{ substr($f->uuid,0,8) }}... | {{ $f->queue }} | {{ $display }} | {{ Str::limit($f->exception, 80) }} | {{ $f->failed_at }} | |
| Tidak ada failed jobs | |||||
php artisan queue:failed • queue:retry all • queue:forget ID • queue:flush
{{ $fcm['project_id'] }}{{ $fcm['client_email'] }}| User | Token | Platform | Valid | Last Used |
|---|---|---|---|---|
| #{{ $t->user_id }} | {{ substr($t->token,0,12) }}***{{ substr($t->token,-4) }} | {{ $t->platform ?? '-' }} | @if($t->is_valid) ya @else tidak @endif | {{ $t->last_used_at }} |
| Belum ada token | ||||
{{ implode("\n", $fcm['firebase_log_recent']['lines'] ?? []) }}
| ID | Type | Title | To | Read | Created |
|---|---|---|---|---|---|
| {{ substr($n['id'],0,8) }}... | {{ $n['type'] }} | {{ $n['title'] }} | #{{ $n['notifiable_id'] }} | @if($n['read_at']) ya @else belum @endif | {{ $n['created_at'] }} |
| Belum ada | |||||
GET /api/monitoring/overview • /api/monitoring/logs?channel=firebase&lines=100 • /api/monitoring/jobs • /api/monitoring/fcm • /api/monitoring/notifications (Bearer admin)/fcm?tab=overview|logs|jobs|fcm|notifications + /fcm/logs?channel=laravel&lines=200