Smokeping_probes_FTPtransfer(3)
π Smokeping_probes_FTPtransfer(3) β the SmokePing manual, bestie edition
okay so this is the Smokeping_probes_FTPtransfer(3) page from the SmokePing manual, and honestly? it's giving "chaotic but iconic" β¨ it's the β¨ NAME β¨ section energy: Smokeping::probes::FTPtransfer β the intrusive bandwidth probe. yes bestie, INTRUSIVE. it literally shoves real files across the wire. π«Ά
πΈ OVERVIEW πΈ
So this probe basically sends files to and retrieves files from an ftp server, and then it plots the bandwidth it could use. That's it. That's the whole vibe. ππ
β¨ SYNOPSIS β¨
okay here's the config layout, copy it exactly fr fr:
*** Probes ***
+FTPtransfer
destfile = path/to/destinationfile.xxx
forks = 5
min_interval = 1
mode = get # mandatory
offset = 50%
passwordfile = /some/place/secret
srcfile = src/path/mybig.pdf # mandatory
step = 300
timeout = 15 # mandatory
# The following variables can be overridden in each target section
/^influx_.+/ = influx_location = In the basement
localaddr = myhost-nat-if
passive = yes
password = test-password
pings = 5
port = 3255
timeout = 10
username = test-user
# [...]
*** Targets ***
probe = FTPtransfer # if this should be the default probe
# [...]
+ mytarget
# probe = FTPtransfer # if the default probe is something else
host = my.host
/^influx_.+/ = influx_location = In the basement
localaddr = myhost-nat-if
passive = yes
password = test-password
pings = 5
port = 3255
timeout = 10
username = test-user
π¦ DESCRIPTION π¦
So the probe uses the Net::FTP perl client to run performance tests, and the target is an FTP server. π― And yes β this probe is intrusive, because it transfers real data. The whole point is that by using actual real files, we get a fair shot at figuring out what a link can actually do when it comes to transferring actual files. no cap, real data = real answers. πβ¨
Now, the password situation β there are three places it can live, and they go in order of precedence, with each one overriding the one before it:
- the probe-specific variable
password - an external file
- the target-specific variable
password
The location of that external file? That's given in the probe-specific variable passwordfile. ποΈ The format of the file is documented in Smokeping::probes::passwordchecker(3pm) β summary: colon-separated triplets of the form <host>:<username>:<password> π
The probe tries to be nice to the server π₯Ί and waits at least X seconds between starting filetransfers, where X is the value of the probe-specific min_interval variable (1 by default).
Many variables can be specified either in the probe or in the target definition β and the target-specific variable will override the probe-specific variable. π
If your transfer takes a lot of time, you may want to make sure to set the timeout and max_rtt properly so that smokeping does not abort the transfers or limit the graph size. β°π
π VARIABLES π
π Supported probe-specific variables
destfileβ Normally the destination filename is the same as the source filename (without the path). But if you want keep files in different directories, this may not work, and you have to specifydestfileas well. π Example value:path/to/destinationfile.xxxforksβ Run this many concurrent processes at maximum. πββοΈπββοΈ Example value:5Default value:5min_intervalβ The minimum interval between each starting ftp sessions, in seconds. β³ Default value:1modeβ The ftp probe can be in eitherputorgetmode. If it's inputmode then it will send a file to the ftp server. Ingetmode it will retrieve a file from the ftp server. π€π₯ Example value:getThis setting is mandatory. π¨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-specific offset parameter 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 themselves β 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%passwordfileβ Location of the file containing usernames and passwords. π Example value:/some/place/secretsrcfileβ The name of the source file. If the probe is inputmode, this file has to be on the local machine; if the probe is ingetmode then this file should sit in the remote ftp account. π Example value:src/path/mybig.pdfThis setting is mandatory. π¨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 thestepparameter 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:300timeoutβ The timeout is the maximum amount of time you will allow the probe to transfer the file. If the probe does not succeed to transfer in the time specified, it will get killed and a'loss'will be logged. π Since FTPtransfer is an invasive probe you should make sure you do not load the link for more than a few seconds anyway. Smokeping currently has a hard limit of180seconds for any RTT. β±οΈ Example value:15This setting is mandatory. π¨
π 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 basementlocaladdrβ The local address to be used when making connections. π Example value:myhost-nat-ifpassiveβ Use passive FTP protocol. π΄ Example value:yespasswordβ The password for the user, if not present in the password file. π Example value:test-passwordpingsβ 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:5portβ A non-standard FTP port to be used. π Example value:3255timeoutβ Timeout in seconds for the FTP transfer to complete. β³ Example value:10usernameβ The username to be tested. π€ Example value:test-user
π AUTHORS π
Tobias Oetiker <tobi@oetiker.ch> sponsored by Virtela π
π BUGS π
This probe has the capability for saturating your links, so don't use it unless you know what you are doing. π¨π
The FTPtransfer probe measures bandwidth, but we report the number of seconds it took to transfer the 'reference' file. Why? Because currently the notion of Round Trip Time is at the core of the application. It would take some re-engineering to split this out in plugins and thus make it configurable ... π«
β¨ and that's the whole page bestie β version 2.9.0, dated 2025-06-30, from the SmokePing Smokeping_probes_FTPtransfer(3) manual. go forth and transfer files responsibly, mwah π
ππ¦
π¦ 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