# Website Monitoring for PHP Developers

Deep Laravel and PHP integrations for monitoring that feels like part of your stack. Use Laravel Health checks, scheduled task monitoring, uptime, and performance in one place, with alerts that fit your workflow.

No agents, no noisy dashboards, just the checks you care about.

[ Start monitoring ](https://ohdear.app/register)

10 day free trial
No credit card required

## Laravel Health integration

Run your own checks, we handle the alerting

Expose the health checks you already run in Laravel Health and let Oh Dear handle alerting and history. You control the checks; we make sure the right person hears about issues fast.

Keep the logic in your app where it belongs, and keep alerts centralized across all your projects.

[ Explore more ](/docs/features/application-health-monitoring#laravel)

## Scheduled task monitoring

Know when queues and cron jobs stop running

Monitor cron jobs, queues, and scheduled tasks across environments. When a job stops running or a queue stalls, you get an alert before anyone notices.

Use our Laravel and Symfony packages to wire it up in minutes.

[ Explore ](/docs/features/cron-job-monitoring#php)

## SSL certificate monitoring

Never get woken up by an expired cert again

If you're managing Let's Encrypt renewals or self-signed certs, you know how easy it is for one to slip through. We check your certificates daily and alert you 30, 14, and 7 days before expiry.

We also catch chain issues, weak algorithms, and configuration problems that break HTTPS silently.

[ Explore SSL monitoring ](https://ohdear.app/features/continuous-certificate-monitoring)

## TCP port monitoring

Monitor MySQL, Redis, and other services your app depends on

Your PHP app doesn't run in isolation. When MySQL on port 3306 or Redis on 6379 goes down, your app throws exceptions. We monitor the services you depend on and alert you before your error tracker fills up.

Monitor databases, cache servers, queue workers, and any TCP service your infrastructure relies on.

[ Explore TCP monitoring ](https://ohdear.app/features/tcp-port-monitoring)

## Broken links and mixed content detection

Catch issues after deploys and content changes

Every time you deploy or someone updates content, links can break. We crawl your site daily and flag broken links, missing images, and mixed content warnings before they hurt SEO or user experience.

Especially useful if you're building CMSs, e-commerce sites, or any app where content changes frequently.

[ Explore broken link detection ](https://ohdear.app/features/broken-page-and-mixed-content-detection)

## API monitoring for critical endpoints

Validate responses and track latency

Monitor JSON endpoints with payload checks and timing thresholds. If a response changes or slows down, you know before users do.

Great for auth, checkout, and integrations where a 200 status isn't enough.

[ Explore uptime ](https://ohdear.app/features/website-uptime-monitoring)

## Performance and uptime in one place

One dashboard for every app and API

Track uptime, performance, and SSL health for every PHP app and API endpoint. Set performance budgets per endpoint and catch slowdowns before users feel them.

Use tags to organize by environment, client, or team, and get the same view across all your projects.

[ Explore performance ](https://ohdear.app/features/performance-monitoring)

## Alerts that fit your workflow

Slack, PagerDuty, email, webhooks, and more

Send alerts to Slack, PagerDuty, Opsgenie, or your own webhooks. Route alerts per project so the right developer gets paged, not the whole team.

Keep a clean alert history so you can debug quickly after deploys.

[ View all notifications ](https://ohdear.app/features/notifications)

## Status pages for incident communication

Give stakeholders a clear, trusted source

Spin up a status page for each app or customer-facing service. When incidents happen, you have one place to point people to.

It keeps support noise down and gives you space to communicate clearly.

[ Explore status pages ](https://ohdear.app/features/status-pages)

### Let's get technical (if you're into that)

Wire up Oh Dear with your Laravel app in minutes. Here's how to get started with our most popular PHP integrations.

### Laravel Health integration

Expose your health checks to Oh Dear

Install the package and publish the config:

 ```
composer require spatie/laravel-health

php artisan vendor:publish --tag="health-config"
```

Enable the Oh Dear endpoint in your config:

 ```
// config/health.php
return [
    'oh_dear_endpoint' => [
        'enabled' => true,
        'secret' => env('OH_DEAR_HEALTH_CHECK_SECRET'),
        'url' => 'health',
    ],
];
```

### Scheduled task monitoring

Monitor your scheduled commands with a simple ping

Install our package and sync your tasks:

 ```
composer require spatie/laravel-schedule-monitor

php artisan schedule-monitor:sync
```

Or use Laravel's built-in ping method:

 ```
// routes/console.php
Schedule::command('your:command')
    ->daily()
    ->thenPingOhDear('your-ping-url');
```

## Really into the nitty gritty details?

Want to get into the nitty gritty details of our monitoring?
Have a look at our documentation.

## Frequently asked questions

### How does Oh Dear integrate with Laravel Health?

Install the [spatie/laravel-health](https://github.com/spatie/laravel-health) package and enable the Oh Dear endpoint in your config. Your existing health checks (database connections, queue status, disk space, etc.) are automatically exposed to Oh Dear. We handle alerting and history while you control the checks in your app where they belong.

### Can I monitor my scheduled tasks and queue workers?

Yes. Use our [spatie/laravel-schedule-monitor](https://github.com/spatie/laravel-schedule-monitor) package to sync your scheduled commands, or use Laravel's built-in thenPingOhDear() method. When a job stops running or a queue stalls, you get an alert before anyone notices. No more silent failures.

### Do I need to install any agents on my server?

No. Oh Dear monitors from outside your infrastructure with no agents or daemons to install. For [Laravel Health integration](https://ohdear.app/features/application-health-monitoring), you just expose an endpoint. For [scheduled task monitoring](https://ohdear.app/features/scheduled-task-monitoring), your jobs ping us when they complete. Simple, lightweight, and doesn't add complexity to your stack.

### Can I monitor MySQL, Redis, and other services my PHP app depends on?

Absolutely. We monitor any [TCP service on any port](https://ohdear.app/features/tcp-port-monitoring). When MySQL on 3306 or Redis on 6379 goes down, you get alerted before your error tracker fills up. Monitor the infrastructure your app relies on, not just the web endpoints.

### How do I get alerts when my SSL certificate is about to expire?

We [monitor your SSL certificates](https://ohdear.app/features/continuous-certificate-monitoring) automatically and alert you 30, 14, and 7 days before expiry. We also catch chain issues, weak algorithms, and misconfigurations that cause intermittent HTTPS failures. Never scramble for an expired Let's Encrypt certificate again.

[See all other FAQ items →](https://ohdear.app/docs/faq)

## Start monitoring your PHP apps

Start a no-strings-attached 10-day free trial. You're all set in less than a minute.
(No credit card needed.)

Not convinced yet? Need help?
Get in touch via <support@ohdear.app>.
