Kanshi is a lightweight, high-performance monitoring solution. It features a central core service for data collection, a TimescaleDB-powered database for efficient metrics storage, and a beautiful Dashboard for real-time visualization.
The system consists of five main components:
- Kanshi Core: The central hub that receives and processes metrics.
- TimescaleDB: A time-series database optimized for high-volume metrics storage.
- Kanshi Dashboard: A user-friendly web interface to visualize your infrastructure.
- Kanshi Agent: A lightweight binary installed on servers to collect and report data.
- Kanshi Infra: Terraform modules for automated infrastructure provisioning.
Ensure you have the following installed:
Get your monitoring stack up and running in 4 simple steps:
Start by cloning the demo stack to your local machine:
git clone https://github.com/kanshi-dev/demo.git
cd demoCopy the example environment file and update your credentials:
cp .env.example .envThe default configuration in .env is:
DB_HOST="db"
DB_PORT="5432"
DB_USER="kanshi"
DB_PASSWORD="your_secure_password_here"
DB_NAME="kanshi"Start the core service, dashboard, and database:
docker-compose up -dThis command will:
- ✅ Initialize TimescaleDB with the required schema.
- ✅ Start Kanshi Core on ports
8080(HTTP) and50051(gRPC). - ✅ Start the Dashboard on port
80.
Download the latest Kanshi Agent (v0.1.0) for your platform.
Run it on any machine you want to monitor, pointing it to your Core service:
# Replace 'your_core_ip' with the actual IP/hostname of your Kanshi Core
KANSHI_CORE_ADDR=your_core_ip:50051 ./kanshi-agentOnce the stack is running, open your browser and navigate to: 👉 http://localhost
The system automatically configures the database using core-schema.sql:
- Metrics: A hypertable for time-series data (agent_id, name, value, timestamp, tags).
- Agents: Metadata about monitored hosts (OS, platform, hardware specs).

