What I cannot create, I do not understand. — Richard Feynman
- Simple daemon built with Rust to track metrics.
- The goal is run application as a daemon and track specific metrics.
- We also want to be able to send metrics to a server via a socket connection if option specified when starting the daemon.
- We would only send metrics to server if threasholds are met.
- Configuration and threasholds are specified in a config file.
- Initially only alerts would be sent, not every single measurement.
# Needs to be ran as root
> make build
> sudo make start-daemon
make kill-marvin
- Run application as a daemon
- Monitor disk usage metric as a POC
- Monitor memory usage metric as a POC
- Save data on local file on disk
- Create Makefile
- Write tests
- Publish on github as open source
- Add Github Actions to project
- Import config file from /etc/marvin as TOML format
- Create install/startup script
- Add flags to control daemon
- Connect to socket server with address at config if flag specified at startup
- Send metrics to server if threasholds are met.
- Improve local file storage
- The Linux Programming Interface: A Linux and UNIX System Programming Handbook
- Linux Standard Base Core Specification 3.1 - Chapter 21. Users & Groups
- See all information about all processes, daemons, etc. running on Mac OS X
- Start a rust binary as a systemd daemon
Pull requests are warmly welcome!!!
For major changes, please open an issue first and let's talk about it. We are all ears!
If you'd like to contribute, please fork the repository and make changes as you'd like and shoot a Pull Request our way!
Please make sure to update tests as appropriate.
If you feel like you need it go check the GitHub documentation on creating a pull request.
Contribution to the project is organized under the terms of the Contributor Covenant, the maintainer of Marvin, @joaoh82, promises to intervene to uphold that code of conduct.
If you want to contact me you can reach me at [email protected].