hawkv6 / generic-processor

Generic processor to complement the standard Cisco's Jalapeno processors.
Apache License 2.0
0 stars 0 forks source link

generic processor


GitHub Release


Overview

Jalapeno utilizes various processors to manage network data. However, the standard processors are limited to handling BMP data for graph databases and streaming telemetry data to time series databases. Many use cases require more versatile processing capabilities, leading to the development of the generic processor.

The generic processor is designed to provide flexible processing abilities by allowing users to specify inputs (e.g., Kafka, ArangoDB, InfluxDB), process the data according to user-defined methods, and forward it to designated outputs (e.g., ArangoDB, Kafka, InfluxDB).

Generic Processor Overview

Design Considerations

The generic processor operates based on a validated configuration file, which initializes three core components:

Each component operates independently in separate Go routines, with communication primarily managed through channels. The generic processor is designed around a command-result pattern, where elements receive specific commands and return corresponding results. The configuration file also allows the same processor to be defined multiple times under different names, enabling parallel processing of the same data in various ways.

Usage

generic-processor [command]

Commands

Available Processors

Installation

Using Package Manager

For Debian-based systems, install the package using apt:

sudo apt install ./generic_processor_{version}_amd64.deb

Using Docker

docker run --rm \
-v "hawkv6/generic-processor/config/:/config" \
-e HAWKV6_GENERIC_PROCESSOR_CONFIG=/config/example-config.yaml \ 
ghcr.io/hawkv6/generic-processor:latest start

Using Binary

git clone https://github.com/hawkv6/generic-processor
cd generic-processor && make binary
./bin/generic-processor

Getting Started

  1. Deploy all necessary Kubernetes resources.

  2. Ensure the network is properly configured and operational.

  3. Confirm that clab-telemetry-linker is active and running.

  4. Install the generic processor using one of the methods described above.

  5. Launch the generic processor using the start command.

Additional Information