How to Monitor Multiple Servers from One Dashboard
Managing logs across multiple servers? Learn how to aggregate everything into a single, searchable dashboard.
Running multiple servers—whether it's web servers, API servers, or workers—means logs are scattered across your infrastructure. Jumping between SSH sessions to grep log files is inefficient and error-prone. Centralized logging solves this.
The Multi-Server Challenge
Common scenarios that create logging complexity:
- Load-balanced web servers (requests hit different machines)
- Separate API and frontend servers
- Background worker processes
- Microservices architecture
- Staging and production environments
Architecture Overview
┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ Web-01 │ │ Web-02 │ │ Worker-01 │
│ (Laravel) │ │ (Laravel) │ │ (Horizon) │
└──────┬──────┘ └──────┬──────┘ └──────┬──────┘
│ │ │
└───────────┬───────┴───────────────────┘
│
▼
┌──────────────┐
│ Log Service │
│ (401 Clicks)│
└──────┬───────┘
│
▼
┌──────────────┐
│ Dashboard │
│ Search + │
│ Alerts │
└──────────────┘
Step 1: Consistent Log Format
All servers should log in the same format with source identification:
// config/logging.php
'channels' => [
'clicks' => [
'driver' => 'monolog',
'handler' => \Clicks\Logger\ClicksLogHandler::class,
'with' => [
'source' => env('LOG_SOURCE', gethostname()),
],
],
],
Step 2: Environment Variables Per Server
# Web-01
LOG_SOURCE=web-01
LOG_CHANNEL=stack
# Web-02
LOG_SOURCE=web-02
LOG_CHANNEL=stack
# Worker-01
LOG_SOURCE=worker-01
LOG_CHANNEL=stack
Step 3: Searching Across Servers
With all logs centralized, searching is straightforward:
# All errors from any server
level:error
# Errors from web servers only
source:web-* level:error
# Specific request across all servers
request_id:abc123
# Compare error rates
level:error | stats count by source
Step 4: Server-Specific Alerts
Create targeted alerts:
- Any server: Alert on critical errors
- Web servers: Alert on response time > 5s
- Workers: Alert on job failures
- Specific server: Alert if it stops sending logs
Health Monitoring
Track which servers are actively logging:
- Dashboard shows last-seen time per source
- Alert if a source hasn't sent logs in 5 minutes
- Visualize log volume per server over time
Benefits of Centralization
- Single search: Find logs across all servers instantly
- Correlate events: See how errors propagate
- Compare servers: Identify problematic instances
- Unified alerts: One place to configure notifications
- Access control: No need to give SSH access for logs
Conclusion
Centralized logging transforms multi-server debugging from a frustrating scavenger hunt into a streamlined process. Set up log aggregation once, and every server you add automatically joins the same searchable dashboard.
Admin
Published on January 21, 2026