cano-collector


Cano Collector
Cano Collector is an open-source alert and event ingestion agent for Kubernetes, designed to help developers and DevOps teams better understand incidents in their clusters by enriching raw alerts and events with valuable context.
Cano Collector is part of the broader Kubecano platform. It runs on Kubernetes clusters and connects telemetry data with notifications, enrichment pipelines, and (in future releases) AI-based analysis.
๐ Why Cano Collector?
Traditional alerts and crash loops often lack the full story. Cano Collector gives you:
- Deep context behind alerts and events
- Flexible routing to the right teams
- Rich formatting with structured data and attachments
- Unified view of Kubernetes health, enriched and sent where it matters
Whether it's an OOMKilled pod or a CrashLoopBackOff, Cano Collector helps you understand why something broke โ not just that it did.
๐งฉ What It Does
Cano Collector listens for Kubernetes cluster signals, including:
- ๐ฃ Alerts from Alertmanager
- โ ๏ธ Kubernetes Events such as:
- Pod restarts / CrashLoops
- Helm release failures
- Resource quota violations
For each alert or event, Cano Collector:
-
Builds a structured Issue object that includes:
- Type:
alert or event
- Source:
prometheus, k8s, helm, etc.
- Severity:
HIGH, LOW, INFO, DEBUG
- Timestamps: created/started/resolved
-
Enriches it with context through Enrichment blocks:
- Pod logs as
MarkdownBlock
- Resource configuration as
TableBlock
- File attachments as
FileBlock
- Structured data as
JsonBlock
-
Sends enriched data to configured destinations:
- ๐ฌ Slack channels (MVP - Available Now)
- ๐งญ Kubecano SaaS (Planned)
- ๐ PagerDuty, OpsGenie (Planned)
- ๐ Kafka topics (Planned)
๐ฆ Architecture Overview
Cano Collector follows a clean architecture pattern with clear separation of concerns:
โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ
โ Alertmanager โ โ Kubernetes โ โ Other Sources โ
โ (Prometheus) โ โ Events โ โ โ
โโโโโโโโโโโฌโโโโโโโโ โโโโโโโโโโโฌโโโโโโโโ โโโโโโโโโโโฌโโโโโโโโ
โ โ โ
โโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโ
โ
โโโโโโโโโโโโโโโผโโโโโโโโโโโโโโ
โ Cano Collector โ
โ (Deployed on K8s) โ
โโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโ
โ
โโโโโโโโโโโโโโโผโโโโโโโโโโโโโโ
โ Destination โ
โ (Strategy Pattern) โ
โโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโ
โ
โโโโโโโโโโโโโโโผโโโโโโโโโโโโโโ
โ Sender โ
โ (Factory Pattern) โ
โโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโ
โ
โโโโโโโโโโโโโโโผโโโโโโโโโโโโโโ
โ External Services โ
โ Slack, Teams, etc. โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Core Components
Issue: The central data structure containing alert/event information
Enrichment: Additional context blocks (logs, tables, files, etc.)
Destination: Strategy pattern implementation for different notification channels
Sender: Factory pattern implementation for API communication
๐ฏ Current Status (MVP)
โ
Available Now (v0.0.24)
- Alertmanager Integration: Full webhook-based alert processing from Prometheus/Alertmanager
- Slack Integration: Full-featured Slack destination with:
- Rich message formatting with blocks and attachments
- Thread support for related alerts with intelligent grouping
- File uploads for logs and structured data
- Color-coded messages based on severity
- Table formatting for structured data
- Message deduplication and fingerprinting
- Workflow System: Extensible alert processing with:
- Built-in workflow actions (pod logs, issue enrichment)
- Configurable triggers and conditions
- Support for custom TypeScript workflows (planned)
- Alert Enrichment: Automatic context gathering from Kubernetes:
- Pod logs (current and previous containers)
- Resource metadata and labels
- Alert annotations and severity mapping
- Observability: Production-ready monitoring with:
- Health checks (liveness and readiness)
- Prometheus metrics export
- OpenTelemetry tracing support
- Structured logging
๐ฎ Next Releases
Additional integrations and features will be added in future versions:
- MS Teams Integration: Adaptive Cards support
- Direct Kubernetes Event Processing: Watch and process K8s events (BackOff, CrashLoopBackOff, etc.)
- Team-Based Routing: Multi-team alert distribution
- PagerDuty Integration: Incident lifecycle management
- Jira Integration: Ticket creation and management
- Additional Senders: DataDog, Kafka, ServiceNow, OpsGenie
๐ง Installation
Prerequisites
- Kubernetes cluster (1.19+)
- Helm 3.x
- Alertmanager configured (optional)
Quick Start
-
Add the Helm repository:
helm repo add kubecano https://kubecano.github.io/helm-charts
helm repo update
-
Create a values file (values.yaml):
destinations:
- name: slack_production
type: slack
params:
webhook_url: "https://hooks.slack.com/services/YOUR/WEBHOOK/URL"
channel: "#alerts"
username: "Cano Collector"
-
Install Cano Collector:
helm install cano-collector kubecano/cano-collector -f values.yaml
Configuration
See the Configuration Guide for detailed setup instructions.
๐ Use Cases
Current Implementation (v0.0.24)
Cano Collector currently processes Prometheus alerts from Alertmanager and enriches them with Kubernetes context:
Planned Features (Future Releases)
- Direct Kubernetes Event Processing: Watch and process K8s events in real-time (BackOff, ImagePull, Eviction, etc.)
- Multi-Channel Routing: Send different alerts to different teams and destinations
- Additional Destinations: MS Teams, PagerDuty, Jira, DataDog, Kafka, ServiceNow
- Advanced Enrichments:
- OOMKilled analysis with memory graphs
- Resource usage trends
- Node health correlations
- Deployment history and changes
- Team-Based Alert Distribution: Route alerts based on namespace, labels, and severity to specific teams
- Incident Management Integration: Create tickets in Jira, incidents in PagerDuty with full lifecycle tracking
๐๏ธ Development
Architecture Documentation
Contributing
We welcome contributions! Please see our Contributing Guide for details.
Building
# Build the binary
go build -o cano-collector ./main.go
# Build the Docker image
docker build -t cano-collector .
# Run tests
go test ./...
๐ฎ Roadmap
โ
Phase 1: MVP (Completed - v0.0.24)
Core alert processing and Slack integration:
- โ
Alertmanager webhook integration
- โ
Slack destination with full feature set
- โ
Workflow system with configurable actions
- โ
Basic alert enrichment (pod logs, metadata)
- โ
Health checks and metrics
- โ
OpenTelemetry tracing
Expanding destination support and processing capabilities:
- ๐จ Direct Kubernetes Event Processing (watch K8s API events)
- ๐จ MS Teams destination
- ๐จ PagerDuty integration
- ๐จ Enhanced workflow system
- ๐จ Team-based routing
๐ Phase 3: Enterprise Features (Planned)
Advanced integrations and analysis:
- ๐
Jira Service Management integration
- ๐
OpsGenie integration
- ๐
DataDog event correlation
- ๐
Kafka streaming
- ๐
Alert deduplication system
- ๐
Async processing queue
๐ Phase 4: Advanced Capabilities (Future)
Platform ecosystem and intelligence:
- ๐ Kubecano CLI tool
- ๐ Official Slack App
- ๐ Advanced monitoring and observability
- ๐ Custom TypeScript workflows (runtime)
- ๐ ServiceNow integration
Multi-tenant SaaS offering:
- ๐ Web dashboard and SaaS platform
- ๐ Multi-cluster management
- ๐ AI-powered root cause analysis
- ๐ Automated remediation suggestions
- ๐ Advanced correlation and anomaly detection
Note: This roadmap is subject to change based on community feedback and priorities. Specific release dates are not provided as development is driven by community needs and contributions.
๐ฅ Who is this for?
If you're a:
- DevOps engineer managing production Kubernetes
- Developer tired of vague alerts
- SRE building observability tooling
- Platform team looking for better incident response
โฆthen Cano Collector is for you.
๐ฌ Get Involved
Join us in making Kubernetes incidents understandable!
๐ License
Cano Collector is licensed under the Apache 2.0 License.