# ── Connections ────────────────────────────────────────────
# Redis URL. Supports redis://, rediss:// (TLS), redis+sentinel://
redis_url: redis://localhost:6379/0
# Celery broker URL. Usually the same as redis_url.
celery_broker_url: redis://localhost:6379/0
# The Celery app name. Used to initialize the Celery client.
celery_app_name: tasks
# ── Behavior ───────────────────────────────────────────────
# Seconds between collection cycles in agent mode.
check_interval_seconds: 30
# ── Queues ─────────────────────────────────────────────────
# Queues to monitor. Leave empty to auto-discover from workers.
# Auto-discovery uses `celery inspect active_queues`.
monitored_queues:
- celery
- default
- emails
- notifications
# ── Thresholds ─────────────────────────────────────────────
thresholds:
# Triggers QUEUE_BACKLOG_* finding when depth exceeds this.
max_queue_size: 1000
# Triggers QUEUE_SLA_BREACH_* finding when oldest task
# has been waiting longer than this (seconds).
# Requires KanariStampPlugin for accurate measurement.
max_wait_time_seconds: 60
# Triggers STUCK_TASK finding when a task has been
# executing for longer than this (seconds).
max_task_runtime_seconds: 1800 # 30 minutes
# Queues listed here get HIGH severity on QUEUE_BACKLOG
# findings instead of MEDIUM. Use for business-critical queues.
critical_queues:
- emails
- payments
# Worker-offline detection (daemon only — `kanari run`).
# Tracks a high-water baseline of alive workers. A sustained drop past the
# grace period raises WORKERS_MISSING (CRITICAL). The backend maps this to
# a pager alert when missing_workers > 0.
#
# Grace period: how long the count must stay low before alerting.
worker_offline_grace_seconds: 90 # default: 90 s
# Auto-resolve window: re-baseline after this many seconds of reduced count.
# null (default) = fail loud — the alert persists until workers come back.
# Set to e.g. 1800 for environments where intentional scale-down is common.
worker_auto_resolve_seconds: null # default: null (fail loud)
# ── Privacy ────────────────────────────────────────────────
privacy:
# When true (default), task signatures are sanitized:
# emails, UUIDs, and numeric IDs are replaced with placeholders.
# Set false only if you're certain task names contain no PII.
sanitize_task_signatures: true
# ── API (for kanari agent API mode) ──────────────────────
# Your getkanari.com API key. Can also be set via KANARI_API_KEY.
# api_key: sk_your_key_here
# Override the default API endpoint (advanced).
# api_url: https://api.getkanari.com
# Skip all API calls and only log locally.
# local_mode: false