Interesting project. The README made the architecture clear for me: direct `/proc`/`/sys` reads, fixed-size ring-buffer tiers, single binary, no external DB.
I think the highest-leverage addition now would be one small benchmark table in the README/HN post for a tiny VPS (say 1 vCPU / 1 GB RAM): idle RSS, CPU%, disk write rate, and how much history the default 250/150/50 MB tiers actually retain.
That would answer the "why not Netdata?" question much faster, because the differentiator seems to be predictable resource usage rather than just another dashboard.
Netdata was actually THE reason I wanted to create my own real-time monitoring system. When I first came across Netdata, it was everything I needed, and its dashboard was fast, clean, and easy to use. But ever since they created the v3 dashboard and started aggressively advertising their cloud services, it became off-putting to me. Thank you for your suggestions, noted!
Is there any meaningful reason to add the project structure to the README, and add a copyright symbol to every mention of Linux?
I'm not quite sure by what standards it's considered to be lightweight, but it may be useful for homelab owners.
Anyway, Zabbix still looks like a better solution by any metric.
I got your point. The project structure remains from the initial phase of building the tool. I think I'll eventually remove it or put it on the wiki or somewhere else. My excessive attachment to copyright probably stems from the fact that years ago, when I wrote my own websites and articles, people often simply copied them and signed them as their own. The Linux Foundation website has attribution instructions that ask for the use of the ® symbol; I simply followed this instruction, but I agree that it's probably an exaggeration on my part. Considering what this tool does, I personally think it's lightweight in terms of both binary size, execution times, and dashboard performance. But I agree that's debatable.
Yes, netdata was an inspiration, as I'd been using it for several years. Unfortunately, it stopped being what it initially was, and recently I was so disappointed that I decided to write my own tool. It's also true that I use AI models for coding, but I wouldn't exactly call it vibe coding, as I actively analyze what the models are doing and don't just blindly accept everything. I also try to thoroughly test my code, implement as many security-enhancing features as possible, and have multiple models review my code to catch as many bugs as possible.
netdata is pretty heavy on resources, especially disk writes. I'd appreciate improvement over it, but I won't try out this thing without indication that it improves anything. Especially with such useful features as space invaders built in…
It's a bit ironic (in the Alanis Morrisette sense) because NetData was built by a small community on Reddit to be small, lightweight, easy to deploy, open source, etc. Now it looks like any other commercial enterprise monitoring product.
I'm very curious where you got the inspiration for the name for this! I've been using Kula/Kulahan as a username for years and almost never see it anywhere else
Well, it was easy since my native language is Polish and I often use "kula szpiegula" term, which translates to something like a "spying crystal ball" in relation to things that allow monitoring or collecting information. In Polish, "kula" can refer to many things, e.g. a sphere or a globe.
Why the nonfree AGPL? Are you seriously worried that someone is going to fork this and make money with it, given that anyone else could vibe code another one in a few hours?
> Kula uses Argon2id for password hashing. If you enable authentication, it is highly recommended to tune the Argon2 parameters (time, memory, threads) in config.yaml based on your hardware capabilities to increase resistance against cracking.
There is no reason to do this. Set them to sane defaults and set a minimum password length of 12 or 14 chars and stop trying to solve the wrong problem.
18 comments:
Interesting project. The README made the architecture clear for me: direct `/proc`/`/sys` reads, fixed-size ring-buffer tiers, single binary, no external DB.
I think the highest-leverage addition now would be one small benchmark table in the README/HN post for a tiny VPS (say 1 vCPU / 1 GB RAM): idle RSS, CPU%, disk write rate, and how much history the default 250/150/50 MB tiers actually retain.
That would answer the "why not Netdata?" question much faster, because the differentiator seems to be predictable resource usage rather than just another dashboard.
Netdata was actually THE reason I wanted to create my own real-time monitoring system. When I first came across Netdata, it was everything I needed, and its dashboard was fast, clean, and easy to use. But ever since they created the v3 dashboard and started aggressively advertising their cloud services, it became off-putting to me. Thank you for your suggestions, noted!
Is there any meaningful reason to add the project structure to the README, and add a copyright symbol to every mention of Linux? I'm not quite sure by what standards it's considered to be lightweight, but it may be useful for homelab owners.
Anyway, Zabbix still looks like a better solution by any metric.
I got your point. The project structure remains from the initial phase of building the tool. I think I'll eventually remove it or put it on the wiki or somewhere else. My excessive attachment to copyright probably stems from the fact that years ago, when I wrote my own websites and articles, people often simply copied them and signed them as their own. The Linux Foundation website has attribution instructions that ask for the use of the ® symbol; I simply followed this instruction, but I agree that it's probably an exaggeration on my part. Considering what this tool does, I personally think it's lightweight in terms of both binary size, execution times, and dashboard performance. But I agree that's debatable.
The README was AI generated, that's why.
I like having tons of docs in the README, vertical screen space is cheap.
Vibe coded netdata clone?
Yes, netdata was an inspiration, as I'd been using it for several years. Unfortunately, it stopped being what it initially was, and recently I was so disappointed that I decided to write my own tool. It's also true that I use AI models for coding, but I wouldn't exactly call it vibe coding, as I actively analyze what the models are doing and don't just blindly accept everything. I also try to thoroughly test my code, implement as many security-enhancing features as possible, and have multiple models review my code to catch as many bugs as possible.
netdata is pretty heavy on resources, especially disk writes. I'd appreciate improvement over it, but I won't try out this thing without indication that it improves anything. Especially with such useful features as space invaders built in…
It's a bit ironic (in the Alanis Morrisette sense) because NetData was built by a small community on Reddit to be small, lightweight, easy to deploy, open source, etc. Now it looks like any other commercial enterprise monitoring product.
exactly this
That's fair. I can't resist putting easter eggs in my software, sorry :)
I'm very curious where you got the inspiration for the name for this! I've been using Kula/Kulahan as a username for years and almost never see it anywhere else
Well, it was easy since my native language is Polish and I often use "kula szpiegula" term, which translates to something like a "spying crystal ball" in relation to things that allow monitoring or collecting information. In Polish, "kula" can refer to many things, e.g. a sphere or a globe.
dash. (or dashdot) https://github.com/MauriceNino/dashdot is another alternative that is pretty lightweight but has fewer details. Live Demo: https://dash.mauz.dev
Nice little panel. Although a bit too kawaii for my taste!
Why the nonfree AGPL? Are you seriously worried that someone is going to fork this and make money with it, given that anyone else could vibe code another one in a few hours?
> Kula uses Argon2id for password hashing. If you enable authentication, it is highly recommended to tune the Argon2 parameters (time, memory, threads) in config.yaml based on your hardware capabilities to increase resistance against cracking.
There is no reason to do this. Set them to sane defaults and set a minimum password length of 12 or 14 chars and stop trying to solve the wrong problem.