Dynamic Sensors Database is a library to store Netflow templates. Is written in Rust and there is a C interface is available.
The goal of the library is to store Netflow templates in a database which uses Netflow concepts (sensors, observation ids, networks, etc.). The implementation aims to be fast and have low overhead. Check out the example.
All the sensors stored on the database can be managed through a REST API. For
example, to get all the sensors stored in the database you can GET /sensors
.
NOTE: This library is currently WIP. Don't use it in production.
To build the library you need to have the Rust build system installed (you can use rustup).
Once you have it installed, just run:
make build
This will generate a dynamic c library on target/debug
called
libdsensorsdb.so
. You should not use this shared object in a final release.
To generate a release version with optimizations, run:
make release
And then install the generated shared library and the header file to your system:
make install
To run tests, run the following command:
make test
The public API docs are available in the header file.
- Database module
- Sensor module
- Observation ID module
- REST API module
- Persistence (etcd, redis, kafka, etc.)