Configuration

Control Tower can be configured via the Control Panel under Settings → Control Tower, or by creating a config/control-tower.php file.

Config File

Create config/control-tower.php to override settings per environment:

<?php
return [
    'trackVisitors' => true,
    'trackEditors' => true,
    'trackServerMetrics' => true,
    'refreshInterval' => 30,
    'visitorTimeout' => 120,
    'editorTimeout' => 300,
    'visitorRetentionDays' => 30,
    'editorRetentionDays' => 90,
    'contentEventRetentionDays' => 90,
    'metricRetentionDays' => 30,
    'alertRetentionDays' => 90,
    'staleContentDays' => 90,
    'metricsPollingInterval' => 60,
];

5.1.0 note: Alert thresholds are no longer configured here. Define them as alert rules in the control panel instead. The legacy queueFailureAlertThreshold and enableCollisionDetection settings are still accepted by the model for backwards compatibility but are ignored at runtime — their behavior is now expressed as seeded default rules.

Tracking Controls

SettingDefaultDescription
trackVisitorstrueEnable front-end visitor tracking
trackEditorstrueTrack CP user activity and element editing
trackServerMetricstruePeriodically sample CPU, memory, disk, and DB metrics

Refresh & Timeouts

SettingDefaultDescription
refreshInterval30Dashboard auto-refresh interval in seconds
visitorTimeout120Seconds before a visitor is considered inactive
editorTimeout300Seconds before an editor session is considered inactive
metricsPollingInterval60Seconds between server metric snapshots

Data Retention

SettingDefaultDescription
visitorRetentionDays30Days to keep visitor data
editorRetentionDays90Days to keep editor activity data
contentEventRetentionDays90Days to keep content event data
metricRetentionDays30Days to keep metric samples
alertRetentionDays90Days to keep alert history

Content Health

SettingDefaultDescription
staleContentDays90Days without update before an entry is flagged as stale (also drives the stale_content_count metric for alert rules)

Alert Thresholds

Alert thresholds are no longer configured in config/control-tower.php. Use the Alert Rules section in the control panel to define when alerts fire, what severity they have, and where they’re sent. See Alerts & Webhooks for full details and the list of available metrics.