展示 HN:Pulse v0.2.0
一个轻量级的系统监控工具,具有历史指标和内置的网页仪表盘。
大家好,
我正在开发Pulse,一个用C语言编写的轻量级系统监控工具。
我们的目标是提供一种简单的方式来监控CPU、内存、磁盘、网络、进程和系统信息,既可以通过终端查看,也可以通过内置的网页仪表盘访问,同时保持项目易于理解,并尽量减少依赖项。
v0.2.0版本最大的新增功能是历史指标。Pulse现在可以记录系统指标的变化,并通过其HTTP API提供这些数据,同时在仪表盘中以交互式图表的形式展示。
这个版本的一个有趣之处是,我最终编写了一个小型图表渲染器,而不是使用现有的图表库。这个渲染器只实现了Pulse所需的功能,从而保持了前端的轻量性。
一些亮点:
- 用C语言编写
- 终端用户界面和内置网页仪表盘
- 历史CPU、内存、磁盘和网络指标
- 内置HTTP API
- 可在Linux上运行,包括树莓派(我在4 B上进行了测试,但也欢迎在Pico上测试)
- 开源
我仍在积极改进这个项目,因此非常欢迎反馈、批评或功能建议。我特别希望听到您认为设计可以改进或简化的地方。
GitHub: [https://github.com/cherries-works/pulse](https://github.com/cherries-works/pulse)
网站: [https://cherries.works](https://cherries.works)
查看原文
A lightweight system monitor with historical metrics and a built-in web dashboard.<p>Hi HN,<p>I have been building Pulse, a lightweight system monitor written in C.<p>The goal is to provide a simple way to monitor CPU, memory, disk, network, processes, and system information from both the terminal and a built-in web dashboard, while keeping the project easy to understand and with as few dependencies as possible.<p>The biggest addition in v0.2.0 is historical metrics. Pulse now records system metrics over time, exposes them through its HTTP API, and displays them as interactive graphs in the dashboard.<p>One fun part of this release is that I ended up writing a small chart renderer instead of using an existing charting library. It only implements the features Pulse needs, which kept the frontend lightweight.<p>Some highlights:<p>Written in C
Terminal UI and built-in web dashboard
Historical CPU, memory, disk, and network metrics
Built-in HTTP API
Runs on Linux, including Raspberry Pi (4 B is what I tested it on, but feel free to test it on a Pico as well)
Open source<p>I'm still actively improving the project, so I'd really appreciate feedback, criticism, or ideas for features. I'm especially interested in hearing where you think the design could be improved or simplified.<p>GitHub: <a href="https://github.com/cherries-works/pulse" rel="nofollow">https://github.com/cherries-works/pulse</a><p>Website: <a href="https://cherries.works" rel="nofollow">https://cherries.works</a>