- Malachite is a daemon written in Rust, which is responsible for node-level and cgroup-level metrics collection, e.g., memory usage and network bandwidth.
- Malachite support cgroup, both V1 and V2, which can provide running information of k8s Pods and Containers.
- Malachite mainly obtains relevant metrics from pseudo-filesystems, e.g., /proc and /sys, and expand its capabilities with EBPF program. All of these can be switched on and off dynamically to save metric collection overhead.
git clone https://github.com/kubewharf/malachite
cd malachite
make build
make run
get Node Memory info
curl "http://localhost:8000/api/v1/system/memory"
get cgroup info with relative path
curl "http://localhost:8000/api/v1/cgroup/groups/?cgroup_user_path=/kubepods/burstable/xxx"
Please refer to Charts for detailed helm charts.
If you have any questions or wish to contribute, you are welcome to communicate via GitHub issues or pull requests. Alternatively, you may reach out to our Maintainers.
Malachite is under the Apache 2.0 license. See the LICENSE file for details.