monitor/README.md

96 lines
2.0 KiB
Markdown

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