SMOKEPING(1)
β¨ SMOKEPING(1) β¨
okay so bestie, you've stumbled into the SmokePing corner of the manual pages (section 1, we're fancy like that) β let me tell you everything π
π NAME π
smokeping β the commandline tool for SmokePing. literally the main character of the CLI world π«Ά
πΈ SYNOPSIS πΈ
smokeping [ --email | --makepod | --version | --restart ]
Options:
--man[=x]β shows you the manpage for the program (or for probe x, if you specify one) π--helpβ help :-) that's it, that's the whole vibe--emailβ sends SmokePing Agents to all Targets markedDYNAMICβοΈ--config=xβ use a config file different from the default--checkβ just checks the config file syntax, does not start the daemon (a lil vibe check, nothing more) β--makepod[=x]β creates POD documentation on the config file (or for probe x, if you specify one)--versionβ shows the SmokePing Version--debugβ run only once and do not fork π--debug-daemonβ starts the daemon with debugging enabled--restartβ restarts SmokePing--reloadβ reloads configuration in the running process without interrupting any probes β no cap, zero disruption π--nodaemonβ does not daemonize the process (no fork)--filter=xβ only measures entries which pass the filter x--logfile=xβ appends warnings to logfile x--static[=x]β generates a static website in directory x. If x is left out,pagedirfrom the config is used π--nosleepβ for debugging you may want to run SmokePing without a sleep interval π΄β--gen-examplesβ generates thesmokeping_examplesdocument and example config files (to be used while building inside the smokeping distribution). With--check: checks the syntax of the generated examples.--master-url=sβ runs smokeping in slave mode, attaching to master for config--slave-name=sβ by default the slave will use whatever it thinks its name is when talking to its master. In some cases you may probably want to override this.--shared-secret=sβ file containing the shared secret for talking to the server π--cache-dir=sβ directory for temporary data storage when running in slave mode--pid-dir=sβ directory for the PID file when running in slave mode (optional, defaults to--cache-dir)
π¦ DESCRIPTION π¦
So the smokeping tool is the commandline part of the SmokePing system, and its whole main-character job is to run as a daemon and send Pings to all the Targets you specified in the Config file. When you call smokeping with no arguments at all? It just starts up as a daemon and does its work. iconic behaviour, tbh π
But if you do call it with an argument, then a whole bunch of other functions unlock, as you can see in the Synopsis above. The --email function is explained in the documentation on the config file, iykyk.
Now the --filter option β this one's lowkey genius. It lets you run the daemon on a big config file, but have the config file filtered, so it only measures the entries that pass the filter. Super useful for remote measurement. Run Smokeping with two exclusive filters in two locations and rsync the rrds back to the webserver host where you run the cgi. Filters act on the section names in the config file. Multiple section names are concatenated with / like path names:
*** targets ***
+ A
....
+ B
...
++ C
This gives
/A
and
/B, /B/C
So if I want to monitor /A, my filter would look like this:
--filter=/A
Filters follow regular expression syntax. They are always anchored at the tip of the string. By adding a ! to the front of the filter string you negate it β matching entries will be excluded from monitoring. Multiple --filter arguments can be used to assemble complex filters:
--filter=/A --filter=/B
would include all the targets, and
--filter=/A --filter=/B --filter=!/B/C
would include all but /B/C. slay π
The --makepod does get used internally to produce the documentation on the SmokePing configuration file. and please refer to the installation document for detailed setup instructions, bestie π
π§ SETUP π§
When installing SmokePing, this file has to be adjusted to fit your local system. Three paths have to be entered, so pay attention π₯
One pointing to your rrdtool installation:
use lib qw(/usr/pack/rrdtool-1.0.33-to/lib/perl);
One pointing to the place where you have installed the SmokePing libraries:
use lib qw(/home/oetiker/public_html/smokeping/lib);
The third path is the argument to the Smokeping::main command. It points to the SmokePing configuration file:
use Smokeping;
Smokeping::main("/home/oetiker/.smokeping/config");
π SEE ALSO π
go read these too, they're all part of the lore:
smokeping_config(5)smokeping_examples(5)smokeping_cgi(1)tSmoke(1)smokeping_master_slave(7)smokeping_extend(7)smokeping_install(7)smokeping_upgrade(7)- How to read the graphs β https://oss.oetiker.ch/smokeping/doc/reading.en.html
π COPYRIGHT π
Copyright (c) 2002 by Tobias Oetiker. All right reserved.
β LICENSE β
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
π AUTHOR π
Tobias Oetiker <tobi@oetiker.ch>
and that's the whole page babes π β this gem is version 2.9.0, dated 2025-06-30, and it's giving "SMOKEPING(1)" energy all the way down. go ping something pretty πβ¨
π¦ 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