Expand description
§SysMonk
§Summary
SysMonk
is a highly efficient, lightweight API for resource monitoring that uses WebSockets for real-time streaming.
§Installation
cargo add SysMonk
§Usage
use sysmonk;
#[actix_rt::main]
async fn main() {
match sysmonk::start().await {
Ok(_) => {
println!("SysMonk session has ended")
}
Err(err) => {
eprintln!("Error starting SysMonk: {}", err)
}
}
}
Download OS specific Executable
§macOS (x86_64)
curl -o SysMonk-Darwin-x86_64.tar.gz -LH "Accept: application/octet-stream" "https://github.com/thevickypedia/SysMonk/releases/latest/download/SysMonk-Darwin-x86_64.tar.gz"
§macOS (arm64)
curl -o SysMonk-Darwin-arm64.tar.gz -LH "Accept: application/octet-stream" "https://github.com/thevickypedia/SysMonk/releases/latest/download/SysMonk-Darwin-arm64.tar.gz"
§Linux (x86_64)
curl -o SysMonk-Linux-x86_64.tar.gz -LH "Accept: application/octet-stream" "https://github.com/thevickypedia/SysMonk/releases/latest/download/SysMonk-Linux-x86_64.tar.gz"
§Windows (x86_64)
curl -o SysMonk-Windows-x86_64.zip -LH "Accept: application/octet-stream" "https://github.com/thevickypedia/SysMonk/releases/latest/download/SysMonk-Windows-x86_64.zip"
§Environment Variables
Mandatory
- username: Username for the API server.
- password: Password for the API server.
Optional
- debug: Boolean flag to enable debug level logging. Defaults to
false
- utc_logging: Boolean flag to set timezone to UTC in the output logs. Defaults to
true
- host: IP address to host the server. Defaults to
127.0.0.1
/localhost
- port: Port number to host the application. Defaults to
8000
- session_duration: Time (in seconds) each authenticated session should last. Defaults to
3600
- workers: Number of workers to spin up for the server. Defaults to the number of physical cores.
- max_connections: Maximum number of concurrent connections per worker. Defaults to
3
- websites: Vector of websites (supports regex) to add to CORS configuration. Required only if tunneled via CDN
§Crate
https://crates.io/crates/SysMonk
§Cargo Docs - Official Runbook
https://docs.rs/SysMonk/latest/sysmonk/
Generator
cargo doc --document-private-items --no-deps
§Linting
§Requirement
rustup component add clippy
§Usage
cargo clippy --no-deps --fix
§License & copyright
© Vignesh Rao
Licensed under the MIT License
Modules§
- constant 🔒
- Module for the structs and functions called during startup.
- legacy 🔒
- Module for legacy (but still useful for reference) functions
- resources 🔒
- Module for functions related to system resources.
- routes 🔒
- Module for all the API entry points.
- squire 🔒
- Module to store all the helper functions.
- templates 🔒
- Module to store all the HTML templates rendered using Jinja.
Functions§
- start
- Contains entrypoint and initializer settings to trigger the asynchronous
HTTPServer