Skip to content

Monitoring

Track your deployments in real-time to ensure successful execution.

The deployment detail page provides monitoring:

┌─────────────────────────────────────────────────────────────┐
│ Deployment: customer-portal v1.3.0 → Production │
├─────────────────────────────────────────────────────────────┤
│ │
│ Status: ● In Progress Started: 2 min ago │
│ Progress: ████████████░░░░░░░░ 60% │
│ │
│ ───────────────────────────────────────────────────────── │
│ │
│ Targets: │
│ ┌────────────────┬──────────┬─────────────────────────┐ │
│ │ Target │ Status │ Current Step │ │
│ ├────────────────┼──────────┼─────────────────────────┤ │
│ │ web-prod-01 │ ✓ Done │ Completed │ │
│ │ web-prod-02 │ ✓ Done │ Completed │ │
│ │ web-prod-03 │ ● Running│ deploy-backend (2/3) │ │
│ │ web-prod-04 │ ○ Pending│ Waiting │ │
│ └────────────────┴──────────┴─────────────────────────┘ │
│ │
│ [View Logs] [Cancel] │
│ │
└─────────────────────────────────────────────────────────────┘
StatusIconDescription
PendingWaiting to start
QueuedIn dispatch queue
RunningCurrently executing
SuccessSuccessfully finished
FailedExecution failed
CancelledManually cancelled
RollingBackRollback in progress
RolledBackRolled back
StatusDescription
PendingWaiting for turn
QueuedStep is queued on the target
RunningCurrently executing
CompletedSuccessfully finished
FailedExecution failed
SkippedSkipped due to earlier failure
CancelledCancelled by user or system
Progress: ████████████░░░░░░░░ 60% (6 of 10 steps)

The progress bar shows:

  • Percentage complete
  • Steps completed vs total
  • Visual progress indicator

Each target shows its current step:

┌─────────────────────────────────────────────────────────────┐
│ web-prod-03: Running │
├─────────────────────────────────────────────────────────────┤
│ │
│ Solution: customer-portal v1.3.0 │
│ Environment: Production │
│ │
│ Sequences: │
│ 1. ✓ run-migrations (completed in 45s) │
│ 2. ● deploy-backend (running - step 2 of 4) │
│ 3. ○ deploy-frontend (pending) │
│ │
│ Current Action: copy-files │
│ Duration: 23 seconds │
│ │
└─────────────────────────────────────────────────────────────┘
Batch 1: ✓ Complete (web-01, web-02)
Batch 2: ● Running (web-03, web-04)
Batch 3: ○ Pending (web-05, web-06)

Deployments update in real-time without page refresh:

UpdateTrigger
Status changeTarget starts/completes/fails
Progress updateStep completion
Log outputCommand execution output
Error notificationFailure detected
┌──────────────────────────────────┐
│ ● Connected - Live updates │
└──────────────────────────────────┘

If disconnected:

┌──────────────────────────────────┐
│ ○ Reconnecting... │
└──────────────────────────────────┘
┌─────────────────────────────────────────────────────────────┐
│ Deployment Failed │
├─────────────────────────────────────────────────────────────┤
│ │
│ ✗ web-prod-03 failed at step: deploy-backend │
│ │
│ Error: Command exited with code 1 │
│ Action: copy-files │
│ Duration: 12 seconds │
│ │
│ ┌───────────────────────────────────────────────────────┐ │
│ │ rsync: connection unexpectedly closed │ │
│ │ rsync error: error in rsync protocol data stream │ │
│ │ (code 12) at io.c(235) [sender=3.2.3] │ │
│ └───────────────────────────────────────────────────────┘ │
│ │
│ [View Full Logs] [Retry] [Cancel] │
│ │
└─────────────────────────────────────────────────────────────┘

Based on failure strategy:

StrategyResult
StopRemaining targets skipped
ContinueOther targets proceed
IgnoreContinues as if succeeded
MetricDescription
Total DurationTime from start to finish
Target CountNumber of targets
Success RatePercentage successful
Average DurationMean deployment duration (ms)
MetricDescription
Start TimeWhen target began
End TimeWhen target completed
DurationTotal execution time
Steps CompletedNumber of steps run
┌─────────────────────────────────────────────────────────────┐
│ Timeline │
├─────────────────────────────────────────────────────────────┤
│ │
│ 14:30:00 Deployment created by admin │
│ 14:30:01 Started on web-prod-01, web-prod-02 │
│ 14:30:45 web-prod-01 completed │
│ 14:31:02 web-prod-02 completed │
│ 14:31:03 Started on web-prod-03, web-prod-04 │
│ 14:31:45 web-prod-03 failed: copy-files │
│ 14:31:46 Deployment stopped (failure strategy: stop) │
│ │
└─────────────────────────────────────────────────────────────┘
EventDescription
CreatedDeployment initiated
StartedExecution began on target
Step CompleteIndividual step finished
Target CompleteAll steps done on target
Target FailedError on target
CancelledUser cancelled deployment
CompletedAll targets finished

The main dashboard shows active deployments:

┌─────────────────────────────────────────────────────────────┐
│ Active Deployments │
├─────────────────────────────────────────────────────────────┤
│ │
│ ┌────────────────────────┬──────────┬────────────────┐ │
│ │ Deployment │ Progress │ Status │ │
│ ├────────────────────────┼──────────┼────────────────┤ │
│ │ customer-portal v1.3.0 │ 60% │ ● In Progress │ │
│ │ auth-service v2.0.0 │ 100% │ ✓ Completed │ │
│ │ worker v1.5.0 │ 25% │ ● In Progress │ │
│ └────────────────────────┴──────────┴────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────┘
┌──────────────────────────────────────────────────┐
│ ✓ Deployment Complete: customer-portal v1.3.0 │
│ to Production (12 targets) │
│ [View] [×] │
└──────────────────────────────────────────────────┘
EventNotification
Deployment completeSuccess message
Deployment failedError with details
Client registration pendingAction required

Stay on the deployment page during critical deployments:

  • Watch for failures
  • Be ready to cancel if needed
  • Monitor resource impact

Configure reasonable timeouts to detect hung operations:

Step timeout: 300 seconds
- Too short: False failures
- Too long: Delayed failure detection

For better monitoring:

  • Smaller batches = easier to track
  • More time to react to failures
  • Clear progress visibility

After completion, review:

  • Total duration
  • Any slow steps
  • Error patterns
  • Success rate

Cause: SSE (Server-Sent Events) connection lost

Solution: Refresh the page to reconnect. Live monitoring streams over an open HTTP text/event-stream connection (server-to-client); reconnection happens over normal HTTP.

Cause: Long-running step or timeout

Solution: Check target logs for current activity

Cause: Connection issue with Thorax

Solution: Verify Thorax is running and accessible