haulage

command module
v0.0.0-...-9c42f08 Latest Latest
Warning

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

Go to latest
Published: May 8, 2020 License: MPL-2.0 Imports: 20 Imported by: 0

README

Go Report Card Build Status

UPDATE: Our team recently ported EPC codebases from OAI to open5gs! Per all of our tests, this release should work well, but we encourage you to test-drive it and report any bugs - Spencer, 27 March 2020.

haulage

A golang tool for measuring, logging, and controlling network usage to allow billing and analysis.

haul·age

/ˈhôlij/ noun

  1. the act or process of hauling
  2. a charge made for hauling

-Merriam-Webster Online

When haulage?

  • When you need to account for network traffic flows passing through a unix system.
  • When you are interested in aggregate usage, not packet by packet logging or detailed timing.
  • When you need to operate in human time (pseudo real time).
  • When you operate in a constrained environment where alternative (and more fully featured) tools may be overkill.

Usage

Install from source with go

  1. Install the go tools (version >= 1.11) for your platform, available from golang.org
  2. Install the libpcap library and headers (on debian flavors apt-get install libpcap-dev)
  3. go get github.com/uw-ictd/haulage

As an alternative to (3), you could also clone this repo and then make build

Binary releases

We currently host/maintain .deb packages for Ubuntu 18.04 and Debian 9. Use the following script to add our repo and install haulage.

echo "deb http://colte.cs.washington.edu $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/colte.list
sudo wget -O /etc/apt/trusted.gpg.d/colte.gpg http://colte.cs.washington.edu/keyring.gpg
sudo apt-get update
sudo apt-get install haulage
Building your own binary
  1. Download and install fpm for your platform.
  2. Build a binary package with make package.

Configuration

All haulage configurations are located in config.yml. If you installed our .deb package, this file is located in /etc/haulage.

Developing

haulage is an open source project, and participation is always welcome. We strive to be an open and respectful community, so please read and follow our Community Code of Conduct.

Please feel free to open issues on github or reach out to the mailing list with any development concerns, and a maintainer will do their best to respond in a reasonable amount of time. When proposing feature requests, keep in mind the mission of haulage to remain a simple, customizable, and lightweight tool. Other more powerful open source network monitoring frameworks already enjoy broad community support.

For more details check out the contriubting page.

History

The requirements for haulage grew out of a need for the CoLTE Community Cellular Networking project to measure network utilization to account for spending against prepaid cellular data packages and log long-term traffic statistics to aid network planning. Many feature rich network monitors exist, but offer relatively heavy implementations over-provisioned for our needs. The entire community networking stack is deployed on a single low-cost minicomputer, so rich toolsets designed for a server context with relatively high idle resource consumption are not appropriate. These tools scale well, but have made design decisions for scale at the expense of efficient performance in less demanding settings.

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
internal

Jump to

Keyboard shortcuts

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