{"id":17462886,"url":"https://github.com/nextrevision/puppet-flowtools","last_synced_at":"2026-01-20T15:32:26.518Z","repository":{"id":12008466,"uuid":"14589049","full_name":"nextrevision/puppet-flowtools","owner":"nextrevision","description":"Puppet module to install flow-tools and manage flow-capture","archived":false,"fork":false,"pushed_at":"2022-10-05T20:56:02.000Z","size":657,"stargazers_count":1,"open_issues_count":6,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-09-20T07:59:35.904Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Ruby","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/nextrevision.png","metadata":{"files":{"readme":"README.markdown","changelog":"CHANGELOG","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2013-11-21T14:02:14.000Z","updated_at":"2020-01-06T17:25:27.000Z","dependencies_parsed_at":"2023-01-11T20:17:24.169Z","dependency_job_id":null,"html_url":"https://github.com/nextrevision/puppet-flowtools","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/nextrevision/puppet-flowtools","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nextrevision%2Fpuppet-flowtools","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nextrevision%2Fpuppet-flowtools/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nextrevision%2Fpuppet-flowtools/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nextrevision%2Fpuppet-flowtools/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nextrevision","download_url":"https://codeload.github.com/nextrevision/puppet-flowtools/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nextrevision%2Fpuppet-flowtools/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28606142,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-20T14:45:23.139Z","status":"ssl_error","status_checked_at":"2026-01-20T14:44:16.929Z","response_time":117,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":[],"created_at":"2024-10-18T09:10:29.135Z","updated_at":"2026-01-20T15:32:26.498Z","avatar_url":"https://github.com/nextrevision.png","language":"Ruby","readme":"#puppet-flowtools\n\n[![Build Status](https://travis-ci.org/nextrevision/puppet-flowtools.png?branch=master)](https://travis-ci.org/nextrevision/puppet-flowtools)\n\n####Table of Contents\n\n1. [Overview](#overview)\n2. [Module Description](#module-description)\n3. [Setup - The basics of getting started with puppet-flowtools](#setup)\n    * [What puppet-flowtools affects](#what-[flowtools]-affects)\n    * [Setup requirements](#setup-requirements)\n    * [Beginning with flowtools](#beginning-with-flowtools)\n4. [Usage - Configuration options and additional functionality](#usage)\n5. [Reference - An under-the-hood peek at what the module is doing and how](#reference)\n5. [Limitations - OS compatibility, etc.](#limitations)\n6. [Development - Guide for contributing to the module](#development)\n\n##Overview\n\nThis module is responsible for installing flow-tools, configuring flow-capture, and running flow-capture on specified interfaces and ports for specified devices. \n\n##Module Description\n\nThis module is responsible for installing flow-tools on the system. Once flow-tools has been successfully installed, the module will generate an empty config file (default: `/etc/flow-tools/flow-capture`). The service is then started/enabled if specified (default: `true`), and will begin receiving flow data and writing it to a directory (default: `/var/flow`).\n\nThe module has a device type which configures flow-capture to listen on an interface/port for a device. If using flow-capture, this is required for the module to function properly, otherwise flow-capture will fail to start due to the emtpy config file.\n\nThis module can be used to only install flow-tools, with the use of the `capture` parameter described below.\n\n##Setup\n\n###What flowtools affects\n\n* /etc/init.d/flow-capture\n* /etc/flow-tools/flow-capture.conf\n* /usr/local/flow-tools/ (RedHat family systems only)\n\n###Setup Requirements\n\nThis module is dependent on puppetlabs/concat and puppetlabs/stdlib. As for puppetlabs/concat, you must have `pluginsync` set to true on systems you wish to use with this module.\n  \n###Beginning with puppet-flowtools\n\nTo get started, simply include the flow-tools class and define a capture device:\n\n```\ninclude flowtools\nflowtools::device { 'device1':\n  ip_address =\u003e '192.168.1.1',\n  port       =\u003e '9996'\n}\n```\n\nThis will create and entry in `flow-capture.conf` to listen on all interfaces on UDP port 9996 for flow data sent from 192.168.1.1.\n\n##Usage\n\nThe basic usage of the module is listed above, and different examples will be explored below.\n\n### Passing custom options to flow-capture\n```\ninclude flowtools\nflowtools::device { 'device1':\n  ip_address =\u003e '192.168.1.1',\n  port       =\u003e '9996',\n  options    =\u003e '-V 5'\n}\n```\n\n### Specify a custom capture directory\n```\nclass { 'flowtools':\n  flow_dir =\u003e '/data/flows'\n}\nflowtools::device { 'device1':\n  ip_address =\u003e '192.168.1.1',\n  port       =\u003e '9996'\n}\n```\n\n### Listening for all devices sending flow data to port 9996\n```\ninclude flowtools\nflowtools::device { 'all':\n  ip_address =\u003e '0.0.0.0',\n  port       =\u003e '9996'\n}\n```\n\n### Listening on a specific interface with custom options\n```\ninclude flowtools\nflowtools::device { 'device1':\n  ip_address =\u003e '192.168.1.1',\n  port       =\u003e '9996',\n  listen     =\u003e '192.168.1.33'\n  options    =\u003e '-V 5'\n}\n```\n\n### Just install flow-tools, don't start flow-capture\n```\nclass { 'flowtools':\n  capture =\u003e false,\n}\n```\n\n### Using Hiera data with flow-tools\n```\n---\nflowtools:\n  capture: true\n  flow_dir: '/mnt/flows'\n  devices:\n    router1:\n      ip_address: '10.1.1.1'\n      port: '9997'\n    router2:\n      ip_address: '10.2.1.1'\n      port: '9998'\n```\n\n##Reference\nClasses:\n\n* flowtools\n\nTypes:\n\n* flowtools::device\n\nFlow-Tools project:\n\n* (Original) http://www.splintered.net/sw/flow-tools/\n* (Active)   https://code.google.com/p/flow-tools/\n\n##Limitations\n\nThis module only supports Debian and RedHat family operating systems. For Debian family systems, flow-tools must be availlable via apt. For RedHat systems, flow-tools is installed via a RPM of the latest version due to flow-tools not being available in the Epel, RPMForge or standard repos.\nThis module has been tested on pristine versions of:\n\n* RHEL/CentOS 6.4\n* Ubuntu 10.04\n* Ubuntu 12.04\n* Debian 6\n* Debian 7\n\n##Development\n\nFeel free to make any additions to the module and issue a pull request. If you have a more elegant solution to some of the ways I've gone about things here, I'm certainly eager to hear about/implement them.\n\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnextrevision%2Fpuppet-flowtools","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnextrevision%2Fpuppet-flowtools","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnextrevision%2Fpuppet-flowtools/lists"}