# noxis ![Logo](logo.png) `noxis` - monitoring util with special attention on 1) **Speed** 2) **Multiplatform** execution *(with `amd64` and `riscv64` **support**)* 3) **Smallness** and **Optimization** It's **main tasks** are - to manage the processes that occur inside the container or in the target system. - collect data (metrics); - monitor the availability of system files necessary for the operation of processes; - check whether there is a connection between processes and services, where the information comes from or where it is sent. ## Build requirements - `rustup (>=1.27.1)` - `gcc-riscv64-unknown-elf` - `build-essential` - `gcc-riscv64-linux-gnu` - `binutils-riscv64-linux-gnu` ## Key items in repo 1) Main daemon `noxis-rs` 2) CLI `noxis-cli` 3) Unix-Socket to Web-Socket **Proxy** for integrations `noxis-proxy` ## Setting up device Download and execute rustup.sh *(for building)* ~~~ bash curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh ~~~ ## Building 1. Clone `noxis` ~~~ bash git clone https://github.com/prplV/noxis ~~~ 2. Enter project's dir and set up toolchain list to compile code for RISC-V or x86_64 ~~~ bash cd noxis/ && rustup target add riscv64gc-unknown-linux-gnu && rustup target add x86_64-unknown-linux-gnu ~~~ > [!NOTE] > Cargo is configured to build an apputil for x86_64/linux defaultly. RISCV-based compilation is optional. 3.1. Release build of util for x86_64/linux ~~~bash cargo x86_64 ~~~ 3.2. Release build of util for riscv64/linux ~~~bash cargo riscv64 ~~~ 3.3. Release build of util for both (riscv64 and x86_64) ~~~bash cargo unibuild ~~~ ## Execution **DAEMON** for x86_64/linux 1) If you work on x86_64/linux machine execute: ~~~bash ./target/x86_64-unknown-linux-gnu/release/noxis-rs ~~~ or ~~~bash cargo run_x86 ~~~ 2) If you work on riscv64/linux machine execute: ~~~bash ./target/riscv64gc-unknown-linux-gnu/release/noxis-rs ~~~ or > [!CAUTION] > **cargo run_risc** command is a temp broken. Better use the first one ~~~bash cargo run_risc ~~~