kula  by c0m4r

Monitor Linux servers with a lightweight, self-contained tool

Created 1 month ago
997 stars

Top 37.0% on SourcePulse

GitHubView on GitHub
Project Summary

Kula is a lightweight, self-contained Linux server monitoring tool offering a single binary solution with zero external dependencies. It addresses the need for real-time system metrics, providing comprehensive insights via a Web UI dashboard and terminal TUI for engineers and power users.

How It Works

Kula collects system metrics every second by reading directly from /proc and /sys. Its core is a custom, high-performance ring-buffer storage engine using fixed-size binary files that wrap around. A multi-tiered architecture downsamples data into 1-second raw, 1-minute aggregated, and 5-minute aggregated buffers. Metrics are served via an embedded HTTP server with REST API and WebSocket endpoints, powering both a dynamic Web UI and a terminal TUI.

Quick Start & Requirements

Installation is primarily via a single binary, requiring no external dependencies. Packages are available for amd64, ARM, and RISC-V, including .deb, .rpm, AUR, and Docker images.

Highlighted Details

  • Comprehensive Metrics: Collects detailed data on CPU, GPU, Load, Memory, Swap, Network, Disks, System, Processes, Thermal, Battery, Containers, Applications (PostgreSQL, Nginx), and Custom metrics.
  • AI Assistant: Optional integration with local Ollama models for conversational analysis and agentic tool calling.
  • Privacy-Focused: Designed for air-gapped networks, requiring no cloud connections or third-party APIs.
  • Optional Authentication: Supports Argon2id password hashing and token-based session validation.

Maintenance & Community

The README does not detail specific maintenance contributors, sponsorships, or community channels.

Licensing & Compatibility

Kula is licensed under the GNU Affero General Public License v3.0 (AGPLv3). This strong copyleft license requires that derivative works or network-accessible services built upon Kula must also be made available under AGPLv3, potentially restricting integration with proprietary software.

Limitations & Caveats

NVIDIA GPU monitoring may require additional setup. The AGPLv3 license's copyleft nature necessitates careful consideration for commercial or closed-source integration due to its distribution requirements.

Health Check
Last Commit

2 days ago

Responsiveness

Inactive

Pull Requests (30d)
1
Issues (30d)
5
Star History
101 stars in the last 30 days

Explore Similar Projects

Feedback? Help us improve.