All Projects → uber → Arachne

uber / Arachne

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

Programming Languages

go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to Arachne

Bmon
bandwidth monitor and rate estimator
Stars: ✭ 787 (+122.95%)
Mutual labels:  networking, network-monitoring, monitoring
E Books
A collections of FREE ebooks
Stars: ✭ 143 (-59.49%)
Mutual labels:  cloud, networking
Opencensus Erlang
A stats collection and distributed tracing framework
Stars: ✭ 131 (-62.89%)
Mutual labels:  cloud, monitoring
Drago
A flexible configuration manager for Wireguard networks
Stars: ✭ 204 (-42.21%)
Mutual labels:  cloud, networking
Porcupine
Threading, Resiliency and Monitoring for Java EE 7/8
Stars: ✭ 99 (-71.95%)
Mutual labels:  cloud, monitoring
Mist Ce
Mist is an open source, multi-cloud management platform
Stars: ✭ 1,391 (+294.05%)
Mutual labels:  cloud, monitoring
Opencensus Web
A stats collection and distributed tracing framework
Stars: ✭ 168 (-52.41%)
Mutual labels:  cloud, monitoring
Examples
Demo applications and code examples for Confluent Platform and Apache Kafka
Stars: ✭ 571 (+61.76%)
Mutual labels:  cloud, monitoring
Hack-Utils
Script to facilitate different functions and checks
Stars: ✭ 27 (-92.35%)
Mutual labels:  networking, network-monitoring
Drop watch
Monitor reasons why and where linux drops UDP packets
Stars: ✭ 289 (-18.13%)
Mutual labels:  networking, monitoring
Netfox
A lightweight, one line setup, iOS / OSX network debugging library! 🦊
Stars: ✭ 3,188 (+803.12%)
Mutual labels:  networking, network-monitoring
Cloudprober
An active monitoring software to detect failures before your customers do.
Stars: ✭ 1,269 (+259.49%)
Mutual labels:  cloud, monitoring
Domonit
A Deadly Simple Docker Monitoring Wrapper For Docker API
Stars: ✭ 67 (-81.02%)
Mutual labels:  cloud, monitoring
Opencensus Csharp
Distributed tracing and stats collecting framework
Stars: ✭ 126 (-64.31%)
Mutual labels:  cloud, monitoring
Nff Go
NFF-Go -Network Function Framework for GO (former YANFF)
Stars: ✭ 1,036 (+193.48%)
Mutual labels:  cloud, networking
Opencensus Go
A stats collection and distributed tracing framework
Stars: ✭ 1,895 (+436.83%)
Mutual labels:  cloud, monitoring
Pandorafms
Pandora FMS is a flexible and highly scalable monitoring system ready for big environments. It uses agents (Linux, Windows, AIX, HP-UX, Solaris and BSD systems) and can do both local and remote network monitoring (SNMP v3, TCP checks, WMI, etc).
Stars: ✭ 311 (-11.9%)
Mutual labels:  network-monitoring, monitoring
Awareness
The new architecture of co-computation for data processing and machine learning.
Stars: ✭ 11 (-96.88%)
Mutual labels:  cloud, networking
Awesome Scalability Toolbox
My opinionated list of products and tools used for high-scalability projects
Stars: ✭ 34 (-90.37%)
Mutual labels:  cloud, networking
Opencensus Node
A stats collection and distributed tracing framework
Stars: ✭ 249 (-29.46%)
Mutual labels:  cloud, monitoring

Arachne GoDoc Build Status Go Report Card

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.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].