Flewton
Extensible Netflow collector
Install / Use
/learn @flewton/FlewtonREADME
h1. Flewton
Flewton is an extensible Netflow collector.
h2. Building / Installing
Building Flewton requires that you have "Maven":http://maven.apache.org/ installed. To build a self-contained executable jar file run:
bc. mvn clean compile assembly:single
h2. Configuration
Refer to the comments in the sample configuration shipped with Flewton.
h2. Running
In a nutshell:
bc. java [options] -jar flewton.jar
By default, Flewton will search for its configuration file as @/etc/flewton/flewton.cfg@, @/etc/flewton.cfg@, and @./flewton.cfg@, using the first one found. You can specify a path to your configuration using the @flewton.config@ system property, for example:
bc. java -Dflewton.config=/usr/local/etc/flewton.cfg -jar flewton.jar
Flewton uses "log4j":http://logging.apache.org/log4j/1.2 for logging. By default, the log level is @INFO@ and output is sent to stdout. To customize logging, create your own log4j.properties and set the @log4j.configuration@ system property:
bc. java -Dlog4j.configuration=file:///path/to/log4.props -jar flewton.jar
h2. Implementing backends in other languages
Backends can be implemented in several languages. We currently support:
- Python
- Javascript
There are three ways you can tell Flewton about your external backends:
- Place them in @/etc/flewton@.
- Run flewton with @-Dflewton.backend_path@, placing your external backends in that directory.
- Include your backends in the classpath so they can be loaded as resources by the classloader.
Identify your external backends in @flewton.cfg@ by using their entire names, e.g.: @js/my/AwesomeBackend.js@ or @py/my/CoolerBackend.py@. The default cfg that ships with flewton contains a few commented out examples, the source for which can also be found in the Flewton source code.
h3. Python
- Your class should extend @AbstractBackend@.
- Your class should have an @init@ method that accepts an instance of @HierarchicalConfiguration@.
- Module names must begin with '@py/@' to be properly identified as python. E.g.: @py/my/module/path/Foo.py@
h3. Javascript
- Your javascript should export two methods: @init(config)@ and @write(record)@. The class types for @config@ and @record@ are the same as they would be in Java.
h2. Known Issues
- Currently only Netflow v5 is supported, but additional Netflow formats are possible by implementing decoder classes as @com.rackspace.flewton.RecordvN@ (where @N@ is the version). See @com.rackspace.flewton.Recordv5@ for an example. Patches welcome.
h2. About
Flewton was developed by "Gary Dusbabek":mailto:gary.dusbabek@rackspace.com and "Eric Evans":mailto:eevans@rackspace.com and made open-source by "Rackspace":http://www.rackspace.com.
Related Skills
node-connect
351.8kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
110.9kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
351.8kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
351.8kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
