Skip to content

solzimer/nsyslog

Repository files navigation

CodeInspector grade DeepScan grade

Logo The next generation logagent and syslog server!

nsyslog

NSyslog is a modern, new generation, logagent and syslog server. It features a modular flow architecture of data collectors (inputs), processors and transporters.

Architecture

Since all the codebase is written in NodeJS, it has a very small memory footprint and excels at data input/output. It also benefits from the excellent streams framework provided natively by node.

Main Features

  • Small memory footprint
  • Flow control of push and pull inputs
  • On-Disk input data buffering
  • A wide core catalog inputs, processors and transporters
  • Extensible with custom inputs, processors and transporters
  • Support for Apache Storm multilang protocol
  • Multicore flows for parallel processing

Installation

As a CLI app

npm install -g nsyslog

Then:

> nsyslog --help
Usage: nsyslog [options]

Options:
  -V, --version            output the version number
  -f, --file [file]        Config file
  -t, --test               Only validate config file
  -L, --log-level [level]  Debug level
  --cli                    Starts CLI session
  --cli-start              Starts CLI session and flows
  -h, --help               output usage information

As an embedded module

npm install -save nsyslog

Then:

const NSyslog = require('nsyslog');

async function start() {
	let cfg = await NSyslog.readConfig("config.json");
	let nsyslog = new NSyslog(cfg);

	await nsyslog.start();
}

start();

Documentation is available here