Skip to content

rayyang2000/pingbeat

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

pingbeat

You know, for pings

pingbeat sends ICMP pings to a list of targets and stores the round trip time (RTT) in Elasticsearch (or elsewhere). It uses tatsushid/go-fastping for sending/recieving ping packets and elastic/libbeat to talk to Elasticsearch and other outputs. Essentially, those two libraries do all the heavy lifting, pingbeat is just glue around them.

Installation

Install and update this go package with go get -u github.com/joshuar/pingbeat

Usage

See the example configuration file for configuring your targets and assigning an output (default output is Elasticsearch).

If using the Elasticsearch output, you should add a new index template using the supplied one, for example with curl -XPUT /_template/pingbeat -d @/path/to/pingbeat-template.json.

Once you've created a configuration file you can run pingbeat with pingbeat -c /path/to/pingbeat.yml.

Note on privileges

In order to send regular ICMP ping packets, pingbeat needs to open raw sockets, which can only be done with superuser privileges. So you either need to run pingbeat with sudo or as root to send regular pings. If you don't want to do that, set privileged: false in your config and run pingbeat as a regular user. It will then use a UDP ping to test connectivity.

License

pingbeat is licensed under the Apache 2.0 license.

About

Pingbeat sends ICMP packets and stores the RTT in Elasticsearch or other outputs supported by libbeat.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 100.0%