Skip to content

Commit 7aa208c

Browse files
committed
doc: new readme!
1 parent 2defcd9 commit 7aa208c

File tree

2 files changed

+120
-22
lines changed

2 files changed

+120
-22
lines changed

README.md

Lines changed: 0 additions & 22 deletions
This file was deleted.

README.rst

Lines changed: 120 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,120 @@
1+
IPFIXcol2
2+
===========
3+
4+
IPFIXcol is a flexible, high-performance IPFIX flow data collector designed to be extensible
5+
by plugins. The second generation of the collector includes many design and performance enhancements
6+
compared to the original `IPFIXcol <https://github.com/CESNET/ipfixcol/>`_.
7+
8+
The collector allows you to choose combination of input, intermediate and output plugins that
9+
best suit your needs. Do you need to receive data over UDP/TCP and store them for long term
10+
preservation? Or, do you prefer conversion to JSON and processing by other systems?
11+
No problem, pick any combination of plugins.
12+
13+
*Features:*
14+
15+
- Input, intermediate and output plugins with various options
16+
- Parallelized design for high-performance
17+
- Support for bidirectional flows (biflow)
18+
- Built-in support for many Enterprise-Specific Information Elements (Cisco, Netscaler, etc.)
19+
20+
Available plugins
21+
-----------------
22+
23+
**Input plugins** - receive IPFIX data. Each can be configured to to listen on a specific
24+
network interface and a port. Multiple instances of these plugins can run concurrently.
25+
26+
- UDP - receives IPFIX over UDP
27+
- TCP - receives IPFIX over TCP
28+
29+
**Intermediate plugins** - modify, enrich and filter flow records.
30+
31+
- anonymization - anonymize IP addresses (in flow records) with Crypto-PAn algorithm.
32+
33+
**Output plugins** - store or forward your flows.
34+
35+
- json - convert flow records to JSON and send/store them
36+
- dummy - simple module example,
37+
- lnfstore (*) - store all flows in nfdump compatible format for long-term preservation
38+
39+
\* Must be installed individually due to extra dependencies
40+
41+
How to build
42+
------------
43+
44+
IPFIXcol is based on `libfds <https://github.com/CESNET/libfds/>`_ library that provides
45+
functions for IPFIX parsing and manipulation. First of all, install the library.
46+
For more information visit the project website and follow installation instructions.
47+
48+
However, you have to typically do following steps: (extra dependencies may be required)
49+
50+
.. code-block:: bash
51+
52+
$ git clone https://github.com/CESNET/libfds.git
53+
$ cd libfds
54+
$ mkdir build && cd build && cmake ..
55+
$ make
56+
# make install
57+
58+
Second, install build dependencies of the collector
59+
60+
**RHEL/CentOS:**
61+
62+
.. code-block::
63+
64+
yum install gcc gcc-c++ cmake make
65+
# Optionally: doxygen, pkg-config
66+
67+
* Note: latest systems (e.g. Fedora) use ``dnf`` instead of ``yum``.
68+
69+
**Debian/Ubuntu:**
70+
71+
.. code-block::
72+
73+
apt-get install gcc g++ cmake make
74+
# Optionally: doxygen
75+
76+
Finally, build and install the collector:
77+
78+
.. code-block:: bash
79+
80+
$ mkdir build && cd build && cmake ..
81+
$ make
82+
# make install
83+
84+
How to configure
85+
----------------
86+
87+
TODO: Prepared configurations
88+
89+
TODO: example configuration files
90+
91+
TODO: description of information elements are
92+
93+
94+
FAQ
95+
--------------
96+
97+
Do you have any troubles? Unable to build and run the collector? *Feel free to submit a new issue.*
98+
99+
We are open to new ideas! For example, are you missing a specific plugin that could
100+
be useful also for other users? Please, share your experience and thoughts.
101+
102+
----
103+
104+
:Q: How to...?
105+
:A: You should...
106+
107+
----
108+
109+
:Q: How can I add more IPFIX fields into records?
110+
:A: The collector receives flow records captured and prepared by an exporter. IPFIX is an
111+
unidirectional protocol which means that the collector is not able to instruct the exporter
112+
what to measure or how to behave. If you want to enhance your records, please, check
113+
configuration of your exporter.
114+
115+
Coming soon
116+
-----------
117+
- NetFlow v5/v9 support
118+
- Runtime reconfiguration (improved compared to the previous generation)
119+
- RPM/DEB packages
120+
- Support for structured data types (lists, etc.)

0 commit comments

Comments
 (0)