Track queue health with Horizon, log critical errors to Slack, and monitor with health endpoints.
Laravel Monitoring
// Health Checks (Laravel 11)
Route::get("/up", function () {
return response()->json([
"status" => "ok",
"database" => DB::connection()->getPdo() ? "ok" : "error",
"cache" => Cache::store()->get("health") !== null ? "ok" : "error",
"queue" => Queue::size() < 1000 ? "ok" : "warning",
]);
});
// Log channels — config/logging.php
"channels" => [
"slack" => [
"driver" => "slack",
"url" => env("LOG_SLACK_WEBHOOK_URL"),
"level" => "critical",
],
],
// Log
Log::info("User logged in", ["user_id" => $user->id]);
Log::error("Payment failed", ["order" => $order->id, "reason" => $e->getMessage()]);
Log::channel("slack")->critical("Server down!");