96 lines
2.0 KiB
Markdown
Executable File
96 lines
2.0 KiB
Markdown
Executable File
|
|
# noxis
|
|
|
|

|
|
|
|
`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
|
|
~~~
|