Skip to content

ICMP Prometheus Exporter for multiple hosts defined on Redis database

Notifications You must be signed in to change notification settings

lfdominguez/rustyping

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RustyPing

Rust

Simple Rust application to send ICMP ping request to a set of hosts defined on a Redis database. Expose the info as metric HTTP Server for Prometheus.

Focused on datacenters to get a global view of ICMP latency over all hosts.

Only support Linux to deploy the software.
If you want Windows support (or another platform) then you can push a request.

Metrics

Metric Description
rustyping_host_up Show if host is responding to ICMP
rustyping_ping_error Counter of errors of ICMP
rustyping_ping_last Last latency of ICMP
rustyping_ping_latency_bucket Latency histogram from 0.1ms to 1s with 30 step and factor 1.37 for buckets
rustyping_ping_latency_sum Sum of all ICMP latency
rustyping_ping_latency_count Count of all sended ICMP requests

RustyPing label Description
from Hostname of host where the ICMP is sended
ip IP address of destination host (ip part of name@ip info from Redis database)
name Name of destination host (name part of name@ip info from Redis database)

Usage

rustyping [OPTIONS] --redis_host <redis_host>
Option Description Environment variable Default
-r/--redis_host IP Address of Redis server RUSTYPING_REDIS_HOST ``
-t/--ping_timeout Set the timeout in seconds RUSTYPING_PING_TIMEOUT 1.0
-i/--ping_interval Set the interval in seconds of each ping request RUSTYPING_PING_INTERVAL 5

Redis host

The Redis server need to contain a SET with the name rustyping:targets with members with this name name@ip.

Grafana example

You can use grafana to view the information saved in Prometheus. Example dashboard can found on grafana folder.

Grafana Dashboard example

About

ICMP Prometheus Exporter for multiple hosts defined on Redis database

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages