Smokeping_prober

Prometheus style smokeping
Alternatives To Smokeping_prober
Project NameStarsDownloadsRepos Using ThisPackages Using ThisMost Recent CommitTotal ReleasesLatest ReleaseOpen IssuesLicenseLanguage
Grafana57,316253012 hours ago4,078July 31, 20233,934agpl-3.0TypeScript
The open and composable observability and data visualization platform. Visualize metrics, logs, and traces from multiple sources like Prometheus, Loki, Elasticsearch, InfluxDB, Postgres and many more.
Prometheus50,0648502 days ago739July 28, 2023890apache-2.0Go
The Prometheus monitoring system and time series database.
Skywalking22,45363 days ago15June 16, 202350apache-2.0Java
APM, Application Performance Monitoring System
Thanos12,1258516 hours ago460March 23, 2023453apache-2.0Go
Highly available Prometheus setup with long term storage capabilities. A CNCF Incubating project.
Victoriametrics9,46072 days ago541July 28, 2023801apache-2.0Go
VictoriaMetrics: fast, cost-effective monitoring solution and time series database
Node_exporter9,41518412 hours ago122July 17, 2023208apache-2.0Go
Exporter for machine metrics
Openobserve6,712
19 hours ago168apache-2.0Rust
🚀 10x easier, 🚀 140x lower storage cost, 🚀 high performance, 🚀 petabyte scale - Elasticsearch/Splunk/Datadog alternative for 🚀 (logs, metrics, traces).
Kube Prometheus5,715
2 days ago28January 24, 2023158apache-2.0Jsonnet
Use Prometheus to monitor Kubernetes and applications running on Kubernetes
Fluent Bit4,8502a day ago3June 15, 2022605apache-2.0C
Fast and Lightweight Logs and Metrics processor for Linux, BSD, OSX and Windows
Kube State Metrics4,7545410 days ago102May 31, 202381apache-2.0Go
Add-on agent to generate and expose cluster-level metrics.
Alternatives To Smokeping_prober
Select To Compare


Alternative Project Comparisons
Readme

smokeping_prober

CircleCI Docker Repository on Quay

Prometheus style "smokeping" prober.

Example Graph

Overview

This prober sends a series of ICMP (or UDP) pings to a target and records the responses in Prometheus histogram metrics.

usage: smokeping_prober [<flags>] [<hosts>...]

Flags:
  -h, --help                     Show context-sensitive help (also try --help-long and --help-man).
      --config.file=CONFIG.FILE  Optional smokeping_prober configuration yaml file.
      --web.telemetry-path="/metrics"
                                 Path under which to expose metrics.
      --web.systemd-socket       Use systemd socket activation listeners instead of port listeners (Linux only).
      --web.listen-address=:9374 ...
                                 Addresses on which to expose metrics and web interface. Repeatable for multiple
                                 addresses.
      --web.config.file=""       [EXPERIMENTAL] Path to configuration file that can enable TLS or authentication.
      --buckets="5e-05,0.0001,0.0002,0.0004,0.0008,0.0016,0.0032,0.0064,0.0128,0.0256,0.0512,0.1024,0.2048,0.4096,0.8192,1.6384,3.2768,6.5536,13.1072,26.2144"
                                 A comma delimited list of buckets to use
  -i, --ping.interval=1s         Ping interval duration
      --privileged               Run in privileged ICMP mode
  -s, --ping.size=56             Ping packet size in bytes
      --log.level=info           Only log messages with the given severity or above. One of: [debug, info, warn,
                                 error]
      --log.format=logfmt        Output format of log messages. One of: [logfmt, json]
      --version                  Show application version.

Args:
  [<hosts>]  List of hosts to ping

Configuration

The prober can take a list of targets and parameters from the command line or from a yaml config file.

Example config:

---
targets:
- hosts:
  - host1
  - host2
  interval: 1s # Duration, Default 1s.
  network: ip # One of ip, ip4, ip6. Default: ip (automatic IPv4/IPv6)
  protocol: icmp # One of icmp, udp. Default: icmp (Requires privileged operation)
  size: 56 # Packet data size in bytes. Default 56 (Range: 24 - 65535)
  source: 127.0.1.1 # Souce IP address to use. Default: None (automatic selection)

In each host group the interval, network, and protocol are optional.

The interval Duration is in Go time.ParseDuration() syntax.

NOTE: The config is only read on startup, SIGHUP is not supported (yet).

Building and running

Requires Go >= 1.17

go install github.com/superq/smokeping_prober@latest
sudo setcap cap_net_raw=+ep ${GOPATH}/bin/smokeping_prober

Docker

docker run \
  -p 9374:9374 \
  --privileged \
  quay.io/superq/smokeping-prober:latest \
  some-ping-target.example.com

Metrics

Metric Name Type Description
smokeping_requests_total Counter Counter of pings sent.
smokeping_response_duration_seconds Histogram Ping response duration.
smokeping_response_ttl Gauge The last response Time To Live (TTL).
smokeping_response_duplicates_total Counter The number of duplicated response packets.
smokeping_receive_errors_total Counter The number of errors when Pinger attempts to receive packets.
smokeping_send_errors_total Counter The number of errors when Pinger attempts to send packets.

TLS and basic authentication

The Smokeping Prober supports TLS and basic authentication.

To use TLS and/or basic authentication, you need to pass a configuration file using the --web.config.file parameter. The format of the file is described in the exporter-toolkit repository.

Popular Prometheus Projects
Popular Metrics Projects
Popular Operations Categories
Related Searches

Get A Weekly Email With Trending Projects For These Categories
No Spam. Unsubscribe easily at any time.
Go
Metrics
Prometheus
Udp
Counter
Ping
Duration
Histogram
Icmp
Monitoring Tool