Smokeping_probes_TCPPing(3)
Okay bestie, this is Smokeping_probes_TCPPing(3) β the manual for Smokeping::probes::TCPPing, aka the TCPPing Probe for SmokePing. Grab your strawberry drink π, because weβre going through every single detail and itβs gonna slay.
πΈ NAME πΈ
Smokeping::probes::TCPPing β TCPPing Probe for SmokePing. Periodt.
β¨ SYNOPSIS β¨
*** Probes ***
+TCPPing
binary = /usr/bin/tcpping # mandatory
forks = 5
offset = 50%
step = 300
timeout = 15
# The following variables can be overridden in each target section
/^influx_.+/ = influx_location = In the basement
pings = 5
port = 80
# [...]
*** Targets ***
probe = TCPPing # if this should be the default probe
# [...]
+ mytarget
# probe = TCPPing # if the default probe is something else
host = my.host
/^influx_.+/ = influx_location = In the basement
pings = 5
port = 80
π¦ DESCRIPTION π¦
This page integrates TCPPing as a probe into smokeping. The variable binary must point to your copy of the TCPPing program. If itβs not installed on your system yet, you can get it from https://github.com/deajan/tcpping.
The (optional) port option lets you configure the port for the pings sent. The TCPPing manpage has the following to say on this topic:
The problem is that with the widespread use of firewalls on the modern Internet, many of the packets thattraceroute(8)sends out end up being filtered, making it impossible to completely trace the path to the destination. However, in many cases, these firewalls will permit inbound TCP packets to specific ports that hosts sitting behind the firewall are listening for connections on. By sending out TCP SYN packets instead of UDP or ICMP ECHO packets,tcptracerouteis able to bypass the most common firewall filters.
It is worth noting thattcptraceroutenever completely establishes a TCP connection with the destination host. If the host is not listening for incoming connections, it will respond with an RST indicating that the port is closed. If the host instead responds with a SYN|ACK, the port is known to be open, and an RST is sent by the kerneltcptracerouteis running on to tear down the connection without completing three-way handshake. This is the same half-open scanning technique thatnmap(1)uses when passed the-sSflag.
π VARIABLES π
β¨ Supported probe-specific variables β¨
binaryβ The location of your tcpping script. Example value:/usr/bin/tcpping. This setting is mandatory. πforksβ Run this many concurrent processes at maximum. Example value:5. Default value:5.offsetβ If you run many probes concurrently you may want to prevent them from hitting your network all at the same time. Using the probe-specificoffsetparameter you can change the point in time when each probe will be run. Offset is specified in % of total interval, or alternatively as'random', and the offset from the'General'section is used if nothing is specified here. Note that this does NOT influence the rrds itself, it is just a matter of when data acquisition is initiated. (This variable is only applicable if the variable'concurrentprobes'is set in the'General'section.) Example value:50%.stepβ Duration of the base interval that this probe should use, if different from the one specified in the'Database'section. Note that the step in the RRD files is fixed when they are originally generated, and if you change the step parameter afterwards, youβll have to delete the old RRD files or somehow convert them. (This variable is only applicable if the variable'concurrentprobes'is set in the'General'section.) Example value:300.timeoutβ How long a single'ping'takes at maximum. Example value:15. Default value:5.
π Supported target-specific variables π
/^influx_.+/β This is a tag that will be sent to influxdb and has no impact on the probe measurement. The tag name will be sent without the"influx_"prefix, which will be replaced with"tag_"instead. Tags can be used for filtering. Example value:influx_location = In the basement.pingsβ How many pings should be sent to each target, if different from the global value specified in theDatabasesection. Note that the number of pings in the RRD files is fixed when they are originally generated, and if you change this parameter afterwards, youβll have to delete the old RRD files or somehow convert them. Example value:5.portβ The TCP port the probe should measure. Example value:80.
π AUTHORS π
Norman Rasmussen <norman@rasmussen.co.za> β patched for Smokeping 2.x compatibility by Anton Chernev <maznio@doom.bg>. Iconic collaboration energy π«Ά.
SmokePing 2.9.0, dated 2025-06-30 β thatβs the source/version and date sign-off, bestie. Bye, go measure a TCP port and serve π
β¨
π¦ where this page comes from
- alpine 3.23: smokeping-doc 2.9.0-r1 Β· GPL-2.0-or-later
- alpine 3.24: smokeping-doc 2.9.0-r1 Β· GPL-2.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms