Skip to content

Navigation Menu

Sign in
Sign up

Repository files navigation

Arachne is a packet loss detection system and an underperforming path detection system. It provides fast and easy active end-to-end functional testing of all the components in Data Center and Cloud infrastructures. Arachne is able to detect intra-DC, inter-DC, DC-to-Cloud, and DC-to-External-Services issues by generating minimal traffic:

  • Reachability
  • Round-trip and 1-way latency
  • Silent packet drops and black holes
  • Jitter (average of the deviation from the network mean latency)
  • PMTU or Firewall issues too related possibly to network config changes (accidental or not)
  • Whether network-level SLAs are met

Usage

There are two ways to use the Arachne package.

As a standalone program

Run Arachne as a standalone program (it's Debian packaged already too).

As a library in your own program

Import this package and call Arachne from your program/service with

 arachne.Run(config, arachne.ReceiverOnlyMode(false))

where the option provided above is among the few optional ones.

Below is the list of all the CLI options available, when Arachne is used as a standalone program. The default options should be good enough for most users.

$ arachne --help
____________________________________________________________/\\\______________________________________
 ___________________________________________________________\/\\\______________________________________
 ___________________________________________________________\/\\\______________________________________
 __/\\\\\\\\\_____/\\/\\\\\\\___/\\\\\\\\\________/\\\\\\\\_\/\\\__________/\\/\\\\\\_______/\\\\\\\\__
 _\////////\\\___\/\\\/////\\\_\////////\\\_____/\\\//////__\/\\\\\\\\\\__\/\\\////\\\____/\\\/////\\\_
 ___/\\\\\\\\\\__\/\\\___\///____/\\\\\\\\\\___/\\\_________\/\\\/////\\\_\/\\\__\//\\\__/\\\\\\\\\\\__
 __/\\\/////\\\__\/\\\__________/\\\/////\\\__\//\\\________\/\\\___\/\\\_\/\\\___\/\\\_\//\\///////___
 _\//\\\\\\\\/\\_\/\\\_________\//\\\\\\\\/\\__\///\\\\\\\\_\/\\\___\/\\\_\/\\\___\/\\\__\//\\\\\\\\\\_
 __\////////\//__\///___________\////////\//_____\////////__\///____\///__\///____\///____\//////////__
Usage: arachne [--foreground] [-c=<config_file>] [--receiver_only] [--sender_only]
Arachne is a packet loss detection system and an underperforming path detection
system for Data Center and Cloud infrastructures.
Options:
 -v, --version Show the version and exit
 --foreground=false Force foreground mode
 -c, --config_file="/usr/local/etc/arachne/arachne.yaml" Config file path
 (default: /usr/local/etc/arachne/arachne.yaml)
 --receiver_only=false Force TCP receiver-only mode
 --sender_only=false Force TCP sender-only mode

Note on required privileges to run

Arachne is granted access to raw sockets without the need to run with sudo or as root user, by being granted CAP_NET_RAW capability (see: capabilities).

Note on BPF filtering

When receiving packets, Arachne attempts to apply a BPF filter to the raw socket so that processing of packets occurs on a much smaller set (ones destined specifically for Arachne agent testing). This is currently supported only on Linux and thus performance will be worse on BSD-based systems where a larger number of packets must be inspected.


Released under the MIT License.

About

An always-on framework that performs end-to-end functional network testing for reachability, latency, and packet loss

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

AltStyle によって変換されたページ (->オリジナル) /