vflow

module
v0.3.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 7, 2017 License: Apache-2.0

README

vFlow

Build Status Go Report Card

High-performance, scalable and reliable IPFIX and sFlow collector.

Features

  • IPFIX RFC7011 collector
  • sFLow v5 raw header packet collector
  • Decoding sFlow raw header L2/L3/L4
  • Produce to Apache Kafka, NSQ
  • Replicate IPFIX to 3rd party collector
  • Supports IPv4 and IPv6
  • Monitoring with InfluxDB and OpenTSDB backend

Alt text

Documentation

Decoded IPFIX data

The IPFIX data decodes to JSON format and IDs are IANA IPFIX element ID

{"AgentID":"192.168.21.15","Header":{"Version":10,"Length":420,"ExportTime":1483484642,"SequenceNo":1434533677,"DomainID":32771},"DataSets":[[{"I":8,"V":"192.16.28.217"},{"I":12,"V":"180.10.210.240"},{"I":5,"V":2},{"I":4,"V":6},{"I":7,"V":443},{"I":11,"V":64381},{"I":32,"V":0},{"I":10,"V":811},{"I":58,"V":0},{"I":9,"V":24},{"I":13,"V":20},{"I":16,"V":4200000000},{"I":17,"V":27747},{"I":15,"V":"180.105.10.210"},{"I":6,"V":"0x10"},{"I":14,"V":1113},{"I":1,"V":22500},{"I":2,"V":15},{"I":52,"V":63},{"I":53,"V":63},{"I":152,"V":1483484581770},{"I":153,"V":1483484622384},{"I":136,"V":2},{"I":243,"V":0},{"I":245,"V":0}]]}

Decoded sFlow data

{"Header":{"Version":5,"IPVersion":1,"AgentSubID":0,"SequenceNo":24324,"SysUpTime":766903208,"SamplesNo":1,"IPAddress":"192.16.14.0"},"ExtSWData":{"SrcVlan":0,"SrcPriority":0,"DstVlan":12,"DstPriority":0},"Sample":{"SequenceNo":0,"SourceID":0,"SamplingRate":2000,"SamplePool":0,"Drops":0,"Input":552,"Output":0,"RecordsNo":2},"Packet":{"L2":{"SrcMAC":"d4:04:ff:01:1d:9e","DstMAC":"30:7c:5e:e5:59:ef","Vlan":12,"EtherType":34525},"L3":{"Version":6,"TrafficClass":0,"FlowLabel":0,"PayloadLen":265,"NextHeader":17,"HopLimit":57,"Src":"2600:8000:5207:6f00::1","Dst":"2606:2800:404e:2:1663:6fe:2cc6:100a"},"L4":{"SrcPort":53,"DstPort":34234}}}

Build

Given that the Go Language compiler (version 1.8 preferred) is installed, you can build it with:

go get github.com/VerizonDigital/vflow
cd $GOPATH/src/github.com/VerizonDigital/vflow

make build
or
go get -d ./...
cd vflow; go build 

Docker

  1. Install Docker.
  2. Download vFlow and Kafka images from public Docker Hub :
docker pull mehrdadrad/vflow
docker pull spotify/kafka
  1. You can run them like below:
docker run -d -p 2181:2181 -p 9092:9092 spotify/kafka
docker run -d -p 4739:4739 -p 6343:6343 -p 8081:8081 -e VFLOW_KAFKA_BROKERS="172.17.0.1:9092" mehrdadrad/vflow

License

Licensed under the Apache License, Version 2.0 (the "License")

Contribute

Welcomes any kind of contribution, please follow the next steps:

  • Fork the project on github.com.
  • Create a new branch.
  • Commit changes to the new branch.
  • Send a pull request.

Directories

Path Synopsis
Package ipfix decodes IPFIX packets : ---------------------------------------------------------------------------- : Copyright (C) 2017 Verizon.
Package ipfix decodes IPFIX packets : ---------------------------------------------------------------------------- : Copyright (C) 2017 Verizon.
Package mirror clones IPFIX data to another collector : ---------------------------------------------------------------------------- : Copyright (C) 2017 Verizon.
Package mirror clones IPFIX data to another collector : ---------------------------------------------------------------------------- : Copyright (C) 2017 Verizon.
: ---------------------------------------------------------------------------- : Copyright (C) 2017 Verizon.
: ---------------------------------------------------------------------------- : Copyright (C) 2017 Verizon.
store
Package store ingest monitoring time series data points : ---------------------------------------------------------------------------- : Copyright (C) 2017 Verizon.
Package store ingest monitoring time series data points : ---------------------------------------------------------------------------- : Copyright (C) 2017 Verizon.
Package packet decodes layer two, three and four OSI model layers : ---------------------------------------------------------------------------- : Copyright (C) 2017 Verizon.
Package packet decodes layer two, three and four OSI model layers : ---------------------------------------------------------------------------- : Copyright (C) 2017 Verizon.
Package producer push decoded messages to messaging queue : ---------------------------------------------------------------------------- : Copyright (C) 2017 Verizon.
Package producer push decoded messages to messaging queue : ---------------------------------------------------------------------------- : Copyright (C) 2017 Verizon.
Package sflow decodes sFlow packets : ---------------------------------------------------------------------------- : Copyright (C) 2017 Verizon.
Package sflow decodes sFlow packets : ---------------------------------------------------------------------------- : Copyright (C) 2017 Verizon.
: ---------------------------------------------------------------------------- : Copyright (C) 2017 Verizon.
: ---------------------------------------------------------------------------- : Copyright (C) 2017 Verizon.
hammer
Package hammer generates ipfix packets : ---------------------------------------------------------------------------- : Copyright (C) 2017 Verizon.
Package hammer generates ipfix packets : ---------------------------------------------------------------------------- : Copyright (C) 2017 Verizon.
: ---------------------------------------------------------------------------- : Copyright (C) 2017 Verizon.
: ---------------------------------------------------------------------------- : Copyright (C) 2017 Verizon.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL