Forge Home

dsc

Module to manage DNSOARC DSC collector

50,619 downloads

45,855 latest version

4.6 quality score

We run a couple of automated
scans to help you access a
module's quality. Each module is
given a score based on how well
the author has formatted their
code and documentation and
modules are also checked for
malware using VirusTotal.

Please note, the information below
is for guidance only and neither of
these methods should be considered
an endorsement by Puppet.

Support the Puppet Community by contributing to this module

You are welcome to contribute to this module by suggesting new features, currency updates, or fixes. Every contribution is valuable to help ensure that the module remains compatible with the latest Puppet versions and continues to meet community needs. Complete the following steps:

  1. Review the module’s contribution guidelines and any licenses. Ensure that your planned contribution aligns with the author’s standards and any legal requirements.
  2. Fork the repository on GitHub, make changes on a branch of your fork, and submit a pull request. The pull request must clearly document your proposed change.

For questions about updating the module, contact the module’s author.

Version information

  • 0.2.2 (latest)
  • 0.2.1
  • 0.2.0
  • 0.1.7
  • 0.1.4
  • 0.1.3
  • 0.1.1
  • 0.1.0
released Jan 29th 2018
This version is compatible with:
  • ,

Start using this module

  • r10k or Code Manager
  • Bolt
  • Manual installation
  • Direct download

Add this module to your Puppetfile:

mod 'icann-dsc', '0.2.2'
Learn more about managing modules with a Puppetfile

Add this module to your Bolt project:

bolt module add icann-dsc
Learn more about using this module with an existing project

Manually install this module globally with Puppet module tool:

puppet module install icann-dsc --version 0.2.2

Direct download is not typically how you would use a Puppet module to manage your infrastructure, but you may want to download the module in order to inspect the code.

Download

Documentation

icann/dsc — version 0.2.2 Jan 29th 2018

Build Status Puppet Forge Puppet Forge Downloads

dsc

Table of Contents

  1. Overview
  2. Module Description - What the module does and why it is useful
  3. Setup - The basics of getting started with dsc
  4. Usage - Configuration options and additional functionality
  5. Reference - An under-the-hood peek at what the module is doing and how
  6. Limitations - OS compatibility, etc.
  7. Development - Guide for contributing to the module

Overview

Installs and manages the DNS-OARC DNS Statistics Collector (dsc).

Module Description

With a default configueration the module will configuer dsc to listen on all real interfaces collecting statistics on an traffic it sees. It currently uses a Hardcoded set of datatypes.

Setup

What dsc affects

  • Installs the dsc collector package
  • creates the data collection directories
  • remove the init.d script installed by the package and installs an upstart script (rc.d script on freebsd)
  • installs our own version of the upload_prep script.
  • remove the cron job installed b y the package and install our own
  • manages the dsc-collector service

Setup Requirements OPTIONAL

  • stdlib 4.11.0
  • This module uses flock to manage cron jobs and assumes it is already installed on the system.

Beginning with dsc

Simply add the dsc module to your manifest

class { '::dsc': }

Usage

Local addresses

DSC needs to know the local IP addresses so that it can work out the direction packets are traveling. By default the module uses the $::ipaddress fact however you will often need to override this with a list of address. These addresses are also used to create the bpf_program filter if it is enabled.

class {'::dsc': 
  ip_addresses => ['192.0.2.1'],
  bpf_program => true,
}

Interfaces

If you want to configure dsc to listen on a specific set of interfaces then pass them as an array

class { '::dsc': 
    listen_interfaces => ['eth0', 'eth1']
}

Reference

Classes

Public Classes:

Private Classes:

Parameters (all optional)
  • prefix (Path, Default: /usr/local/dsc): The base path for the run_dir
  • ip_addresses (Array, Default: [$::ipaddress]): Specifies the DNS server's local IP addresses. It is used to determine the direction of an IP packet: sending, receiving, or other.
  • bpf_program (Bool, Default: false): if true create a bfp filter to only capture data destined to the addresses listed in ip_addresses
  • listen_interfaces (Array, Default: split($::interfaces, ',')): An array of interface that dsc should listen on. It will ignore interfaces starting with lo or dummy. By default it will use the interfaces listed in the $::interfaces fact.
  • custom_dataset (Array, Default: []): An array of additional datasets that dsc should use. By default it will use generate the default dsc datasets only.
  • package (String, Default: OS specific): The name of the package to install
  • conf_file (Path, Default: OS specific): The location of the configueration file to manage
  • service (String, Default: OS specific): The name of the service to manage
  • pid_file (Path, Default: /var/run/dsc-statistics-collector/default/dsc.pid): The location of the pid file
  • max_memory (Int, Default: 4194304): The upstart job limits the rss that dsc can used to this value. Once this value has been reached dsc will segfault and upstart will restart it
  • presenter (/^(dsp|hedgehog)$/, Default: 'dsp'): This is not intended to be used to support multible presenters. it is somewhat cosmetic at the moment

Limitations

This module was developed to work with the hedgehog presenter and has not been tested with DSP.

Tested and working on FreeBSD 10, Ubuntu 14.04 and Ubuntu 16.04

Development

Since your module is awesome, other users will want to play with it. Let them know what the ground rules for contributing are.