8000 GitHub - epeterso/ipfixcol: IPFIXcol is an implementation of an IPFIX (RFC 7011) collector
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

epeterso/ipfixcol

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

#IPFIXcol framework

Build Status Coverity Scan Build Status

Table of Contents

  1. Framework description
  2. IPFIXcol
  3. Plugins
  4. Built-in tools
  5. External tools
  6. Howto install
  7. Howto build
  8. Docker
  9. RPM
  10. FastBit
  11. Contact us * Reporting bugs * Forum

## Framework description IPFIXcol framework is a set of:

  • IPFIXcol - collector for capturing IPFIX NetFlow data
  • input, intermediate and storage plugins for collector
  • tools for data processing etc.

To generate data for the IPFIXcol, look at the list list of supported flow exporters.

## IPFIXcol Described in it's README

## Plugins IPFIX collector comes with several built-in plugins described at IPFIXcol's page.

There are also external plugins that are installed separately

### External input plugins

### External intermediate plugins

  • geoip - adds country codes into the metadata structure
  • profiler - fills metadata informations about profiles and channels
  • profile_stats - counts statistic per profile and channel
  • stats - counts statistics per ODID
  • uid - fills user identity information

### External storage plugins

  • fastbit - uses FastBit library to store and index data
  • fastbit_compression - uses FastBit library to store and index data with optional compression support
  • json - converts data into JSON format
  • nfdump - stores data in NFDUMP file format
  • postgres - stores data into PostgreSQL database
  • statistics - uses RRD library to generate statistics for collected data
  • unirec - stores data in UniRec format

## Built-in tools ###ipfixviewer and ipfixconf Destribed in IPFIXcol's README

## External tools

### fbitconvert Converts data from NFDUMP file format into FastBit. Uses IPFIXcol, nfdump input plugin and fastbit storage plugin.

More info in it's README

### fbitdump

Tool for manipulating IPFIX data in FastBit database format. It uses FastBit library to read and index data.

More info in it's README

### fbitexpire

Daemon for removing old data.

More info in it's README

### fbitmerge

Tool for merging FastBit data (saves free disk space, reduces number of files..)

More info in it's README

### profilesdaemon

Tool for profiles management and distribution

More info

## How to install

Individual packages of the IPFIXcol framework can be installed from Fedora copr repository Just add the repository to your system:

dnf copr enable @CESNET/IPFIXcol 

And install the packages you need (e.g. IPFIXcol framework and JSON output plugin):

dnf install ipfixcol ipfixcol-json-output

If you not are using one of the supported operating systems, you can build the IPFIXcol from sources.

## How to build Dependencies must be installed first. For Fedora, CentOS and RHEL the list of necessary packages is as follows:

autoconf bison docbook-style-xsl doxygen flex 
gcc gcc-c++ git libtool libxml2 libxml2-devel 
libxslt lksctp-tools-devel lzo-devel make 
openssl-devel pkgconfig GeoIP-devel rrdtool-devel
sqlite-devel postgresql-devel rpm-build

Debian and Ubuntu distributions have a different names for some of the packages:

autoconf bison build-essential docbook-xsl doxygen flex
git liblzo2-dev libtool libsctp-dev libssl-dev libxml2
libxml2-dev pkg-config xsltproc libgeoip-dev librrd-dev
libsqlite3-dev libpq-dev

Moreover, you need to build the FastBit library

After installing all dependencies, the whole framework can be build at once with

autoreconf -i 

to generate configure script from configure.ac, Makefile.in from Makefile.am and install missing files.

./configure

to configure packages in subdirectories and generate Makefiles.

make
make install

to build and install all projects.

Or you can build each part (collector, tool(s), external plugin(s)) separately.

The projects that depend on ipfixcol headers check the reltive path to base/header directory to use headers. When project is separated from the structure, it needs to have the headers installed (ipfixcol-devel package).

## Docker

IPFIXcol can be used with Docker. See Docker howto.

## Ansible

IPFIXcol can also be installed using Ansible orchestration. See Ansible howto.

## RPM Each part of framework supports building rpm packages by running

make rpm

RPMs can be build only for specific parts, not the whole project.

## FastBit Plugins and tools that uses FastBit file format need FasBit library installed. IPFIXcol framework uses it's own fork of FastBit library to keep compatibility.

IPFIXcol's FastBit library can be found here.

## Contact us ### Reporting bugs

If you find any bug you can report it into issue tracker here on GitHub.

### Contributing to IPFIXcol

We are open to contributions to IPFIXcol which improve the stability and functionality of the collector. To keep the code readable and consistent, please adhere to the coding style document.

### Forum

if you have some questions or if you just want to share your ideas about useful features etc., please use this forum.

Back to Top

About

IPFIXcol is an implementation of an IPFIX (RFC 7011) collector

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C 49.5%
  • C++ 40.6%
  • M4 6.7%
  • Makefile 1.1%
  • Objective-C 1.1%
  • Shell 0.4%
  • Other 0.6%
0