Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/roma-glushko/resbeat
π Broadcast resource utilization of the container to the rest of the system via HTTP/websocket protocols
https://github.com/roma-glushko/resbeat
agent cgroups container-agent disk-usage gpu-monitoring kubernetes resource-monitor
Last synced: 2 months ago
JSON representation
π Broadcast resource utilization of the container to the rest of the system via HTTP/websocket protocols
- Host: GitHub
- URL: https://github.com/roma-glushko/resbeat
- Owner: roma-glushko
- License: mit
- Created: 2023-05-12T12:35:00.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-08-28T20:04:25.000Z (4 months ago)
- Last Synced: 2024-10-10T19:39:26.515Z (3 months ago)
- Topics: agent, cgroups, container-agent, disk-usage, gpu-monitoring, kubernetes, resource-monitor
- Language: Go
- Homepage:
- Size: 3.11 MB
- Stars: 2
- Watchers: 2
- Forks: 0
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# πresbeat
[![codecov](https://codecov.io/gh/roma-glushko/resbeat/branch/main/graph/badge.svg?token=BNJBL3XJ0O)](https://codecov.io/gh/roma-glushko/resbeat)
resbeat is a container agent that can expose container's resource usage via HTTP or websocket API:
- `/ws/` - a websocket endpoint
- GET `/usage/` - an HTTP polling endpointresbeat should be installed into the container's image and run along with the main container process.
Then, you should expose resbeat's port to let the rest of your system to scrape/consume container's/pod's utilization.
This is useful for building functionality around the usage reports like showing the user's env utilization somewhere in your UI.resbeat could watch the following resources:
- general system resources via cgroup v1 or v2 (CPU and memory usage)
- NVIDIA GPU support## Installation
```bash
curl -fSL https://github.com/roma-glushko/resbeat/releases/download/1.0.4-dev5/resbeat_Linux_x86_64.tar.gz -o "./resbeat_Linux_x86_64.tar.gz" \
&& tar -vxf resbeat_Linux_x86_64.tar.gz \
&& chmod +x ./resbeat
```## Usage Report
```json
{
"collectedAt": "2023-10-15T16:18:43.870139213Z",
"system": {
"cpu": {
"usageInNanos": 67748000,
"limitInCors": 2,
"usagePercentage": 0.011306116551813019
},
"memory": {
"usagePercentage": 0.054570711576021634,
"limitInBytes": 13958643712,
"usageInBytes": 761733120
}
},
"gpus": {
"GPU-2f5095ab-d1d7-5b23-3599-1693e0a18016": {
"usagePercentage": 0,
"memoryUsedInBytes": 0,
"totalMemoryInBytes": 17071734784
}
}
}
```## Plans
resbeat is intended to support more resource types like:
- disk or volume utilization