https://github.com/thevickypedia/sysmonk
A Rustic System Monitor
https://github.com/thevickypedia/sysmonk
Last synced: 3 months ago
JSON representation
A Rustic System Monitor
- Host: GitHub
- URL: https://github.com/thevickypedia/sysmonk
- Owner: thevickypedia
- License: mit
- Created: 2024-09-21T09:11:52.000Z (9 months ago)
- Default Branch: main
- Last Pushed: 2025-02-13T03:22:11.000Z (4 months ago)
- Last Synced: 2025-02-28T10:34:09.461Z (3 months ago)
- Language: Rust
- Size: 90.8 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# SysMonk
[![made-with-rust][rust-logo]][rust-src-page]
[![crates.io][crates-logo]][crate]
[![build][gh-logo]][build]
[![none-shall-pass][nsp-logo]][nsp]#### Summary
[`SysMonk`][repo] is a highly efficient, lightweight API for resource monitoring that uses WebSockets for real-time streaming.### Installation
```shell
cargo add SysMonk
```### Usage
```rust
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)
```shell
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)
```shell
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)
```shell
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)
```shell
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][crate]### Cargo Docs - Official Runbook
[https://docs.rs/SysMonk/latest/sysmonk/][docs]**Generator**
```shell
cargo doc --document-private-items --no-deps
```## Linting
### Requirement
```shell
rustup component add clippy
```
### Usage
```shell
cargo clippy --no-deps --fix
```## License & copyright
© Vignesh Rao
Licensed under the [MIT License][license]
[repo]: https://github.com/thevickypedia/SysMonk
[license]: https://github.com/thevickypedia/SysMonk/blob/main/LICENSE
[build]: https://github.com/thevickypedia/SysMonk/actions/workflows/rust.yml
[rust-src-page]: https://www.rust-lang.org/
[rust-logo]: https://img.shields.io/badge/Made%20with-Rust-black?style=for-the-badge&logo=Rust
[gh-logo]: https://github.com/thevickypedia/SysMonk/actions/workflows/rust.yml/badge.svg
[nsp-logo]: https://github.com/thevickypedia/SysMonk/actions/workflows/none.yml/badge.svg
[nsp]: https://github.com/thevickypedia/SysMonk/actions/workflows/none.yml
[crate]: https://crates.io/crates/SysMonk
[gh-checks]: https://github.com/thevickypedia/SysMonk/actions/workflows/rust.yml
[crates-logo]: https://img.shields.io/crates/v/SysMonk.svg
[docs]: https://docs.rs/SysMonk/latest/sysmonk/