XYMONPING(1)

πŸ’– XYMONPING(1) β€” the ping tool, general commands manual edition πŸ’–

okay bestie, gather round, because today we're talking about xymonping β€” the Xymon ping tool, and honestly? it's giving main character energy in the network-testing department. ✨


🌸 NAME 🌸

xymonping β€” the Xymon ping tool. that's it, that's the whole vibe. 🫢


⭐ SYNOPSIS ⭐

xymonping [--retries=N] [--timeout=N] [IP-addresses]

look at her. so simple. so powerful. πŸ’…


πŸ¦‹ DESCRIPTION πŸ¦‹

so xymonping(1) is what does the ping testing for all the hosts that the xymon(7) monitoring system is watching. it reads a big ol' list of IP addresses from stdin, then runs a "ping" check on each one to see if those hosts are alive or just ghosting you. 😭 it's normally called by the xymonnet(1) utility, which is the one running literally all of the Xymon network tests. she's a team player, fr fr.

optionally β€” and this is the fun part β€” if you pass a list of IP-addresses as command-line arguments, she'll ping those IP's instead of reading them from stdin. choose your own adventure, bestie. πŸŽ€

lowkey important: xymonping only handles IP-addresses, not hostnames. so don't come at her with myserver.example.com, she will not know her. πŸ’€

xymonping was inspired by the fping(1) tool, but she was written from scratch to implement a fast ping tester without all the extra overhead that other such utilities are carrying around like an overstuffed tote bag. the output from xymonping is similar to that of "fping -Ae". iconic behaviour honestly. ✨

she probes multiple systems in parallel, so the runtime is mostly dependent on the timeout-setting and the number of retries. with the default options, xymonping takes approximately 18 seconds to ping all hosts β€” and that was tested with an input set of 1500 IP addresses. slay. πŸ”₯


πŸ‘‘ SUID-ROOT INSTALLATION REQUIRED πŸ‘‘

okay so this part matters, no cap. xymonping needs to be installed with suid-root privileges, because she requires a "raw socket" to send and receive ICMP Echo (ping) packets. that's just the rules of the ICMP game. πŸ’…

but here's the thing β€” and this is the part that makes her trustworthy β€” xymonping is implemented such that she immediately drops the root privileges, and only regains them to perform two operations:

  1. Obtaining the raw socket.
  2. Optionally binding it to a specific source address.

those operations are performed as root. the rest of the time, xymonping runs with normal user privileges. and specifically: no user-supplied data or network data is used while running with root privileges. so yeah, it should be safe to provide xymonping with the necessary suid-root privileges. she's careful with her power, bestie. 🧚


✨ OPTIONS ✨

  • --retries=N β€” sets the number of retries for hosts that fail to respond to the initial ping, i.e. the number of ping probes sent in addition to the initial probe. the default is --retries=2, so a host gets pinged 3 times before she concludes it's not responding. give them a fair chance, you know? 🫢
  • --timeout=N β€” determines the timeout (in seconds) for ping probes. if a host doesn't respond within N seconds, it's regarded as unavailable β€” unless it responds to one of the retries. the default is --timeout=5. ⏰
  • --responses=N β€” so normally xymonping stops pinging a host after receiving a single response, and uses that to determine the round-trip time. but if the first response takes longer to arrive β€” e.g. because of additional network overhead when first determining the route to the target host β€” it may skew the round-trip-time reports. πŸ’€ you can then use this option to require N responses, and xymonping will calculate the round-trip time as the average of all of responsetimes. math queen. πŸ‘‘
  • --max-pps=N β€” maximum number of packets per second. this limits the number of ICMP packets xymonping will send per second, by enforcing a brief delay after each packet is sent. the default setting is to send a maximum of 50 packets per second.
⚠️ note that increasing this may cause flooding of the network, and since ICMP packets can be discarded by routers and other network equipment, this can cause erratic behaviour with hosts recorded as not responding when they are in fact OK. so like… be chill about it, bestie. 😭
  • --source=ADDRESS β€” use ADDRESS as the source IP address of the ping packets sent. on multi-homed systems, this allows you to select the source IP of the hosts going out, which might be necessary for ping to work. very "which one of my personalities is leaving the house today" of her. πŸŽ€
  • --debug β€” enable debug output. this prints out all packets sent and received. she's showing you her whole diary. πŸ™ˆ

🌈 SEE ALSO 🌈

xymon(7), xymonnet(1), fping(1)


okay that's the whole page bestie, you're officially educated πŸ’– this was Xymon, Version 4.3.30, dated 4 Sep 2019, and yes it's XYMONPING(1) β€” periodt. πŸ’…βœ¨

πŸ“¦ where this page comes from