GithubHelp home page GithubHelp logo

ianmadlenya / dpinger Goto Github PK

View Code? Open in Web Editor NEW

This project forked from dennypage/dpinger

0.0 2.0 0.0 78 KB

Pinger engine for monitoring latency and loss

License: BSD 2-Clause "Simplified" License

Makefile 0.36% C 78.79% Shell 20.00% HTML 0.85%

dpinger's Introduction

dpinger

dpinger is a daemon for continuous monitoring of latency and loss on a network connection. It is intended for use by firewalls to monitor link health, as well as for providing information to various monitoring systems such as Cacti, Nagios, Zabbix, etc.

The output of dpinger can either be file or socket based, and consists of three numbers:

<Average Latency in μs> <Standard Deviation in μs> <Percentage of Loss>

dpinger also provides for invocation of a command based upon threshold values for Average Latency or Percentage of Loss. Arguments to the command are:

<Target IP> <Alarm on/off> <Average Latency> <Standard Deviation> <Percentage of Loss>

In addition to command invocation, dpinger can also log alerts via syslog.

If several instances of dpinger are being used to monitor different targets, or the same target with different source addresses, etc., an Identifier can be added to the output to identify which instance of dpinger is the source. This is particularly useful with syslog.


Usage examples:

dpinger -t 300s -r 60s 192.168.0.1 >> /tmp/dpinger.out

Monitor IP address 192.168.0.1 for latency and loss. Average results over 5 minutes. Produce a report every 60 seconds and append it to /tmp/dpinger.out.

dpinger -r 0 -S -D 250m -L 20 -p /run/dpinger 192.168.0.1

Monitor IP address 192.168.0.1 for latency and loss. Log alerts via syslog if latency exceeds 250 milliseconds or loss exceeds 20 percent. Record process id in /run/dpinger.

dpinger -f -B 192.168.0.50 -r 10s 192.168.0.1

Monitor IP address 192.168.0.1 for latency and loss. Use 192.168.0.50 as the address for sending and receiving ICMP packets. Run in the foreground and report status via stdout every 10 seconds.

dpinger -R -o /tmp/gw.status fe80::1 -L 35% -C "/var/etc/alert igb1"

Monitor IP address fe80::1 for latency and loss. Maintain a status file in /tmp/gw.status with the current status. If packet loss exceeds 35% invoke the following command:

    /var/etc/alert igb1 fe80::1 <alarm> <latency> <deviation> <loss>

the command will be invoked with an alarm value of 1 when loss exceeds 35%, and again with an alarm value of 0 when loss returns to below 35%.

dpinger -r 0 -s 200m -u /tmp/igb1.status -p /run/dpinger fe80::1

Monitor IP address fe80::1 for latency and loss. Send echo requests every 200 milliseconds. Make current status available on demand via a Unix domain socket /tmp/igb1.status. Record process id in /run/dpinger.

dpinger -S -i Comcast -s 5s -t 600s -r 0 -L 10% -p /run/dpinger 8.8.8.8

Monitor IP address 8.8.8.8 for latency and loss. Send echo requests every five seconds and average results over 10 minutes. Log alerts via syslog including identifier string "Comcast" if average loss exceeds 10 percent. Record process id in /run/dpinger.

dpinger's People

Contributors

dennypage avatar fichtner avatar rbgarga avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.