{"id":13509792,"url":"https://github.com/Edgio/vflow","last_synced_at":"2025-03-30T14:31:43.648Z","repository":{"id":38277156,"uuid":"83084202","full_name":"Edgio/vflow","owner":"Edgio","description":" Enterprise Network Flow Collector (IPFIX, sFlow, Netflow) ","archived":false,"fork":false,"pushed_at":"2024-08-22T13:29:15.000Z","size":1189,"stargazers_count":1116,"open_issues_count":69,"forks_count":229,"subscribers_count":88,"default_branch":"master","last_synced_at":"2025-03-24T21:09:40.848Z","etag":null,"topics":["cisco","golang","ipfix","ipv4","ipv6","juniper","kafka","kubernetes","monitoring","netflow","network","sflow"],"latest_commit_sha":null,"homepage":"http://www.verizonmedia.com","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Edgio.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-02-24T21:28:21.000Z","updated_at":"2025-03-22T08:31:30.000Z","dependencies_parsed_at":"2023-02-08T09:31:42.951Z","dependency_job_id":"e35c80c8-9140-4bc2-9d07-8b5f32ad58b4","html_url":"https://github.com/Edgio/vflow","commit_stats":{"total_commits":711,"total_committers":34,"mean_commits":20.91176470588235,"dds":"0.44022503516174405","last_synced_commit":"811977722a7ce0671f798f734fc0fb36714ac2ec"},"previous_names":["verizondigital/vflow","edgecast/vflow"],"tags_count":10,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Edgio%2Fvflow","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Edgio%2Fvflow/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Edgio%2Fvflow/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Edgio%2Fvflow/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Edgio","download_url":"https://codeload.github.com/Edgio/vflow/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246332205,"owners_count":20760438,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cisco","golang","ipfix","ipv4","ipv6","juniper","kafka","kubernetes","monitoring","netflow","network","sflow"],"created_at":"2024-08-01T02:01:13.271Z","updated_at":"2025-03-30T14:31:42.261Z","avatar_url":"https://github.com/Edgio.png","language":"Go","funding_links":[],"categories":["Go","network","Go Tools"],"sub_categories":["Other Software"],"readme":"![vFlow](docs/imgs/vflow_logo.png?raw=true \"vFlow logo\")\n##\n[![Build Status](https://github.com/EdgeCast/vflow/workflows/vflow/badge.svg)](https://github.com/EdgeCast/vflow/actions?query=workflow%3Avflow) [![Go Report Card](https://goreportcard.com/badge/github.com/EdgeCast/vflow)](https://goreportcard.com/report/github.com/EdgeCast/vflow) [![GoDev](https://pkg.go.dev/badge/github.com/EdgeCast/vflow?utm_source=godoc)](https://pkg.go.dev/github.com/EdgeCast/vflow)\n\nHigh-performance, scalable and reliable IPFIX, sFlow and Netflow collector (written in pure Golang).\n\n## Features\n- IPFIX RFC7011 collector\n- sFLow v5 raw header / counters collector\n- Netflow v5 collector\n- Netflow v9 collector\n- Decoding sFlow raw header L2/L3/L4 \n- Produce to Apache Kafka, NSQ, NATS\n- Replicate IPFIX and sFlow to 3rd party collector\n- Supports IPv4 and IPv6\n- Prometheus and RESTful APIs monitoring\n\n![Alt text](/docs/imgs/vflow.gif?raw=true \"vFlow\")\n\n## Documentation\n- [Architecture](/docs/design.md).\n- [Configuration](/docs/config.md).\n- [Quick Start](/docs/quick_start_nsq.md).\n- [JUNOS Integration](/docs/junos_integration.md).\n- [Monitoring](/monitor/README.md).\n- [Stress / Load Generator](/stress/README.md).\n- [Kafka consumer examples](https://github.com/EdgeCast/vflow/tree/master/consumers).\n\n## Decoded IPFIX data\nThe IPFIX data decodes to JSON format and IDs are [IANA IPFIX element ID](http://www.iana.org/assignments/ipfix/ipfix.xhtml)\n```json\n{\"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}]]}\n```\n\n## Decoded sFlow data\n```json\n{\"Version\":5,\"IPVersion\":1,\"AgentSubID\":5,\"SequenceNo\":37591,\"SysUpTime\":3287084017,\"SamplesNo\":1,\"Samples\":[{\"SequenceNo\":1530345639,\"SourceID\":0,\"SamplingRate\":4096,\"SamplePool\":1938456576,\"Drops\":0,\"Input\":536,\"Output\":728,\"RecordsNo\":3,\"Records\":{\"ExtRouter\":{\"NextHop\":\"115.131.251.90\",\"SrcMask\":24,\"DstMask\":14},\"ExtSwitch\":{\"SrcVlan\":0,\"SrcPriority\":0,\"DstVlan\":0,\"DstPriority\":0},\"RawHeader\":{\"L2\":{\"SrcMAC\":\"58:00:bb:e7:57:6f\",\"DstMAC\":\"f4:a7:39:44:a8:27\",\"Vlan\":0,\"EtherType\":2048},\"L3\":{\"Version\":4,\"TOS\":0,\"TotalLen\":1452,\"ID\":13515,\"Flags\":0,\"FragOff\":0,\"TTL\":62,\"Protocol\":6,\"Checksum\":8564,\"Src\":\"10.1.8.5\",\"Dst\":\"161.140.24.181\"},\"L4\":{\"SrcPort\":443,\"DstPort\":56521,\"DataOffset\":5,\"Reserved\":0,\"Flags\":16}}}}],\"IPAddress\":\"192.168.10.0\",\"ColTime\": 1646157296}\n```\n## Decoded Netflow v5 data\n``` json\n{\"AgentID\":\"114.23.3.231\",\"Header\":{\"Version\":5,\"Count\":3,\"SysUpTimeMSecs\":51469784,\"UNIXSecs\":1544476581,\"UNIXNSecs\":0,\"SeqNum\":873873830,\"EngType\":0,\"EngID\":0,\"SmpInt\":1000},\"Flows\":[{\"SrcAddr\":\"125.238.46.48\",\"DstAddr\":\"114.23.236.96\",\"NextHop\":\"114.23.3.231\",\"Input\":791,\"Output\":817,\"PktCount\":4,\"L3Octets\":1708,\"StartTime\":51402145,\"EndTime\":51433264,\"SrcPort\":49233,\"DstPort\":443,\"Padding1\":0,\"TCPFlags\":16,\"ProtType\":6,\"Tos\":0,\"SrcAsNum\":4771,\"DstAsNum\":56030,\"SrcMask\":20,\"DstMask\":22,\"Padding2\":0},{\"SrcAddr\":\"125.238.46.48\",\"DstAddr\":\"114.23.236.96\",\"NextHop\":\"114.23.3.231\",\"Input\":791,\"Output\":817,\"PktCount\":1,\"L3Octets\":441,\"StartTime\":51425137,\"EndTime\":51425137,\"SrcPort\":49233,\"DstPort\":443,\"Padding1\":0,\"TCPFlags\":24,\"ProtType\":6,\"Tos\":0,\"SrcAsNum\":4771,\"DstAsNum\":56030,\"SrcMask\":20,\"DstMask\":22,\"Padding2\":0},{\"SrcAddr\":\"210.5.53.48\",\"DstAddr\":\"103.22.200.210\",\"NextHop\":\"122.56.118.157\",\"Input\":564,\"Output\":802,\"PktCount\":1,\"L3Octets\":1500,\"StartTime\":51420072,\"EndTime\":51420072,\"SrcPort\":80,\"DstPort\":56108,\"Padding1\":0,\"TCPFlags\":16,\"ProtType\":6,\"Tos\":0,\"SrcAsNum\":56030,\"DstAsNum\":13335,\"SrcMask\":24,\"DstMask\":23,\"Padding2\":0}]}\n```\n## Decoded Netflow v9 data\n```json\n{\"AgentID\":\"10.81.70.56\",\"Header\":{\"Version\":9,\"Count\":1,\"SysUpTime\":357280,\"UNIXSecs\":1493918653,\"SeqNum\":14,\"SrcID\":87},\"DataSets\":[[{\"I\":1,\"V\":\"0x00000050\"},{\"I\":2,\"V\":\"0x00000002\"},{\"I\":4,\"V\":2},{\"I\":5,\"V\":192},{\"I\":6,\"V\":\"0x00\"},{\"I\":7,\"V\":0},{\"I\":8,\"V\":\"10.81.70.56\"},{\"I\":9,\"V\":0},{\"I\":10,\"V\":0},{\"I\":11,\"V\":0},{\"I\":12,\"V\":\"224.0.0.22\"},{\"I\":13,\"V\":0},{\"I\":14,\"V\":0},{\"I\":15,\"V\":\"0.0.0.0\"},{\"I\":16,\"V\":0},{\"I\":17,\"V\":0},{\"I\":21,\"V\":300044},{\"I\":22,\"V\":299144}]]}\n```\n\n## Supported platform\n- Linux\n- Windows\n\n## Build\nGiven that the Go Language compiler is installed, you can build it with:\n```\ngo get github.com/EdgeCast/vflow/vflow\ncd $GOPATH/src/github.com/EdgeCast/vflow\n\nmake build\nor\ncd vflow; go build \n```\n## Installation\nYou can download and install pre-built debian package as below ([RPM and Linux binary are available](https://github.com/EdgeCast/vflow/releases)). \n\ndpkg -i [vflow-0.9.0-x86_64.deb](https://github.com/EdgeCast/vflow/releases/download/v0.9.0/vflow-0.9.0-x86_64.deb)\n\nOnce you installed you need to configure the below files, for more information check [configuration guide](/docs/config.md):\n```\n/etc/vflow/vflow.conf\n/etc/vflow/mq.conf\n```\nYou can start the service by the below:\n```\nservice vflow start\n```\n\n## Kubernetes\n```\nkubectl apply -f https://github.com/EdgeCast/vflow/blob/master/kubernetes/deploy.yaml\n```\n\n## Docker\n```\ndocker run -d -p 2181:2181 -p 9092:9092 spotify/kafka\ndocker run -d -p 4739:4739 -p 4729:4729 -p 6343:6343 -p 8081:8081 -e VFLOW_KAFKA_BROKERS=\"172.17.0.1:9092\" mehrdadrad/vflow\n```\n\n## License\nLicensed under the Apache License, Version 2.0 (the \"License\")\n\n## Contribute\nWelcomes any kind of contribution, please follow the next steps:\n\n- Fork the project on github.com.\n- Create a new branch.\n- Commit changes to the new branch.\n- Send a pull request.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FEdgio%2Fvflow","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FEdgio%2Fvflow","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FEdgio%2Fvflow/lists"}