Skip to content
🐋 Cetacean

Recommendations

The recommendation engine is an optional feature (enabled by default) that periodically evaluates cluster health and surfaces actionable suggestions.

Note: You can disable recommendations entirely with server.recommendations = false.

Categories

Cetacean checks four domains. Checks that only need Docker state run every 60 seconds; checks that query Prometheus run every 5 minutes.

CategoryWhat it checksRequires
Resource SizingCPU/memory usage vs. configured limits and reservations (over-provisioned, approaching limit, at limit, missing limits)Prometheus + cAdvisor
Operational HealthFlaky services (frequent task restarts), node disk/memory pressurePrometheus + node-exporter + cAdvisor
Config HygieneMissing health checks, missing restart policies
Cluster TopologySingle-replica services, managers running workloads, uneven task distribution

Where a safe fix is available (e.g., scaling a single-replica service to two, or adjusting resource limits to match actual usage), the recommendation includes an Apply button that patches the service directly.

Without Prometheus, only config hygiene and cluster topology checks run. The rest degrade gracefully: no errors, just fewer recommendations.

Configuration

Sizing thresholds are configurable. Other checkers use fixed thresholds.

SettingConfig file keyDefaultDescription
Headroom multipliersizing.headroom_multiplier2.0Multiplier for suggested values
Over-provisionedsizing.thresholds.over_provisioned0.20Usage below this fraction of reservation → over-provisioned
Approaching limitsizing.thresholds.approaching_limit0.80Usage above this fraction of limit → warning
At limitsizing.thresholds.at_limit0.95Usage above this fraction of limit → critical
Lookbacksizing.thresholds.lookback168hTime window for p95 usage queries

API

GET /recommendations. See the API reference for response schema.