This commit is contained in:
root
2025-11-07 11:31:06 +00:00
commit 2859f93882
407 changed files with 99769 additions and 0 deletions

View File

@@ -0,0 +1,89 @@
smokeping (2.9.0+linuxiarz.pl-1) unstable; urgency=medium
[ linuxiarz.pl ]
* Bump to 2.9.0
smokeping (2.8.2+ds-1) unstable; urgency=medium
[ Gabriel Filion ]
* New upstream version (Closes: #1004308, #740852)
* All patches that were merged upstream were removed
* Add an example lighttpd configuration file for smokeping (Closes: #961950)
* Import upstream patch to fix curl probes (Closes: #986068)
* Avoid errors with ucf/ucfr during postrm (Closes: #1005807)
* New required library libobject-result-perl for influxdb
* Remove obsolete dependency on lsb-base
* fix lintian warning about unmatched news entry
* lintian-overrides are now obsolete
* Clear out copyright details for files removed in repack
* Patch out building of 3rd-party js libs
* Revert "fix lintian warning about unmatched news entry"
[ Debian Janitor ]
* Bump debhelper from old 12 to 13.
* Update standards version to 4.6.1, no changes needed.
-- Gabriel Filion <gabster@lelutin.ca> Sun, 04 Feb 2024 14:54:09 -0500
smokeping (2.7.3-4) unstable; urgency=low
[ Debian Janitor ]
* Trim trailing whitespace.
* Bump debhelper from old 10 to 12.
* Set debhelper-compat version in Build-Depends.
* Drop unnecessary dependency on dh-autoreconf.
* Update standards version to 4.5.0, no changes needed.
[ Gabriel Filion ]
* Import patch that disables refresh while zooming (Closes:#981348)
* Import patch disabling rsa1 and enabling ecdsa for ssh probe (Closes:
#962225)
-- Gabriel Filion <gabriel@koumbit.org> Sun, 24 Apr 2022 14:44:58 -0400
smokeping (2.7.3-3) unstable; urgency=medium
[ Gabriel Filion ]
* start generating smokeinfo manpage
* postrm: purge, removal of apache2/conf.d/smokeping not needed anymore
* make css and js load from the /smokeping alias (closes: #929515)
* change fix-conf-paths patch to point the daemon to /run/smokeping for its
pid indead of /var/run/smokeping
[ Matteo F. Vescovi ]
* debian/patches/: fix-alert-edgetriggers added (Closes: #934170)
-- Gabriel Filion <gabriel@koumbit.org> Sat, 11 Jul 2020 00:00:19 +0200
smokeping (2.7.3-2) unstable; urgency=medium
[ Gabriel Filion ]
* systemd: run service as smokeping user
The systemd service unit file that was introduced in 2.7.3-1 didn't setup
user and group properly for the service, and the daemon was running as root.
This is now corrected, but it might mean that some files were created by and
are owned by root. To fix this, you can use the following command:
.
find /var/lib/smokeping/ -mindepth 1 -name '__cgi' -prune -o \
-exec chown smokeping:smokeping {} \;
* missing-VERSION forwarded and merged upstream
* patch "fix-400d-graph" forwarded and merged upstream
* rename patch path_changes to make its name more meaningful
* reduce javascript_path_changes to the strict minimum
* fix-perl-lib: indicate that the patch shouldn't be forwarded
* proper-samle-conf: indicate that it shouldn't be forwarded
* make commands invoked in rules more verbose as per policy version 4.2.0
* use https for the homepage
* Bump Standards-Version to 4.3.0
* merge both patches that hardcode config path
* init.d: match on pidfile only prevents service stop (closes: #922395)
* systemd: move example for slave mode in the examples dir
* control: erroneous and duplicated mention of default mta
[ Sven Hartge ]
* Change group of secrets file for slaves to www-data (Closes: #760945)
-- Gabriel Filion <gabriel@koumbit.org> Sat, 23 Feb 2019 19:54:18 -0500
# Older entries have been removed from this changelog.
# To read the complete changelog use `apt changelog smokeping`.

View File

@@ -0,0 +1 @@
./README.md

View File

@@ -0,0 +1,9 @@
./doc/examples/config.echoping
./doc/examples/config.fping-instances
./doc/examples/config.multiple-probes
./doc/examples/config.simple
./doc/examples/config.targetvars-with-Curl
./doc/examples/config.template
./etc/smokeping_secrets.dist
./debian/systemd
./debian/lighttpd_45-smokeping.conf

View File

@@ -0,0 +1,43 @@
# Automatically added by dh_installinit/13.24.2
if [ "$1" = "configure" ] || [ "$1" = "abort-upgrade" ] || [ "$1" = "abort-deconfigure" ] || [ "$1" = "abort-remove" ] ; then
if [ -z "$DPKG_ROOT" ] && [ -x "/etc/init.d/smokeping" ]; then
update-rc.d smokeping defaults >/dev/null
if [ -n "$2" ]; then
_dh_action=restart
else
_dh_action=start
fi
invoke-rc.d --skip-systemd-native smokeping $_dh_action || exit 1
fi
fi
# End automatically added section
# Automatically added by dh_installsystemd/13.24.2
if [ "$1" = "configure" ] || [ "$1" = "abort-upgrade" ] || [ "$1" = "abort-deconfigure" ] || [ "$1" = "abort-remove" ] ; then
# The following line should be removed in trixie or trixie+1
deb-systemd-helper unmask 'smokeping.service' >/dev/null || true
# was-enabled defaults to true, so new installations run enable.
if deb-systemd-helper --quiet was-enabled 'smokeping.service'; then
# Enables the unit on first installation, creates new
# symlinks on upgrades if the unit file has changed.
deb-systemd-helper enable 'smokeping.service' >/dev/null || true
else
# Update the statefile to add new symlinks (if any), which need to be
# cleaned up on purge. Also remove old symlinks.
deb-systemd-helper update-state 'smokeping.service' >/dev/null || true
fi
fi
# End automatically added section
# Automatically added by dh_installsystemd/13.24.2
if [ "$1" = "configure" ] || [ "$1" = "abort-upgrade" ] || [ "$1" = "abort-deconfigure" ] || [ "$1" = "abort-remove" ] ; then
if [ -d /run/systemd/system ]; then
systemctl --system daemon-reload >/dev/null || true
if [ -n "$2" ]; then
_dh_action=restart
else
_dh_action=start
fi
deb-systemd-invoke $_dh_action 'smokeping.service' >/dev/null || true
fi
fi
# End automatically added section

View File

@@ -0,0 +1,8 @@
# Automatically added by dh_installinit/13.24.2
if [ "$1" = "remove" ] && [ -x "/etc/init.d/smokeping" ] ; then
chmod -x "/etc/init.d/smokeping" >/dev/null || true
fi
if [ -z "$DPKG_ROOT" ] && [ "$1" = "purge" ] ; then
update-rc.d smokeping remove >/dev/null
fi
# End automatically added section

View File

@@ -0,0 +1,5 @@
# Automatically added by dh_installinit/13.24.2
if [ "$1" = "install" ] && [ -n "$2" ] && [ -e "/etc/init.d/smokeping" ] ; then
chmod +x "/etc/init.d/smokeping" >/dev/null || true
fi
# End automatically added section

View File

@@ -0,0 +1,10 @@
# Automatically added by dh_installsystemd/13.24.2
if [ -z "$DPKG_ROOT" ] && [ "$1" = remove ] && [ -d /run/systemd/system ] ; then
deb-systemd-invoke stop 'smokeping.service' >/dev/null || true
fi
# End automatically added section
# Automatically added by dh_installinit/13.24.2
if [ -z "$DPKG_ROOT" ] && [ "$1" = remove ] && [ -x "/etc/init.d/smokeping" ] ; then
invoke-rc.d --skip-systemd-native smokeping stop || exit 1
fi
# End automatically added section

77
debian/NEWS vendored Normal file
View File

@@ -0,0 +1,77 @@
smokeping (2.6.5-1~experimental0) experimental; urgency=low
Instead of bundling our own configuration which constantly had to be
maintained in sync with upstream, we ship modified versions of the
upstream configuration files, which are now automatically split in
separate sections during build. This will lead to false positive in
configuration file changes, but just this one time, as we transition
away from ucf for config file management.
.
If you are upgrading from versions previous to 2.3.6-5 (in Lenny!), you
may have problems migrating your configuration. Make sure you at least
hit 2.3.6 packages to have a smooth upgrade as some compatibility bits
have been removed.
-- Antoine Beaupré <anarcat@debian.org> Sun, 13 Nov 2011 18:28:22 -0500
smokeping (2.3.6-4) unstable; urgency=low
The file hierarchy available to the web server has been moved
away from /var/www, which was a non-standard location. The recommended
way to set up the web part of Smokeping is to use the Apache2 configuration
supplied in /etc/smokeping/apache2.conf. This is done automatically
on new installations, see the README.Debian file.
.
Although the upgrade procedure tries to keep old setups working
with symlinks, make sure to merge the pathname changes in
/etc/smokeping/config.d/pathnames. Deleting /var/www/smokeping
afterwards should be safe if you have no manually added content there.
.
The recommended URL path to the CGI script is now /smokeping/smokeping.cgi
rather than /cgi-bin/smokeping.cgi. The latter should still work
through a symlink.
.
.
The default character set in /etc/smokeping/config.d/Presentation has
been changed to UTF-8. If you were relying on the former ISO-8859-15
setting, just edit the file to reflect this.
-- Niko Tyni <ntyni@debian.org> Tue, 21 Jul 2009 20:17:24 +0300
smokeping (2.3.5-1) experimental; urgency=low
The configuration file, /etc/smokeping/config, has been split into
subsection snippets in /etc/smokeping/config.d to ease merging of
configuration changes. The installation scripts will automatically
split the old configuration on upgrades, but the split won't take
effect unless ucf is allowed to overwrite /etc/smokeping/config.
.
This version also includes packaging changes to make the new
master/slave functionality work. A new directory, /var/lib/smokeping/__cgi,
has been created so that the CGI on a master host can queue up
ping results received from its slaves. The main Smokeping daemon
will then monitor the queue and update the RRD files accordingly.
.
Make sure to merge the new 'dyndir' and 'precreateperms' General section
variables on upgrades, otherwise the master/slave functionality (and
most probably also the old DYNAMIC host functionality) will not work.
-- Niko Tyni <ntyni@debian.org> Sat, 29 Mar 2008 23:39:33 +0200
smokeping (2.0.8-3) unstable; urgency=low
When upgrading from Smokeping versions 1.x to 2.x, you may have to edit
the configuration file /etc/smokeping/config. The most common incompatibility
is that the 'PROBE_CONF' lines are neither needed nor accepted anymore. Simply
deleting these lines is sufficient.
There are some other small incompatibilities; a list of those can be found
in the smokeping_upgrade(7) document. As the Smokeping configuration file
parser is now much more strict than in 1.x, the daemon complains about
these at startup and refuses to start.
(This entry applies to all Smokeping 2.x versions, but was only added in
version 2.0.8-3.)
-- Niko Tyni <ntyni@iki.fi> Sun, 28 May 2006 22:30:53 +0300

22
debian/README.Debian vendored Normal file
View File

@@ -0,0 +1,22 @@
After installing the package you have to edit the files in
/etc/smokeping/config.d to set your preferences.
Note that the domain names are bogus to avoid all the people who
install the package DoSing the same servers, but at the same time an
fping probe in localhost is enabled, so you can check if smokeping
works for you.
You can also edit the file /etc/smokeping/basepage.html to suit your
needs.
A FastCGI configuration might be desirable for large sites. Simply add
this to the Apache configuration, in /etc/apache2/conf-available/smokeping.conf:
<Location /smokeping/smokeping.cgi>
SetHandler fcgid-script
</Location>
Please refer to the smokeping_config man page to see all the available
options.
-- Antoine Beaupré <anarcat@debian.org>, Sat, 12 May 2018 16:02:25 -0400

9
debian/README.source vendored Normal file
View File

@@ -0,0 +1,9 @@
smokeping for Debian
--------------------
This package is maintained through git, but patches are applied through
quilt, in debian/patches/.
To update to the new upstream, use git-import-orig --uscan.
-- Antoine Beaupré <anarcat@debian.org>, Sat, 26 Feb 2012 13:20:51 -0500

12
debian/TODO vendored Normal file
View File

@@ -0,0 +1,12 @@
The following issues need to be fixed:
* fast-cgi should be default
* review upstream changes since last release, esp. config changes
* do not prompt for modifications on the files:
- Slaves
- General
- basepage.html
- this is very hard. we would need to fix the checksum in
/var/lib/dpkg/status, which doesn't seem to be doable
programmatically. See dpkg/src/configure.c:336 to see how this
works better.

142
debian/autoreconf.after vendored Normal file
View File

@@ -0,0 +1,142 @@
129546fe4287e256e267cb5a6d27f35b ./CHANGES
9f1c1c3412cba9c5c0fbf6af16656127 ./aclocal.m4
3b8c6e97fc73993cbb89be7ab9a136ff ./configure
e1cbcec71e50595b705ff09f50d99bf2 ./README.md
1b173bf7a0a9360b7405c47ddce873c5 ./VERSION
92e5ed4a6c67e54a7162fde587beb49d ./TODO
b6538500b8c7d36d0864fb16751574bb ./configure.ac
8ba29f9a8f5cd5a8904dd790c3cbec29 ./thirdparty/cpanfile-5.38.snapshot
9c6f688be5527bf780e4e37ecd1c39c7 ./thirdparty/Makefile.in
19770f137f08138ec90a212679805033 ./thirdparty/Makefile.am
fef8eee66f66d40303a2c1f878f19929 ./autom4te.cache/requests
a4d45f576897f28acee3b65ae11ad61d ./autom4te.cache/output.2
504fc05a6aa5caedf0ace19953f533ee ./autom4te.cache/traces.2
f444d3ae8cb3caf128c2749e17941a47 ./autom4te.cache/output.0
a7f46a668c2c825f1859935b7ba48367 ./autom4te.cache/output.1
62c71c73c6b8e73ceabafe75f7d250ac ./autom4te.cache/traces.0
504fc05a6aa5caedf0ace19953f533ee ./autom4te.cache/traces.1
2339c0ab7afcfd5d895a292829b7e461 ./CONTRIBUTORS
8683b98a6aeb8b041085b983f539f59f ./bin/smokeinfo
b54cd27351fcbf3a72c0a5224bf3ed0a ./bin/smokeping_cgi
342a78bc86282443477742760433e8d6 ./bin/tSmoke
1bb25893188454b02e3e143672bb4aec ./bin/smokeping
eacf1a022d4942e78fb515384cbf54f5 ./bin/Makefile.in
06576d558fadfe4d9ecb619b966b9c57 ./bin/Makefile.am
9083c1f68b09e5653842e9f9c86fe7c0 ./doc/smokeping_install.pod
b1a2b28272d7d4decc58c27a6f5cd97d ./doc/smokeping_extend.pod
b8fc311736fe86d27f114ac7ba3505df ./doc/smokeping_master_slave.pod
552b25b825a6d722a6ee32a6bc7df7e6 ./doc/smokeping_install.txt
bb3fc39164bd44704650cc650e434db7 ./doc/Makefile.in
7dbb01c4261e4a862d33b7884df17653 ./doc/Makefile.am
ea23673e9191b0eaf62331e7557451f8 ./doc/smokeping_upgrade.pod
6efd1989ec82c270e2a65466472f9038 ./lib/SNMP_Session.pm
c6ea0ad89e3104d3f443f5a15463e46c ./lib/SNMP_util.pm
dad3c12c69c46fc40cb03eae55f70bc5 ./lib/Smokeping.pm
aa38784e396ff79b7701411c3a5690fa ./lib/Smokeping/Master.pm
7fb5e259df686acb83daacd7708a72a9 ./lib/Smokeping/Examples.pm
affa12d68e79a45a82635683686673d5 ./lib/Smokeping/Config.pm
6ca9a74149bbeda25588d81a885aafac ./lib/Smokeping/ciscoRttMonMIB.pm
4840b6be3abeea9cd8f4773da3649632 ./lib/Smokeping/RRDtools.pm
947f5dd1457ebcb7f5901ec475428e77 ./lib/Smokeping/probes/NFSping.pm
b1502dd807100f8aafd97e85d12a2110 ./lib/Smokeping/probes/EchoPing.pm
c16790651d98eb85ecc2692d001a23dd ./lib/Smokeping/probes/FPingContinuous.pm
2c9a0cac05ddd312a5656dd3eeed4462 ./lib/Smokeping/probes/FPing.pm
f3148ac862ddf308ffdfa6b98b1e4454 ./lib/Smokeping/probes/skel.pm
fa25895772c5d14031e36ef1164bd138 ./lib/Smokeping/probes/base.pm
2243990ce8eed9db07845671a7a46f37 ./lib/Smokeping/probes/LDAP.pm
1bfbd2c8d1b646fda4cd915b72dec62d ./lib/Smokeping/probes/passwordchecker.pm
7745c7902518a6ac7bebbed22ddfd82f ./lib/Smokeping/probes/EchoPingIcp.pm
001b86134c2788eb6716f8155931b4ef ./lib/Smokeping/probes/EchoPingDNS.pm
0abb73c4155c1b1aac6bdc84da4e35d1 ./lib/Smokeping/probes/Radius.pm
d4d56290d9a5f248f43103054e73b2f9 ./lib/Smokeping/probes/DismanPing.pm
5534b5594c794a8e35d81c42f9f104fb ./lib/Smokeping/probes/Qstat.pm
7bf83c131ec66df9ecb71903b2171be3 ./lib/Smokeping/probes/EchoPingHttps.pm
1e4fccbd6802b2a2e40d6960c3b06c8d ./lib/Smokeping/probes/TCPPing.pm
c39943e17c351729f59a1e6af79e8b96 ./lib/Smokeping/probes/EchoPingChargen.pm
1521777598df8965907927eb92c3e408 ./lib/Smokeping/probes/FTPtransfer.pm
e8ee4043da2e34980783301350fb6ee8 ./lib/Smokeping/probes/EchoPingPlugin.pm
59c2a5701010c38c00f95e2a3eb6dd40 ./lib/Smokeping/probes/TelnetIOSPing.pm
2f9f3f0fdae60d0b812ed8494bb495a4 ./lib/Smokeping/probes/RemoteFPing.pm
5cae2fd9ad9ff93c9a2969cf60903f46 ./lib/Smokeping/probes/EchoPingSmtp.pm
4818fed56c1d7afd5b887f164a682630 ./lib/Smokeping/probes/TelnetJunOSPing.pm
6c3e91d404bae0191320c425e3c9cada ./lib/Smokeping/probes/IRTT.pm
8fe659bc4b1db1e4b7a370a4bb95eddb ./lib/Smokeping/probes/CiscoRTTMonEchoICMP.pm
9f581fbab087d0a576260f0d79273310 ./lib/Smokeping/probes/TraceroutePing.pm
788c288e521072d6bec0ee33b1f49384 ./lib/Smokeping/probes/DNS.pm
2300f76af8d86de1a640c03a70375497 ./lib/Smokeping/probes/basefork.pm
40718aab8cdbc7cb4760386476e8c1cd ./lib/Smokeping/probes/TacacsPlus.pm
ad971c0c2f08b53c4fe5da5baf434b2a ./lib/Smokeping/probes/EchoPingDiscard.pm
a1d417dd6664100d9c7cdd671e2487a2 ./lib/Smokeping/probes/AnotherCurl.pm
3965ee85c715e289737f2278236590b1 ./lib/Smokeping/probes/OpenSSHJunOSPing.pm
9c046a63424618ac3fc6abeace84f561 ./lib/Smokeping/probes/CiscoRTTMonDNS.pm
3ee5f11dd635f54d04137db332ba8186 ./lib/Smokeping/probes/SSH.pm
31e949250005ff133a85262260d9e77b ./lib/Smokeping/probes/EchoPingHttp.pm
382cd82f0b8c779ba3fc0e78180b7456 ./lib/Smokeping/probes/SendEmail.pm
583202540b57e6883d7a120477559e69 ./lib/Smokeping/probes/IOSPing.pm
b079e26ad4e054dc5fde13c9c473fea0 ./lib/Smokeping/probes/WebProxyFilter.pm
38b0f60e322c4edb0495238b3864dcaa ./lib/Smokeping/probes/AnotherDNS.pm
386baa69338b1dddc2ab202c6e454e43 ./lib/Smokeping/probes/Curl.pm
d1bb3426744b26fcec326b1652f175c0 ./lib/Smokeping/probes/OpenSSHEOSPing.pm
22d4d89cb89d09ca1252915251bf53fa ./lib/Smokeping/probes/AnotherSSH.pm
f58ebe194cb6d2313c59b86c02d654f2 ./lib/Smokeping/probes/CiscoRTTMonTcpConnect.pm
8f77dbf0c925913ce83e184a4e6187d4 ./lib/Smokeping/probes/FPing6.pm
f3c010af1de08141c91e3aedf53181da ./lib/Smokeping/probes/EchoPingLDAP.pm
4f389d382ac14503322c617e37e7636c ./lib/Smokeping/probes/EchoPingWhois.pm
5ebc965d50d4601f51239caeddf0e352 ./lib/Smokeping/probes/basevars.pm
303869aad39ec0eaa977dc665b4be679 ./lib/Smokeping/probes/SipSak.pm
8d2752f301f4f73e006724deb1f77f33 ./lib/Smokeping/pingMIB.pm
5d1510802e13a09fa6d5cdb61a2ed973 ./lib/Smokeping/Slave.pm
e4590791ff48d9d3c2e8af7d4cc89537 ./lib/Smokeping/sorters/base.pm
ab05eee799a3f7dd3ad55552ebcf9005 ./lib/Smokeping/sorters/Loss.pm
8df66ecffb3d99a83853a95fcb93ca9e ./lib/Smokeping/sorters/Median.pm
b7b48ab6ee96cade6e4aee63a6229963 ./lib/Smokeping/sorters/StdDev.pm
b0ee00e7ded5d2244074da936081a5f8 ./lib/Smokeping/sorters/Max.pm
000bb41739ce475ac0db7aebeaec4cb6 ./lib/Smokeping/RRDhelpers.pm
74dc0a7e83f7e5033dcaa59f452fc11b ./lib/Smokeping/Colorspace.pm
40d9a0d2effcd59d89bbcd893fe3f27a ./lib/Smokeping/Info.pm
8c67107c66f13565419f0641ee720f47 ./lib/Smokeping/matchers/base.pm
d70b48f27e5c9a1eb8e8f51c7a6f183a ./lib/Smokeping/matchers/Median.pm
0c680558c553638e7418cc44cbb76868 ./lib/Smokeping/matchers/ConsecutiveLoss.pm
ebf79b04b999b0eea95bcdc6a918c30d ./lib/Smokeping/matchers/CheckLoss.pm
0589f39cc33fb0a443bd947e00442c92 ./lib/Smokeping/matchers/Avgratio.pm
c9f37222afc9fab4ee9ad81c84349bfe ./lib/Smokeping/matchers/CheckLatency.pm
0e9d1d8a7a4d338152c50ff221e2f152 ./lib/Smokeping/matchers/ExpLoss.pm
71282e21e01fb6572a1859492dda2ea8 ./lib/Smokeping/matchers/Medratio.pm
9615f1119ac79d65c51997f5403b558f ./lib/Smokeping/Graphs.pm
1134871f6bbdb7d37b13eb019bb9e380 ./lib/BER.pm
4118f7b233d940612672b2480ea21a18 ./lib/Makefile.in
cd59ef3716e6e18e3e1f6464016c7533 ./lib/Makefile.am
52a3e83bba27640f6e858412fecf8907 ./cpanfile
18810669f13b87348459e611d31ab760 ./LICENSE
20a41dc90ae70beba75139b8200ae253 ./etc/smokeping_secrets.dist
35455c7e9a4762b47addc856ddb8d1cd ./etc/config.dist.in
0edf364b4e38bd545f4cf6ed27fd63f4 ./etc/smokemail.dist
9aefc38c817bc5a265a5b89845e7a283 ./etc/basepage.html.dist
efbb764be19184ddf3757b2beb1db31c ./etc/tmail.dist
71d6452487418f86028c6f10268ccb99 ./etc/Makefile.in
fdf16be02d3898935df6e9a30ad76de7 ./etc/Makefile.am
28b3c6fbfc9edb70ccafeb578cf7588a ./htdocs/js/cropper/cropper.uncompressed.js
8ef561662d9ad6cd36a534648663471c ./htdocs/js/cropper/cropper.css
2b2adfe6df6517f146b5b7c5b86eda42 ./htdocs/js/cropper/marqueeVert.gif
45bc30298a5f48aad53b4c3815d8a770 ./htdocs/js/cropper/cropper.js
9b4c27fccf817923f59b78fa6099c376 ./htdocs/js/cropper/marqueeHoriz.gif
7d22d8406c981b4d4542e8228f4178ca ./htdocs/js/cropper/licence.txt
09ef4d15cc7cdb31058181765c8820dd ./htdocs/js/scriptaculous/controls.js
bb13d308c65d4647946b0ed8d536390f ./htdocs/js/scriptaculous/scriptaculous.js
0f2db4e77f36d2ac2f1826a0c253f5cc ./htdocs/js/scriptaculous/builder.js
aecce9b9186bc24b80ff9e2403a94326 ./htdocs/js/scriptaculous/effects.js
8c03e76e44ccca0624cef4800f3ea7db ./htdocs/js/scriptaculous/dragdrop.js
65ade465b0b37ba9acdd3d722a0324ee ./htdocs/js/scriptaculous/unittest.js
eff549ad8f7495332f7ad6103658764c ./htdocs/js/scriptaculous/slider.js
f415e9ac8946878a499a174d945c898a ./htdocs/js/scriptaculous/sound.js
b3194289aa4d19188e036ec01d4d2c12 ./htdocs/js/smokeping.js
fb004124bf1ed724b26e6e188db7604e ./htdocs/js/prototype.js
5a3a81cf4d5c006de7b39e149e8aac30 ./htdocs/css/smokeping-print.css
6d82c4e7262a8b71c47e3221b72174b5 ./htdocs/css/smokeping-screen.css
d7bb88ec9d6582d282ba4d1c3f028206 ./htdocs/Makefile.in
1c5220b32f26668156bbbedece99bb70 ./htdocs/Makefile.am
71ff2adc5f257348787b6f06040cdd01 ./conftools/install-sh
9563d3c0a7949776e3aee6831ad2a560 ./conftools/missing
2a899d30e2a02a5275258b58503d129b ./Makefile.in
b2afdcfbea0fdc675c157e8119afb43b ./COPYRIGHT
cc8471e7aaf58248ca90931622339177 ./Makefile.am

124
debian/autoreconf.before vendored Normal file
View File

@@ -0,0 +1,124 @@
129546fe4287e256e267cb5a6d27f35b ./CHANGES
e1cbcec71e50595b705ff09f50d99bf2 ./README.md
1b173bf7a0a9360b7405c47ddce873c5 ./VERSION
92e5ed4a6c67e54a7162fde587beb49d ./TODO
b6538500b8c7d36d0864fb16751574bb ./configure.ac
8ba29f9a8f5cd5a8904dd790c3cbec29 ./thirdparty/cpanfile-5.38.snapshot
19770f137f08138ec90a212679805033 ./thirdparty/Makefile.am
2339c0ab7afcfd5d895a292829b7e461 ./CONTRIBUTORS
8683b98a6aeb8b041085b983f539f59f ./bin/smokeinfo
b54cd27351fcbf3a72c0a5224bf3ed0a ./bin/smokeping_cgi
342a78bc86282443477742760433e8d6 ./bin/tSmoke
1bb25893188454b02e3e143672bb4aec ./bin/smokeping
06576d558fadfe4d9ecb619b966b9c57 ./bin/Makefile.am
9083c1f68b09e5653842e9f9c86fe7c0 ./doc/smokeping_install.pod
b1a2b28272d7d4decc58c27a6f5cd97d ./doc/smokeping_extend.pod
b8fc311736fe86d27f114ac7ba3505df ./doc/smokeping_master_slave.pod
552b25b825a6d722a6ee32a6bc7df7e6 ./doc/smokeping_install.txt
7dbb01c4261e4a862d33b7884df17653 ./doc/Makefile.am
ea23673e9191b0eaf62331e7557451f8 ./doc/smokeping_upgrade.pod
6efd1989ec82c270e2a65466472f9038 ./lib/SNMP_Session.pm
c6ea0ad89e3104d3f443f5a15463e46c ./lib/SNMP_util.pm
dad3c12c69c46fc40cb03eae55f70bc5 ./lib/Smokeping.pm
aa38784e396ff79b7701411c3a5690fa ./lib/Smokeping/Master.pm
7fb5e259df686acb83daacd7708a72a9 ./lib/Smokeping/Examples.pm
affa12d68e79a45a82635683686673d5 ./lib/Smokeping/Config.pm
6ca9a74149bbeda25588d81a885aafac ./lib/Smokeping/ciscoRttMonMIB.pm
4840b6be3abeea9cd8f4773da3649632 ./lib/Smokeping/RRDtools.pm
947f5dd1457ebcb7f5901ec475428e77 ./lib/Smokeping/probes/NFSping.pm
b1502dd807100f8aafd97e85d12a2110 ./lib/Smokeping/probes/EchoPing.pm
c16790651d98eb85ecc2692d001a23dd ./lib/Smokeping/probes/FPingContinuous.pm
2c9a0cac05ddd312a5656dd3eeed4462 ./lib/Smokeping/probes/FPing.pm
f3148ac862ddf308ffdfa6b98b1e4454 ./lib/Smokeping/probes/skel.pm
fa25895772c5d14031e36ef1164bd138 ./lib/Smokeping/probes/base.pm
2243990ce8eed9db07845671a7a46f37 ./lib/Smokeping/probes/LDAP.pm
1bfbd2c8d1b646fda4cd915b72dec62d ./lib/Smokeping/probes/passwordchecker.pm
7745c7902518a6ac7bebbed22ddfd82f ./lib/Smokeping/probes/EchoPingIcp.pm
001b86134c2788eb6716f8155931b4ef ./lib/Smokeping/probes/EchoPingDNS.pm
0abb73c4155c1b1aac6bdc84da4e35d1 ./lib/Smokeping/probes/Radius.pm
d4d56290d9a5f248f43103054e73b2f9 ./lib/Smokeping/probes/DismanPing.pm
5534b5594c794a8e35d81c42f9f104fb ./lib/Smokeping/probes/Qstat.pm
7bf83c131ec66df9ecb71903b2171be3 ./lib/Smokeping/probes/EchoPingHttps.pm
1e4fccbd6802b2a2e40d6960c3b06c8d ./lib/Smokeping/probes/TCPPing.pm
c39943e17c351729f59a1e6af79e8b96 ./lib/Smokeping/probes/EchoPingChargen.pm
1521777598df8965907927eb92c3e408 ./lib/Smokeping/probes/FTPtransfer.pm
e8ee4043da2e34980783301350fb6ee8 ./lib/Smokeping/probes/EchoPingPlugin.pm
59c2a5701010c38c00f95e2a3eb6dd40 ./lib/Smokeping/probes/TelnetIOSPing.pm
2f9f3f0fdae60d0b812ed8494bb495a4 ./lib/Smokeping/probes/RemoteFPing.pm
5cae2fd9ad9ff93c9a2969cf60903f46 ./lib/Smokeping/probes/EchoPingSmtp.pm
4818fed56c1d7afd5b887f164a682630 ./lib/Smokeping/probes/TelnetJunOSPing.pm
6c3e91d404bae0191320c425e3c9cada ./lib/Smokeping/probes/IRTT.pm
8fe659bc4b1db1e4b7a370a4bb95eddb ./lib/Smokeping/probes/CiscoRTTMonEchoICMP.pm
9f581fbab087d0a576260f0d79273310 ./lib/Smokeping/probes/TraceroutePing.pm
788c288e521072d6bec0ee33b1f49384 ./lib/Smokeping/probes/DNS.pm
2300f76af8d86de1a640c03a70375497 ./lib/Smokeping/probes/basefork.pm
40718aab8cdbc7cb4760386476e8c1cd ./lib/Smokeping/probes/TacacsPlus.pm
ad971c0c2f08b53c4fe5da5baf434b2a ./lib/Smokeping/probes/EchoPingDiscard.pm
a1d417dd6664100d9c7cdd671e2487a2 ./lib/Smokeping/probes/AnotherCurl.pm
3965ee85c715e289737f2278236590b1 ./lib/Smokeping/probes/OpenSSHJunOSPing.pm
9c046a63424618ac3fc6abeace84f561 ./lib/Smokeping/probes/CiscoRTTMonDNS.pm
3ee5f11dd635f54d04137db332ba8186 ./lib/Smokeping/probes/SSH.pm
31e949250005ff133a85262260d9e77b ./lib/Smokeping/probes/EchoPingHttp.pm
382cd82f0b8c779ba3fc0e78180b7456 ./lib/Smokeping/probes/SendEmail.pm
583202540b57e6883d7a120477559e69 ./lib/Smokeping/probes/IOSPing.pm
b079e26ad4e054dc5fde13c9c473fea0 ./lib/Smokeping/probes/WebProxyFilter.pm
38b0f60e322c4edb0495238b3864dcaa ./lib/Smokeping/probes/AnotherDNS.pm
386baa69338b1dddc2ab202c6e454e43 ./lib/Smokeping/probes/Curl.pm
d1bb3426744b26fcec326b1652f175c0 ./lib/Smokeping/probes/OpenSSHEOSPing.pm
22d4d89cb89d09ca1252915251bf53fa ./lib/Smokeping/probes/AnotherSSH.pm
f58ebe194cb6d2313c59b86c02d654f2 ./lib/Smokeping/probes/CiscoRTTMonTcpConnect.pm
8f77dbf0c925913ce83e184a4e6187d4 ./lib/Smokeping/probes/FPing6.pm
f3c010af1de08141c91e3aedf53181da ./lib/Smokeping/probes/EchoPingLDAP.pm
4f389d382ac14503322c617e37e7636c ./lib/Smokeping/probes/EchoPingWhois.pm
5ebc965d50d4601f51239caeddf0e352 ./lib/Smokeping/probes/basevars.pm
303869aad39ec0eaa977dc665b4be679 ./lib/Smokeping/probes/SipSak.pm
8d2752f301f4f73e006724deb1f77f33 ./lib/Smokeping/pingMIB.pm
5d1510802e13a09fa6d5cdb61a2ed973 ./lib/Smokeping/Slave.pm
e4590791ff48d9d3c2e8af7d4cc89537 ./lib/Smokeping/sorters/base.pm
ab05eee799a3f7dd3ad55552ebcf9005 ./lib/Smokeping/sorters/Loss.pm
8df66ecffb3d99a83853a95fcb93ca9e ./lib/Smokeping/sorters/Median.pm
b7b48ab6ee96cade6e4aee63a6229963 ./lib/Smokeping/sorters/StdDev.pm
b0ee00e7ded5d2244074da936081a5f8 ./lib/Smokeping/sorters/Max.pm
000bb41739ce475ac0db7aebeaec4cb6 ./lib/Smokeping/RRDhelpers.pm
74dc0a7e83f7e5033dcaa59f452fc11b ./lib/Smokeping/Colorspace.pm
40d9a0d2effcd59d89bbcd893fe3f27a ./lib/Smokeping/Info.pm
8c67107c66f13565419f0641ee720f47 ./lib/Smokeping/matchers/base.pm
d70b48f27e5c9a1eb8e8f51c7a6f183a ./lib/Smokeping/matchers/Median.pm
0c680558c553638e7418cc44cbb76868 ./lib/Smokeping/matchers/ConsecutiveLoss.pm
ebf79b04b999b0eea95bcdc6a918c30d ./lib/Smokeping/matchers/CheckLoss.pm
0589f39cc33fb0a443bd947e00442c92 ./lib/Smokeping/matchers/Avgratio.pm
c9f37222afc9fab4ee9ad81c84349bfe ./lib/Smokeping/matchers/CheckLatency.pm
0e9d1d8a7a4d338152c50ff221e2f152 ./lib/Smokeping/matchers/ExpLoss.pm
71282e21e01fb6572a1859492dda2ea8 ./lib/Smokeping/matchers/Medratio.pm
9615f1119ac79d65c51997f5403b558f ./lib/Smokeping/Graphs.pm
1134871f6bbdb7d37b13eb019bb9e380 ./lib/BER.pm
cd59ef3716e6e18e3e1f6464016c7533 ./lib/Makefile.am
52a3e83bba27640f6e858412fecf8907 ./cpanfile
18810669f13b87348459e611d31ab760 ./LICENSE
20a41dc90ae70beba75139b8200ae253 ./etc/smokeping_secrets.dist
35455c7e9a4762b47addc856ddb8d1cd ./etc/config.dist.in
0edf364b4e38bd545f4cf6ed27fd63f4 ./etc/smokemail.dist
9aefc38c817bc5a265a5b89845e7a283 ./etc/basepage.html.dist
efbb764be19184ddf3757b2beb1db31c ./etc/tmail.dist
fdf16be02d3898935df6e9a30ad76de7 ./etc/Makefile.am
28b3c6fbfc9edb70ccafeb578cf7588a ./htdocs/js/cropper/cropper.uncompressed.js
8ef561662d9ad6cd36a534648663471c ./htdocs/js/cropper/cropper.css
2b2adfe6df6517f146b5b7c5b86eda42 ./htdocs/js/cropper/marqueeVert.gif
45bc30298a5f48aad53b4c3815d8a770 ./htdocs/js/cropper/cropper.js
9b4c27fccf817923f59b78fa6099c376 ./htdocs/js/cropper/marqueeHoriz.gif
7d22d8406c981b4d4542e8228f4178ca ./htdocs/js/cropper/licence.txt
09ef4d15cc7cdb31058181765c8820dd ./htdocs/js/scriptaculous/controls.js
bb13d308c65d4647946b0ed8d536390f ./htdocs/js/scriptaculous/scriptaculous.js
0f2db4e77f36d2ac2f1826a0c253f5cc ./htdocs/js/scriptaculous/builder.js
aecce9b9186bc24b80ff9e2403a94326 ./htdocs/js/scriptaculous/effects.js
8c03e76e44ccca0624cef4800f3ea7db ./htdocs/js/scriptaculous/dragdrop.js
65ade465b0b37ba9acdd3d722a0324ee ./htdocs/js/scriptaculous/unittest.js
eff549ad8f7495332f7ad6103658764c ./htdocs/js/scriptaculous/slider.js
f415e9ac8946878a499a174d945c898a ./htdocs/js/scriptaculous/sound.js
b3194289aa4d19188e036ec01d4d2c12 ./htdocs/js/smokeping.js
fb004124bf1ed724b26e6e188db7604e ./htdocs/js/prototype.js
5a3a81cf4d5c006de7b39e149e8aac30 ./htdocs/css/smokeping-print.css
6d82c4e7262a8b71c47e3221b72174b5 ./htdocs/css/smokeping-screen.css
1c5220b32f26668156bbbedece99bb70 ./htdocs/Makefile.am
b2afdcfbea0fdc675c157e8119afb43b ./COPYRIGHT
cc8471e7aaf58248ca90931622339177 ./Makefile.am

998
debian/changelog vendored Normal file
View File

@@ -0,0 +1,998 @@
smokeping (2.9.0+linuxiarz.pl-1) unstable; urgency=medium
[ linuxiarz.pl ]
* Bump to 2.9.0
smokeping (2.8.2+ds-1) unstable; urgency=medium
[ Gabriel Filion ]
* New upstream version (Closes: #1004308, #740852)
* All patches that were merged upstream were removed
* Add an example lighttpd configuration file for smokeping (Closes: #961950)
* Import upstream patch to fix curl probes (Closes: #986068)
* Avoid errors with ucf/ucfr during postrm (Closes: #1005807)
* New required library libobject-result-perl for influxdb
* Remove obsolete dependency on lsb-base
* fix lintian warning about unmatched news entry
* lintian-overrides are now obsolete
* Clear out copyright details for files removed in repack
* Patch out building of 3rd-party js libs
* Revert "fix lintian warning about unmatched news entry"
[ Debian Janitor ]
* Bump debhelper from old 12 to 13.
* Update standards version to 4.6.1, no changes needed.
-- Gabriel Filion <gabster@lelutin.ca> Sun, 04 Feb 2024 14:54:09 -0500
smokeping (2.7.3-4) unstable; urgency=low
[ Debian Janitor ]
* Trim trailing whitespace.
* Bump debhelper from old 10 to 12.
* Set debhelper-compat version in Build-Depends.
* Drop unnecessary dependency on dh-autoreconf.
* Update standards version to 4.5.0, no changes needed.
[ Gabriel Filion ]
* Import patch that disables refresh while zooming (Closes:#981348)
* Import patch disabling rsa1 and enabling ecdsa for ssh probe (Closes:
#962225)
-- Gabriel Filion <gabriel@koumbit.org> Sun, 24 Apr 2022 14:44:58 -0400
smokeping (2.7.3-3) unstable; urgency=medium
[ Gabriel Filion ]
* start generating smokeinfo manpage
* postrm: purge, removal of apache2/conf.d/smokeping not needed anymore
* make css and js load from the /smokeping alias (closes: #929515)
* change fix-conf-paths patch to point the daemon to /run/smokeping for its
pid indead of /var/run/smokeping
[ Matteo F. Vescovi ]
* debian/patches/: fix-alert-edgetriggers added (Closes: #934170)
-- Gabriel Filion <gabriel@koumbit.org> Sat, 11 Jul 2020 00:00:19 +0200
smokeping (2.7.3-2) unstable; urgency=medium
[ Gabriel Filion ]
* systemd: run service as smokeping user
The systemd service unit file that was introduced in 2.7.3-1 didn't setup
user and group properly for the service, and the daemon was running as root.
This is now corrected, but it might mean that some files were created by and
are owned by root. To fix this, you can use the following command:
.
find /var/lib/smokeping/ -mindepth 1 -name '__cgi' -prune -o \
-exec chown smokeping:smokeping {} \;
* missing-VERSION forwarded and merged upstream
* patch "fix-400d-graph" forwarded and merged upstream
* rename patch path_changes to make its name more meaningful
* reduce javascript_path_changes to the strict minimum
* fix-perl-lib: indicate that the patch shouldn't be forwarded
* proper-samle-conf: indicate that it shouldn't be forwarded
* make commands invoked in rules more verbose as per policy version 4.2.0
* use https for the homepage
* Bump Standards-Version to 4.3.0
* merge both patches that hardcode config path
* init.d: match on pidfile only prevents service stop (closes: #922395)
* systemd: move example for slave mode in the examples dir
* control: erroneous and duplicated mention of default mta
[ Sven Hartge ]
* Change group of secrets file for slaves to www-data (Closes: #760945)
-- Gabriel Filion <gabriel@koumbit.org> Sat, 23 Feb 2019 19:54:18 -0500
smokeping (2.7.3-1) unstable; urgency=medium
* use https in watch file
* new upstream release
* remove patch merged upstream
* add systemd service
-- Gabriel Filion <gabriel@koumbit.org> Wed, 23 Jan 2019 19:26:45 -0500
smokeping (2.7.2-3) unstable; urgency=medium
[ Ondřej Nový ]
* d/control: Deprecating priority extra as per policy 4.0.1
* d/changelog: Remove trailing whitespaces
* d/control: Remove trailing whitespaces
[ Gabriel Filion ]
* Update patch fping-protocol-version: setup default values (Closes: #908674)
[ Antoine Beaupré ]
* Update lintian bypass for embedded javascript
-- Gabriel Filion <gabriel@koumbit.org> Thu, 11 Oct 2018 19:22:32 -0400
smokeping (2.7.2-2) unstable; urgency=medium
[ Gabriel Filion ]
* Add patch fping-protocol-version. (Closes: #905752)
[ Antoine Beaupré ]
* upload to unstable (Closes: #898580)
-- Antoine Beaupré <anarcat@debian.org> Sun, 26 Aug 2018 17:28:53 -0400
smokeping (2.7.2-1) experimental; urgency=medium
* new upstream release (Closes: #898580)
* drop patch typo_642197 fixed upstream
-- Antoine Beaupré <anarcat@debian.org> Tue, 15 May 2018 12:21:26 -0400
smokeping (2.6.11-5) unstable; urgency=medium
[ Gabriel Filion ]
* Add a directory index to show the cgi instead of a 403 (Closes:
#885699, #882987)
[ Antoine Beaupré ]
* document FastCGI configuration (Closes: #684870)
* repository migrated to salsa
* add Gabriel as maintainer
-- Antoine Beaupré <anarcat@debian.org> Sat, 12 May 2018 15:48:07 -0400
smokeping (2.6.11-4) unstable; urgency=medium
* add missing build-dep on rename (Closes: #826056)
* check config file validity - thanks Matus UHLAR (Closes: #847924)
* fix slave permissions configuration - thanks Sven Hartge (Closes: #760945)
* bump dh compat, no change
-- Antoine Beaupré <anarcat@debian.org> Tue, 28 Nov 2017 11:57:04 -0500
smokeping (2.6.11-3) unstable; urgency=medium
* remove outdated information from README.Debian (Closes: #804384)
* fix permissions error on default config, enable CGI module in postinst
(Closes: #760474, #821925)
* remove Rowan Thorpe from Uploaders, I haven't heard from him in over a
year
* fix lintian warnings
* depend on default-mta to fix default config on fresh installs
-- Antoine Beaupré <anarcat@debian.org> Wed, 18 May 2016 17:59:06 -0400
smokeping (2.6.11-2) unstable; urgency=high
* security fix for CVE-2015-0859: code execution via CGI arguments due
to Debian Apache configuration
-- Antoine Beaupré <anarcat@debian.org> Tue, 10 Nov 2015 13:51:56 -0500
smokeping (2.6.11-1) unstable; urgency=medium
* new upstream release, see https://oss.oetiker.ch/smokeping/pub/CHANGES
(Closes: #708615, #759483, #783229)
* do not ship incorrect .fcgi file (Closes: #695438)
* port to apache 2.4 (Closes: #669799)
* drop patches factored in upstream: fix-pod-escaping, fcgi_destdir
* add patch to ignore missing VERSION file
* add missing dependencies
-- Antoine Beaupré <anarcat@debian.org> Thu, 04 Jun 2015 22:53:39 -0400
smokeping (2.6.9-1) unstable; urgency=medium
* Upload to unstable
* remove jsogo as uploader, as I haven't heard from him in years
* Bug fix: missing "#MODE=slave" in /etc/default/smokeping, thanks to
xavier renaut for reporting and Rowan Thorpe for confirmation (Closes:
#685811).
* follow anonscm.d.o rename
* fix status doesn't use the pidfile (Closes: #699799)
* use dh_autoreconf to fix configure step, thanks to Rowan Thorpe
* Use dh_autoreconf to avoid errors about "missing xx" and to allow
rebuilding after first build (Closes: #724471)
* use dh_auto_configure rather than ./configure in rules, to only
override specified flags, not all
* add patches from Rowan Thorpe
* fix-paths-inside-executables - hardcode paths inside executables
(Closes: #707225)
* fix-pod-escaping - quote-protect a slash in a pod-link (Closes:
#752393)
* bump standards to 3.9.5, no change
* fix dependency list to ease diffs
-- Antoine Beaupré <anarcat@debian.org> Mon, 07 Jul 2014 22:03:59 -0400
smokeping (2.6.9-1~exp0) experimental; urgency=high
* New upstream release to properly fix CVE-2012-0790 (Closes: #659899)
* Acknowledge the NMU, thanks gregor!
-- Antoine Beaupré <anarcat@debian.org> Sat, 16 Mar 2013 11:34:03 -0400
smokeping (2.6.8-1.1) unstable; urgency=low
* Non-maintainer upload.
* Fix "fails to install, remove, distupgrade, and install again":
remove ucf config files also on install (not only on upgrade); cf. the
changelog entry for 2.6.5-2 and #655968.
(Closes: #668383)
* Remove Niko Tyni from Uploaders as per his request in #668383.
-- gregor herrmann <gregoa@debian.org> Mon, 30 Jul 2012 21:02:52 +0200
smokeping (2.6.8-1) unstable; urgency=low
* New upstream release
-- Antoine Beaupré <anarcat@debian.org> Sun, 26 Feb 2012 13:25:13 -0500
smokeping (2.6.7-1) unstable; urgency=high
* New upstream release to fix CVE-2012-0790 (Closes: #659899)
-- Antoine Beaupré <anarcat@debian.org> Tue, 14 Feb 2012 13:30:29 -0500
smokeping (2.6.5-2) unstable; urgency=low
* Bug fix: "prompting due to modified conffiles which where not modified
by the user", thanks to Holger Levsen (Closes: #655968). This is done
by simply removing ucf config files that were not changed before
installing them.
* fix lintian warning by refering explicitly to GPL-2
* update standards version to 3.9.2, no change
* unset locale (LC_ALL) when building to please the build process
-- Antoine Beaupré <anarcat@debian.org> Sun, 15 Jan 2012 18:17:16 -0500
smokeping (2.6.5-1) unstable; urgency=low
* fix pathnames
-- Antoine Beaupré <anarcat@debian.org> Mon, 21 Nov 2011 22:26:40 -0500
smokeping (2.6.5-1~experimental1) experimental; urgency=low
* fix reload in startup script
* forgot in previous changelog: stop using ucf now that we generate
config files during build, which leads to extra prompts during
upgrades.
-- Antoine Beaupré <anarcat@debian.org> Wed, 16 Nov 2011 11:59:33 -0500
smokeping (2.6.5-1~experimental0) experimental; urgency=low
* new upstream release (Closes: #485977).
* take over maintainership, leaving previous maintainer as uploader
(Closes: #568742).
* remove patches:
* 15_clean_makefile.dpatch - makefile is now clean
* 20_html-parser.dpatch - obsolete
* strip down patch:
* 10_path_changes.dpatch - only fix the HTML paths
* add patches:
* fcgi_destdir - setup the fcgi script properly
* fix-conf-path-cgi - hardcode the path to the config in the CGI script
* fix-conf-paths - fix paths in main config
* fix-perl-lib - fix path to PERLIB
* proper-sample-conf - have a proper sample config
* typo_642197 - fix typo in mail template (Closes: #642197)
* fix-400d-graph - fix long term graph (Closes: #618851)
* rewrite debian/rules with debhelper 7
* remove our custom config.d files, instead we split the upstream config
in multiple files during the build, our modifications are now patches
to the default config (Closes: #589679)
* remove old (pre 2.3.6) compatibility code, now that even oldstable is
running that release
* switch to 3.0 (quilt) format
-- Antoine Beaupré <anarcat@debian.org> Mon, 07 Nov 2011 00:15:53 -0500
smokeping (2.3.6-5) unstable; urgency=medium
* debian/patches/20_html-parser.dpatch: fix an incompatibility with
recent versions of HTML::Parser. (Closes: #560562)
-- Niko Tyni <ntyni@debian.org> Sun, 20 Dec 2009 22:38:16 +0200
smokeping (2.3.6-4) unstable; urgency=low
* Depend on libconfig-grammar-perl instead of bundling it. (Closes: #531196)
* Install the perl code in /usr/share/smokeping/lib instead of
/usr/share/perl5/smokeping.
* Downgrade the exim4 | mail-transport agent dependency to a suggestion.
(Closes: #520350)
* Remove the obsolete libnet-perl dependency.
* Depend on javascript libraries instead of bundling them. (Closes: #475285)
+ cpio not used anymore. (Closes: #537026)
* Move away from /var/www but add compatibility symlinks on upgrades.
See NEWS.Debian. (Closes: #521333)
+ automatically enable the web server configuration on new installations
where possible.
* Serve UTF-8 by default. Thanks to Elmar Hoffmann. (Closes: #506978)
* Don't ship /var/run/smokeping, it will be created at run time.
* Upgrade to Standards-Version 3.8.2.
+ add Homepage, Vcs-Git, and Vcs-Browser information to debian/control.
* Change the alternate web server recommendation to httpd-cgi as per policy.
-- Niko Tyni <ntyni@debian.org> Tue, 21 Jul 2009 21:11:01 +0300
smokeping (2.3.6-3) unstable; urgency=low
* Unset LC_ALL in the init script because the daemon needs to
reset LC_NUMERIC. (Closes: #489766)
* Fix a bashism in the postinst script. Thanks, lintian.
-- Niko Tyni <ntyni@debian.org> Fri, 29 Aug 2008 18:29:34 +0300
smokeping (2.3.6-2) unstable; urgency=low
* Kill speedy_backend processes that are running on stop (Closes: #485880)
-- Jose Carlos Garcia Sogo <jsogo@debian.org> Wed, 02 Jul 2008 00:30:34 +0200
smokeping (2.3.6-1) unstable; urgency=low
* New upstream release.
+ honours the 'linkstyle' variable when zooming. (Closes: #476404)
* Wait until the daemon has exited when stopping it with the init.d script.
This should fix a race condition that made restarts fail sporadically.
(Closes: #478241)
-- Niko Tyni <ntyni@debian.org> Mon, 28 Apr 2008 21:49:28 +0300
smokeping (2.3.5-2) unstable; urgency=low
* Prevent an unnecessary ucf prompt for the Slaves section on upgrades.
* Upload to unstable.
-- Niko Tyni <ntyni@debian.org> Fri, 04 Apr 2008 08:47:24 +0300
smokeping (2.3.5-1) experimental; urgency=low
* New upstream release. (Closes: #470295)
+ debian/patches/30_slave_piddir.dpatch: removed, included upstream.
+ new dependency on libdigest-hmac-perl
* Revisit the directory permissions of various directories under /var.
See also NEWS.Debian.
+ use /var/lib/smokeping/__cgi as a storage place for the CGI.
(Closes: #470382)
+ debian/postinst:
* set the right permissions on install
* move *.adr files under __cgi on upgrade
* honour DAEMON_ARGS from /etc/default/smokeping even in slave mode.
* Remove the example target hierarchy 'World' from the default configuration
file, so that no unnecessary directories are created in the CGI directory.
* debian/rules: recreate empty documentation directories if needed to ease
working with a git repository.
* Split the monolithic configuration file into configuration snippets
in /etc/smokeping/config.d. See NEWS.Debian. (Closes: #473223)
+ use ucf for managing all the configuration files to ease the merging
+ debian/patches/20_conffile.dpatch: removed
* Install the upstream config template in /usr/share/doc too, because
smokeping_examples(7) says so and it doesn't hurt.
* Update debian/copyright.
* Don't blindly remove the whole /etc/smokeping on purge, just the
configuration files managed by maintainers scripts and any ucf leftovers.
* Upload to experimental to get a bit of testing first.
-- Niko Tyni <ntyni@debian.org> Tue, 11 Mar 2008 22:30:04 +0200
smokeping (2.3.2-1) unstable; urgency=low
* New upstream release. (Closes: #468928)
* Add support for the new "slave mode", enabled via
/etc/default/smokeping. (Closes: #466533)
* debian/patches/30_slave_piddir.dpatch: Add an optional
--pid-dir option to specify the pid directory when running as a slave.
* Change the doc-base section to Network/Monitoring. Thanks, lintian.
-- Niko Tyni <ntyni@debian.org> Tue, 04 Mar 2008 23:36:58 +0200
smokeping (2.3.0-1) unstable; urgency=low
* New upstream version.
+ new dependency on liburi-perl
+ debian/patches/30_jszoom.dpatch: removed, applied upstream.
-- Niko Tyni <ntyni@debian.org> Thu, 24 Jan 2008 23:27:29 +0200
smokeping (2.2.7-2) unstable; urgency=low
* debian/patches/30_jszoom.dpatch: fix a javascript error
on pages without a zoom widget. (Closes: #457071)
* Change my maintainer email address.
* Upgrade to Standards-Version 3.7.3. No changes needed.
* Add two short patch descriptions in debian/patches.
* Don't install an empty /usr/bin directory.
-- Niko Tyni <ntyni@debian.org> Sun, 23 Dec 2007 20:57:49 +0200
smokeping (2.2.7-1) unstable; urgency=low
* New upstream release
* Create /var/run/smokeping at startup if it doesn't exist.
Patch from Ubuntu.
-- Niko Tyni <ntyni@iki.fi> Sat, 10 Nov 2007 09:55:32 +0200
smokeping (2.2.6-1) unstable; urgency=low
* New upstream release.
* Update debian/copyright, including a typo fix. (Closes: #445877)
-- Niko Tyni <ntyni@iki.fi> Sun, 28 Oct 2007 15:51:36 +0200
smokeping (2.2.4-1) unstable; urgency=low
* New upstream release
+ includes graph zooming code that is installed in /var/www/smokeping
+ new master/slave functionality needs a dependency on libwww-perl
+ requires librrds-perl >= 1.2; update the dependency
* debian/patches:
+ 30_missing_smoke.dpatch: removed, now included upstream.
* Update debian/copyright for the included javascript libraries.
* Wrap overlong dependency lines in debian/control.
* debian/rules: fix the build-stamp dependency so it will not skip
the patch step
* Include an example secret file for the master/slave functionality
* Upgrade apache recommendation to apache2.
-- Niko Tyni <ntyni@iki.fi> Mon, 17 Sep 2007 10:57:29 +0300
smokeping (2.1.1-1) unstable; urgency=low
* New upstream release.
* Patches included upstream:
+ 40_password.dpatch
+ 50_ldap.dpatch
+ 60_fping.dpatch
+ 70_syslog.dpatch
* Recommend echoping, don't list it as an alternative dependency.
* Suggest openssh-client instead of ssh. (Closes: #416539)
* Don't delete the smokeping user when the package is purged.
* Update debian/watch: upstream has moved.
* Rewrite the init script for LSB support.
+ Depend on lsb-base accordingly.
* Add a note in README.Debian about sporadic problems with the
CGI reloading configuration changes.
* Point to the note when executing '/etc/init.d/smokeping reload'.
(Closes: #397609)
* debian/patches/30_missing_smoke.dpatch: show the visible part of all
smoke even if the rest of it doesn't fit on the scale. (Closes: #412826)
-- Niko Tyni <ntyni@iki.fi> Mon, 14 May 2007 23:25:27 +0300
smokeping (2.0.9-2) unstable; urgency=low
* debian/patches/15_clean_makefile.dpatch:
+ remove unneeded and potentially unsecure include paths.
* debian/patches: selected patches from the upstream SVN repository
+ 40_password.dpatch: skip reading the password file when running as a CGI.
+ 50_ldap.dpatch: Make the 'scope' option in the LDAP probe actually work.
+ 60_fping.dpatch:
* Support the '-S' (set source address, see #198486) fping option.
* Don't try to execute fping when running as a CGI.
+ 70_syslog.dpatch: Don't die silently if syslogd is unavailable.
(Closes: #395056)
* Remove all the autogenerated documentation at clean time, to properly
undo the effects of the 'build' target.
* Install example configuration files for documentation.
-- Niko Tyni <ntyni@iki.fi> Thu, 26 Oct 2006 21:45:56 +0300
smokeping (2.0.9-1) unstable; urgency=low
* New upstream release
* Add debian/watch.
* Update debian/copyright.
-- Niko Tyni <ntyni@iki.fi> Sat, 15 Jul 2006 10:11:06 +0300
smokeping (2.0.8-3) unstable; urgency=low
* remove all configuration file modifications from postinst, as per policy.
* no need for debconf anymore; remove all translations as well.
* add a NEWS.Debian entry about configuration file incompatibilities
between versions 1.x and 2.x.
* Upgraded to Standards-Version 3.7.2. No changes needed.
-- Niko Tyni <ntyni@iki.fi> Sun, 28 May 2006 23:02:09 +0300
smokeping (2.0.8-2) unstable; urgency=low
* debian/patches/10_path_changes.dpatch: fix the library path.
(Closes: #363439)
* debian/control: move dpatch to Build-Depends, as it's
required for the 'clean' target.
* debian/po/cs.po: include a Czech translation from Miroslav Kure.
(Closes: #363118)
* debian/po/fr.po: include a French translation from Olivier Trichet.
(Closes: #364165)
* debian/rules: don't run the 'build' target twice.
* debian/postinst: accept 'reconfigure' as the first parameter.
-- Niko Tyni <ntyni@iki.fi> Sun, 23 Apr 2006 20:33:29 +0300
smokeping (2.0.8-1) unstable; urgency=low
[ Niko Tyni ]
* New upstream version.
+ makes all the CGI self-referring links relative and provides a
new variable to configure this behaviour. (Closes: #351783)
* debian/postrm:
+ only call deluser if the smokeping user exists
+ redirect all deluser output to stderr so debconf won't get confused
* Delay init.d startup so the SSH probe can test against localhost
(Closes: #349832)
* Upgrade to debhelper compatibility level 5.
* Move debhelper from Build-Depends-Indep to Build-Depends, since it's
required in the 'clean' target.
* (po-)debconfize the postinst note on failed upgrade
+ debian/po/fi.po: include a Finnish translation
+ debian/po/es.po: include a Spanish translation
+ debian/rules: add a dh_installdebconf call
+ debian/control: Build-Depend on po-debconf, Depend on ${misc:Depends}
[ Jose Carlos Garcia Sogo ]
* Integrate Niko work in latest versions. Again, a big thanks goes to him.
* debian/patches:
+ 10_path_changes: included again. Also change tSmoke.dist paths.
+ 20_conffile: included again.
-- Jose Carlos Garcia Sogo <jsogo@debian.org> Sun, 16 Apr 2006 13:03:43 +0200
smokeping (2.0.5-2) unstable; urgency=low
* Merge smokeping--debian--2.0.5 branch when preparing the package:
+ Change default perl location. (Closes: #339690)
+ Change default config file. (Closes: #339816)
-- Jose Carlos Garcia Sogo <jsogo@debian.org> Sat, 19 Nov 2005 10:50:22 +0100
smokeping (2.0.5-1) unstable; urgency=low
[ Niko Tyni ]
* New upstream version
+ use the 'cgiurl' variable for all CGI self-refering links
(Closes: #339019)
* debian/doc-base:
+ add document authors
+ fix the text document directory
* debian/postrm:
+ use 'deluser --system' to delete the user at purge time.
[ Jose Carlos Garcia Sogo ]
* Merged smokeping--*--2.0.5 branches from Niko's repo.
-- Jose Carlos Garcia Sogo <jsogo@debian.org> Wed, 16 Nov 2005 23:35:23 +0100
smokeping (2.0.4-1) unstable; urgency=low
[ Niko Tyni ]
* New upstream version
+ doesn't create new RRD files when run with '--reload' (Closes: #333373)
[ Jose Carlos Garcia Sogo ]
* Added Niko Tyni <ntyni@iki.fi> to the list of uploaders. Usually he is
doing much of the work, and I do not have any need of making any change.
-- Jose Carlos Garcia Sogo <jsogo@debian.org> Wed, 12 Oct 2005 19:52:40 +0200
smokeping (2.0.3-1) unstable; urgency=low
[ Niko Tyni ]
* New upstream version
+ Make the package build without extra Build-Depends. (Closes: #330009)
[ Jose Carlos Garcia Sogo ]
* Integrate and upload. Thanks Niko for your work!
-- Jose Carlos Garcia Sogo <jsogo@debian.org> Sat, 1 Oct 2005 14:00:45 +0200
smokeping (2.0.2-1) unstable; urgency=low
[ Niko Tyni ]
* New upstream version
* debian/init.d: implemented 'reload'
[ Jose Carlos Garcia Sogo ]
* Merged versions 2.0.1-1 and 2.0.2-1 in my baz repository.
Thanks goes to Niko Tyni for his work.
* Changed FSF address from copyright file.
-- Jose Carlos Garcia Sogo <jsogo@debian.org> Sat, 24 Sep 2005 11:11:03 +0200
smokeping (2.0.1-1) unstable; urgency=low
* New upstream version (Closes: #329339)
* try to upgrade the config file automatically
* give a warning and a pointer to the smokeping_upgrade doc
if the upgrade isn't succesful
-- Niko Tyni <ntyni@iki.fi> Thu, 22 Sep 2005 17:58:53 +0000
smokeping (1.42-2) unstable; urgency=low
* Fix problem in default config file not allowing white space
which was added in previous version for local fping target. (Closes: #324846)
* debian/control: have to depend on adduser as it is being used in postinst.
-- Jose Carlos Garcia Sogo <jsogo@debian.org> Sun, 28 Aug 2005 20:36:32 +0200
smokeping (1.42-1) unstable; urgency=low
* New upstream version
+ Works with RRDtool > 1.2 (Closes: #309344)
+ Fixed curl documentation (Closes: #283652)
+ Added an 'include' directive in config parser (Closes: #307955)
* Changed default location of sendmail to /usr/sbin (Closes: #302164)
* Added localhost as default fping target (Closes: #307954)
* Standars-version bumped to 3.6.2. No changes needed.
* README.Debian: document enabled localhost fping probe.
-- Jose Carlos Garcia Sogo <jsogo@debian.org> Thu, 18 Aug 2005 00:06:45 +0200
smokeping (1.38-3) unstable; urgency=low
* Include missing matchers methods in binary package (Closes: #295354)
* Add missing suggests: libnet-dns-perl, ssh, libio-socket-ssl-perl,
libnet-telnet-perl (Closes: #295372)
-- Jose Carlos Garcia Sogo <jsogo@debian.org> Sun, 13 Mar 2005 13:55:44 +0100
smokeping (1.38-2) unstable; urgency=low
* Added missing Build-Dependecy in groff. (Closes: #292949)
-- Jose Carlos Garcia Sogo <jsogo@debian.org> Sat, 5 Feb 2005 19:14:48 +0100
smokeping (1.38-1) unstable; urgency=low
* The "upstream releases just when a new upstream release is uploaded to the
archive" release.
* New upstream release.
* debian/postinst: only create smokeping user if it does not exist yet.
-- Jose Carlos Garcia Sogo <jsogo@debian.org> Sun, 30 Jan 2005 18:36:24 +0100
smokeping (1.37-1) unstable; urgency=low
* New upstream version (Closes: #289126)
* debian/patches:
+ 40_fping-packet.dpatch,
+ 50_concurrent-probes.dpatch,
+ 60_makepod-without-config.dpatch,
+ 65_fix_generating_docs.dpatch,
+ 68_typos.dpatch: disabled. They are applied upstream
+ 70_regenerated_docs.dpatch: updated. It is empty as docs are uptodate
in the upstream tarball.
* debian/postinst:
+ don't edit unconditionally config file. (Closes: #288628)
+ fix here permissions for different dirs instead of in rules file.
+ create smokeping system user
* debian/postrm:
+ delete smokeping system user on purge.
* debian/init.d:
+ run smokeping daemon as its own user. (Closes: #287253)
* debian/rules:
+ update-docs target should only regenerate pod files (Closes: #287508)
+ install perl modules manpages with the probes::, matchers:: or ISG::
prefix, as neeeded. (Closes: #288922)
-- Jose Carlos Garcia Sogo <jsogo@debian.org> Sun, 30 Jan 2005 17:18:53 +0100
smokeping (1.34-4) unstable; urgency=low
* debian/patches:
+ 30_typos: moved to 68_typos.
+ 50_concurrent-probes: patch the patch. Fix signal handling.
Thanks again to Niko Tyni. (Closes: #288082)
+ 65_fix_generating_docs: patch Makefile to allow generating docs without
having SmokePing installed.
+ 68_typos: fix different typos in sources.
+ 70_regenerated_docs: updated.
* debian/rules:
+ New update-docs target, which should be used to upgrade
70_regenerated_docs patch.
-- Jose Carlos Garcia Sogo <jsogo@debian.org> Mon, 3 Jan 2005 13:55:53 +0100
smokeping (1.34-3) unstable; urgency=low
* The "2004 is death - Long life to 2005!" release.
* Some docs have been moved to subdirectories. Reinstall them in
/usr/share/doc/smokeping (Closes: #287250)
* Documentation reorganized:
+ *.pod files removed. We don't need to distribute those files.
+ install documentation in two main subdirectories, txt and html.
Inside create both 'probes' and 'matchers' subdirectories.
+ manpages are installed either in man1 or man3, depending on
the section described inside the file. File names are incorrect, so
we rename manpages being moved to section 3.
* debian/patches:
+ 20_conffile: enable syslog logging by default. (Closes: #287825)
+ 30_typos: New. s/secion/section/g and other typos in documentation and
source files. (Closes: #283643)
+ 50_concurrent-probes: New. Allow probes to be executed in separate
processes. This permits probe-specific parameters and offset.
Thanks to Niko Tyni and Marc Haber (Closes: #283533)
+ 60_makepod-without-config: New. Let 'smokeping -makepod' be run
without a config file. Thanks to Niko Tyni.
+ 70_regenerated_docs: New. Contains doc regenerated to show new options
added in version 1.34-2. (Closes: #287508)
-- Jose Carlos Garcia Sogo <jsogo@debian.org> Fri, 31 Dec 2004 19:20:55 +0100
smokeping (1.34-2) unstable; urgency=low
* Build-Depend on dpatch >= 2.0.9, as it now uses new dpatch-run
(Closes: #286431)
* Applied patch from Niko Tyni to allow fping probes with different
packet sizes. Thanks! (Closes: #283647)
-- Jose Carlos Garcia Sogo <jsogo@debian.org> Mon, 20 Dec 2004 23:15:52 +0100
smokeping (1.34-1) unstable; urgency=low
* New upstream release. (Closes: #283621)
+ Fixes whatis error in manpages. (Closes: #210622)
* debian/control:
+ depend on exim4 | mail-transport-agent, as we are using
"sendmail" command in default config. (Closes: #274718)
+ Recommends apache | httpd to conform with Policy.
* debian/patches:
+ 10_path_changes: updated
+ 30_typos: new. s/secion/section/g on every the doc.
-- Jose Carlos Garcia Sogo <jsogo@debian.org> Sun, 19 Dec 2004 19:44:41 +0100
smokeping (1.31-2) unstable; urgency=high
* init.d: If not running, restart should start the daemon. (Closes: #275861)
* Urgency high as it fixes a RC bug also present in Sarge.
-- Jose Carlos Garcia Sogo <jsogo@debian.org> Mon, 11 Oct 2004 13:01:47 +0200
smokeping (1.31-1) unstable; urgency=low
* New upstream version.
-- Jose Carlos Garcia Sogo <jsogo@debian.org> Thu, 5 Aug 2004 22:56:20 +0200
smokeping (1.30-1) unstable; urgency=low
* New upstrem version. (Closes: #248264)
-- Jose Carlos Garcia Sogo <jsogo@debian.org> Fri, 14 May 2004 18:20:34 +0200
smokeping (1.28-1) unstable; urgency=low
* New upstream version. (Closes: #240628)
* Removed 30_upstream_Smokeping.dpatch -- Included upstream.
-- Jose Carlos Garcia Sogo <jsogo@debian.org> Sun, 28 Mar 2004 22:22:22 +0200
smokeping (1.26-2) unstable; urgency=low
* Added dpatch to Build-Depends. (Closes: #235077)
-- Jose Carlos Garcia Sogo <jsogo@debian.org> Fri, 27 Feb 2004 15:39:39 +0100
smokeping (1.26-1) unstable; urgency=low
* New upstream version. (Closes: #233687)
* Ack previous NMU. Thanks Matthias. (Closes: #226829)
* Moved perl stuff from /usr/lib/perl5 to /usr/shre/perl5 as those files are
not Perl executables.
* Do not list /etc/smokeping files in conffiles, so they're not listed twice
when building the package.
* Using dpatch now. It makes really easier to mantain all those path changes
we need to do in upstream source:
- 10_path_changes.dpatch: Changes upstream paths to Debian ones.
- 20_conffile.dpatch: Creates a template conffile suitable for everyone.
- 30_upstream_Smokeping.dpatch: last minute upstream patch to
Smokeping.pm file fixing some typos.
* Suggests libnet-ldap-perl and libauthen-radius-perl for the new probes.
-- Jose Carlos Garcia Sogo <jsogo@debian.org> Sat, 21 Feb 2004 14:09:16 +0100
smokeping (1.25-1.1) unstable; urgency=low
* NMU.
* Include the correct cgi script (closes: #226829).
* Suggests curl.
-- Matthias Klose <doko@debian.org> Wed, 21 Jan 2004 21:28:09 +0100
smokeping (1.25-1) unstable; urgency=low
* New upstream release (Closes: #216163, #218974)
* Bumped Standars-Version. No changes needed.
-- Jose Carlos Garcia Sogo <jsogo@debian.org> Mon, 5 Jan 2004 21:30:53 +0100
smokeping (1.20-3) unstable; urgency=low
* Fixed how email adresses are parsed. (Closes: #193697)
* Fixed permissions in /var/lib/smokeping dir so the CGI can
also write in it. (Closes: #193749)
* Fixed init.d script so it doesn't fail when trying to remove a stopped
smokeping package. (Closes: #193855)
-- Jose Carlos Garcia Sogo <jsogo@debian.org> Fri, 23 May 2003 22:16:27 +0200
smokeping (1.20-2) unstable; urgency=low
* Changed the order in which /usr/share/doc/smokeping/pod/smokeping.pod link
is created, so we don't clash when installing *.pod files there.
(Closes: #193095)
-- Jose Carlos Garcia Sogo <jsogo@debian.org> Thu, 15 May 2003 23:18:21 +0200
smokeping (1.20-1) unstable; urgency=low
* New upstream version.
* Added a dnsutils to recommends field, as it is used by DNS probe.
* Standars-Version bumped to 3.5.9.
-- Jose Carlos Garcia Sogo <jsogo@debian.org> Mon, 12 May 2003 16:08:08 +0200
smokeping (1.19-1) unstable; urgency=low
* New upstream version. Add a DNS probe.
-- Jose Carlos Garcia Sogo <jsogo@debian.org> Thu, 20 Feb 2003 15:46:37 +0100
smokeping (1.18-1) unstable; urgency=low
* New upstream release.
- Allow sub millisecond patterns.
- Report a full link in smokeping alerts.
-- Jose Carlos Garcia Sogo <jsogo@debian.org> Mon, 16 Dec 2002 16:15:44 +0100
smokeping (1.16-1) unstable; urgency=low
* New upstream release:
- Graphs are showed in logarithmic scale.
- Added IOSPing probe.
-- Jose Carlos Garcia Sogo <jsogo@debian.org> Fri, 8 Nov 2002 20:50:19 +0100
smokeping (1.15-2) unstable; urgency=low
* Changed postinst to check if $2 parameter passed to dpkg
--compare-versions isn't empty. (Closes: #164451)
* Upped dependencies to speedy-cgi-perl (2.21-1) and perl (5.8).
-- Jose Carlos Garcia Sogo <jsogo@debian.org> Sat, 12 Oct 2002 13:05:49 +0200
smokeping (1.15-1) unstable; urgency=low
* Another upstream release:
- Bugfixes.
- Allow to call an external script upon matching an alert pattern.
- Unified mail tools.
-- Jose Carlos Garcia Sogo <jsogo@debian.org> Sat, 28 Sep 2002 12:42:28 +0200
smokeping (1.14-1) unstable; urgency=low
* New upstream release:
- Some bugfixes.
-- Jose Carlos Garcia Sogo <jsogo@debian.org> Sat, 28 Sep 2002 12:35:52 +0200
smokeping (1.13-1) unstable; urgency=low
* New upstream release.
-- Jose Carlos Garcia Sogo <jsogo@debian.org> Mon, 9 Sep 2002 21:03:01 +0200
smokeping (1.12-3) unstable; urgency=low
* Fixed dependencies for Perl 5.8
* Changed fping path to /usr/bin (Closes: #157905)
-- Jose Carlos Garcia Sogo <jsogo@debian.org> Sun, 1 Sep 2002 21:35:10 +0200
smokeping (1.12-2) unstable; urgency=low
* Moved rddtool data files to /var/lib/smokeping to comply
with FHS. With this we don't need to make tricks with the owner
of smokeping binary and with /var/www/smokeping perms. (Closes: #152475)
-- Jose Carlos Garcia Sogo <jsogo@debian.org> Sat, 20 Jul 2002 13:43:34 +0200
smokeping (1.12-1) unstable; urgency=low
* The "Once more I didn't received Freshmeat release announcement" release.
* New upstream release.
-- Jose Carlos Garcia Sogo <jsogo@debian.org> Sat, 8 Jun 2002 09:23:10 +0200
smokeping (1.11-1) unstable; urgency=low
* New upstream release.
-- Jose Carlos Garcia Sogo <jsogo@debian.org> Sat, 11 May 2002 15:49:10 +0200
smokeping (1.9-2) unstable; urgency=low
* Added a recommends in libsocket6-perl (Closes: #145164)
-- Jose Carlos Garcia Sogo <jsogo@debian.org> Wed, 1 May 2002 14:56:18 +0200
smokeping (1.9-1) unstable; urgency=low
* New upstream release.
-- Jose Carlos Garcia Sogo <jsogo@debian.org> Tue, 30 Apr 2002 00:27:05 +0200
smokeping (1.8-1) unstable; urgency=low
* New upstream release.
-- Jose Carlos Garcia Sogo <jsogo@debian.org> Fri, 26 Apr 2002 23:12:31 +0200
smokeping (1.6-2) unstable; urgency=low
* Changed /usr/bin/perl for /usr/bin/speedy in the smokeping binary and the
smokeping cgi. (Closes: #140384)
-- Jose Carlos Garcia Sogo <jsogo@debian.org> Tue, 2 Apr 2002 15:02:08 +0200
smokeping (1.6-1) unstable; urgency=low
* New upstream release. (Closes: #140056)
-- Jose Carlos Garcia Sogo <jsogo@debian.org> Thu, 28 Mar 2002 16:39:52 +0100
smokeping (1.5-1) unstable; urgency=low
* New upstream release.
* Added support for echoping.
* Changed "don't touch this" /etc/smokeping/config message.
(Closes: #137836)
-- Jose Carlos Garcia Sogo <jsogo@debian.org> Mon, 11 Mar 2002 15:54:37 +0100
smokeping (1.4-2) unstable; urgency=low
* Added forgotten #DEBHELPER# line in postinst.
Sorry for the new release, but the new incoming system works this way.
-- Jose Carlos Garcia Sogo <jsogo@debian.org> Sun, 10 Mar 2002 15:59:40 +0100
smokeping (1.4-1) unstable; urgency=low
* New upstream release.
-- Jose Carlos Garcia Sogo <jsogo@debian.org> Sun, 10 Mar 2002 15:28:38 +0100
smokeping (1.3-1) unstable; urgency=low
* New upstream release.
-- Jose Carlos Garcia Sogo <jsogo@debian.org> Sat, 9 Mar 2002 00:03:08 +0100
smokeping (1.1-2) unstable; urgency=low
* Added README.Debian file explaining where to go after installing the
package to configure it, and the man page in which you can get info.
* Added a missed dependency on libdigest-md5-perl. (Closes: #136255)
-- Jose Carlos Garcia Sogo <jsogo@debian.org> Fri, 1 Mar 2002 19:52:04 +0100
smokeping (1.1-1) unstable; urgency=low
* Initial Release. (Closes: #133824)
-- Jose Carlos Garcia Sogo <jsogo@debian.org> Wed, 13 Feb 2002 23:11:07 +0100

72
debian/control vendored Normal file
View File

@@ -0,0 +1,72 @@
Source: smokeping
Section: net
Priority: optional
Maintainer: Gabriel Filion <gabster@lelutin.ca>
Build-Depends: debhelper-compat (= 13)
, autoconf
, automake
, dh-apache2
, apache2-dev
, rename
Build-Depends-Indep: librrds-perl
, groff-base
, libhtml-parser-perl
, libdigest-hmac-perl
, libwww-perl
, liburi-perl
, libcgi-fast-perl
, libconfig-grammar-perl
, libnet-openssh-perl
, libnet-snmp-perl
, libnet-ldap-perl
, libnet-dns-perl
, libnet-telnet-perl
, libio-pty-perl
Standards-Version: 4.6.1
Homepage: https://smokeping.org/
Vcs-Browser: https://salsa.debian.org/debian/smokeping
Vcs-Git: https://salsa.debian.org/debian/smokeping.git
Package: smokeping
Architecture: all
Pre-Depends: ${misc:Pre-Depends}
Depends: ${perl:Depends}, ${misc:Depends}
, libwww-perl
, libsnmp-session-perl
, librrds-perl (>= 1.2)
, liburi-perl
, fping
, libcgi-fast-perl
, adduser
, libdigest-hmac-perl
, ucf
, libconfig-grammar-perl
, libjs-cropper
, libjs-scriptaculous
, libjs-prototype
, default-mta | mail-transport-agent
Recommends: apache2 | httpd-cgi
, libsocket6-perl
, dnsutils
, echoping
, ${misc:Recommends}
Suggests: curl
, libauthen-radius-perl
, libnet-ldap-perl
, libnet-dns-perl
, openssh-client
, libio-socket-ssl-perl
, libnet-telnet-perl
, libnet-openssh-perl
, libio-pty-perl
, libpath-tiny-perl
, libinfluxdb-lineprotocol-perl
, libobject-result-perl
Description: latency logging and graphing system
SmokePing consists of a daemon process which organizes the
latency measurements and a CGI which presents the graphs.
.
With SmokePing you can measure latency and packet loss in your network.
SmokePing uses RRDtool to maintain a longterm datastore and to draw pretty
graphs giving up to the minute information on the state of each
network connection.

156
debian/copyright vendored Normal file
View File

@@ -0,0 +1,156 @@
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: SmokePing
Source: https://github.com/oetiker/SmokePing
Comment:
The upstream source tarball is repacked to drop vendored javascript libraries.
Files-Excluded:
htdocs/js/cropper/*
htdocs/js/prototype.js
htdocs/js/scriptaculous/*
Files: *
Copyright: 2001-2005 Tobias Oetiker <tobi@oetiker.ch>
License: GPL-2+
Files: bin/tSmoke
Copyright: 2003 by Dan McGinn-Combs. All right reserved.
License: GPL-2+
Files: lib/Smokeping/Examples.pm lib/Smokeping/RRDtools.pm
Copyright: 2005 by Niko Tyni.
License: GPL-2+
Files: lib/Smokeping/matchers/Avgratio.pm lib/Smokeping/matchers/Median.pm lib/Smokeping/matchers/base.pm
Copyright: 2004 by OETIKER+PARTNER AG. All rights reserved.
License: GPL-2+
Files: lib/Smokeping/matchers/CheckLatency.pm lib/Smokeping/matchers/CheckLoss.pm
Copyright: 2006 Dylan C Vanderhoof, Semaphore Corporation
License: GPL-2+
Files: lib/BER.pm lib/SNMP_Session.pm
Copyright: 1995-2008, Simon Leinen.
.
This program is free software; you can redistribute it under the
"Artistic License 2.0" included in this distribution
(file "Artistic").
License: Artistic-2.0
Comment: These files are not used in the Debian version. The mentioned
"Artistic" license file is not present in the source repository.
Files: debian/*
Copyright: Wed, 13 Feb 2002 23:11:07 +0100 Jose Carlos Garcia Sogo <jsogo@debian.org>
2018-2020 Gabriel Filion <gabster@lelutin.ca>
License: GPL-2+
Comment: The copyright mention was not updated throughout the years and there
are more authors and contributors that donated their time to maintaining those
files.
License: GPL-2+
On Debian systems, the full text of the GNU General Public
License version 2 can be found in the file
`/usr/share/common-licenses/GPL-2'.
License: Artistic-2.0
Copyright (c) 2000-2006, The Perl Foundation.
.
Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.
Preamble
.
This license establishes the terms under which a given free software Package may be copied, modified, distributed, and/or redistributed. The intent is that the Copyright Holder maintains some artistic control over the development of that Package while still keeping the Package available as open source and free software.
.
You are always permitted to make arrangements wholly outside of this license directly with the Copyright Holder of a given Package. If the terms of this license do not permit the full use that you propose to make of the Package, you should contact the Copyright Holder and seek a different licensing arrangement.
Definitions
.
"Copyright Holder" means the individual(s) or organization(s) named in the copyright notice for the entire Package.
.
"Contributor" means any party that has contributed code or other material to the Package, in accordance with the Copyright Holder's procedures.
.
"You" and "your" means any person who would like to copy, distribute, or modify the Package.
.
"Package" means the collection of files distributed by the Copyright Holder, and derivatives of that collection and/or of those files. A given Package may consist of either the Standard Version, or a Modified Version.
.
"Distribute" means providing a copy of the Package or making it accessible to anyone else, or in the case of a company or organization, to others outside of your company or organization.
.
"Distributor Fee" means any fee that you charge for Distributing this Package or providing support for this Package to another party. It does not mean licensing fees.
.
"Standard Version" refers to the Package if it has not been modified, or has been modified only in ways explicitly requested by the Copyright Holder.
.
"Modified Version" means the Package, if it has been changed, and such changes were not explicitly requested by the Copyright Holder.
.
"Original License" means this Artistic License as Distributed with the Standard Version of the Package, in its current version or as it may be modified by The Perl Foundation in the future.
.
"Source" form means the source code, documentation source, and configuration files for the Package.
.
"Compiled" form means the compiled bytecode, object code, binary, or any other form resulting from mechanical transformation or translation of the Source form.
Permission for Use and Modification Without Distribution
.
(1) You are permitted to use the Standard Version and create and use Modified Versions for any purpose without restriction, provided that you do not Distribute the Modified Version.
Permissions for Redistribution of the Standard Version
.
(2) You may Distribute verbatim copies of the Source form of the Standard Version of this Package in any medium without restriction, either gratis or for a Distributor Fee, provided that you duplicate all of the original copyright notices and associated disclaimers. At your discretion, such verbatim copies may or may not include a Compiled form of the Package.
.
(3) You may apply any bug fixes, portability changes, and other modifications made available from the Copyright Holder. The resulting Package will still be considered the Standard Version, and as such will be subject to the Original License.
Distribution of Modified Versions of the Package as Source
.
(4) You may Distribute your Modified Version as Source (either gratis or for a Distributor Fee, and with or without a Compiled form of the Modified Version) provided that you clearly document how it differs from the Standard Version, including, but not limited to, documenting any non-standard features, executables, or modules, and provided that you do at least ONE of the following:
.
(a) make the Modified Version available to the Copyright Holder of the Standard Version, under the Original License, so that the Copyright Holder may include your modifications in the Standard Version.
(b) ensure that installation of your Modified Version does not prevent the user installing or running the Standard Version. In addition, the Modified Version must bear a name that is different from the name of the Standard Version.
(c) allow anyone who receives a copy of the Modified Version to make the Source form of the Modified Version available to others under
(i) the Original License or
(ii) a license that permits the licensee to freely copy, modify and redistribute the Modified Version using the same licensing terms that apply to the copy that the licensee received, and requires that the Source form of the Modified Version, and of any works derived from it, be made freely available in that license fees are prohibited but Distributor Fees are allowed.
Distribution of Compiled Forms of the Standard Version or Modified Versions without the Source
.
(5) You may Distribute Compiled forms of the Standard Version without the Source, provided that you include complete instructions on how to get the Source of the Standard Version. Such instructions must be valid at the time of your distribution. If these instructions, at any time while you are carrying out such distribution, become invalid, you must provide new instructions on demand or cease further distribution. If you provide valid instructions or cease distribution within thirty days after you become aware that the instructions are invalid, then you do not forfeit any of your rights under this license.
.
(6) You may Distribute a Modified Version in Compiled form without the Source, provided that you comply with Section 4 with respect to the Source of the Modified Version.
Aggregating or Linking the Package
.
(7) You may aggregate the Package (either the Standard Version or Modified Version) with other packages and Distribute the resulting aggregation provided that you do not charge a licensing fee for the Package. Distributor Fees are permitted, and licensing fees for other components in the aggregation are permitted. The terms of this license apply to the use and Distribution of the Standard or Modified Versions as included in the aggregation.
.
(8) You are permitted to link Modified and Standard Versions with other works, to embed the Package in a larger work of your own, or to build stand-alone binary or bytecode versions of applications that include the Package, and Distribute the result without restriction, provided the result does not expose a direct interface to the Package.
Items That are Not Considered Part of a Modified Version
.
(9) Works (including, but not limited to, modules and scripts) that merely extend or make use of the Package, do not, by themselves, cause the Package to be a Modified Version. In addition, such works are not considered parts of the Package itself, and are not subject to the terms of this license.
General Provisions
.
(10) Any use, modification, and distribution of the Standard or Modified Versions is governed by this Artistic License. By using, modifying or distributing the Package, you accept this license. Do not use, modify, or distribute the Package, if you do not accept this license.
.
(11) If your Modified Version has been derived from a Modified Version made by someone other than you, you are nevertheless required to ensure that your Modified Version complies with the requirements of this license.
.
(12) This license does not grant you the right to use any trademark, service mark, tradename, or logo of the Copyright Holder.
.
(13) This license includes the non-exclusive, worldwide, free-of-charge patent license to make, have made, use, offer to sell, sell, import and otherwise transfer the Package with respect to any patent claims licensable by the Copyright Holder that are necessarily infringed by the Package. If you institute patent litigation (including a cross-claim or counterclaim) against any party alleging that the Package constitutes direct or contributory patent infringement, then this Artistic License to you shall terminate on the date that such litigation is filed.
.
(14) Disclaimer of Warranty: THE PACKAGE IS PROVIDED BY THE COPYRIGHT HOLDER AND CONTRIBUTORS "AS IS' AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES. THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT ARE DISCLAIMED TO THE EXTENT PERMITTED BY YOUR LOCAL LAW. UNLESS REQUIRED BY LAW, NO COPYRIGHT HOLDER OR CONTRIBUTOR WILL BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING IN ANY WAY OUT OF THE USE OF THE PACKAGE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
License: BSD-3-clause
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
.
* Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
* Neither the name of the David Spurr nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
.
http://www.opensource.org/licenses/bsd-license.php
License: Expat
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
.
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.

1
debian/debhelper-build-stamp vendored Normal file
View File

@@ -0,0 +1 @@
smokeping

7
debian/default-config vendored Normal file
View File

@@ -0,0 +1,7 @@
@include /etc/smokeping/config.d/General
@include /etc/smokeping/config.d/Alerts
@include /etc/smokeping/config.d/Database
@include /etc/smokeping/config.d/Presentation
@include /etc/smokeping/config.d/Probes
@include /etc/smokeping/config.d/Slaves
@include /etc/smokeping/config.d/Targets

9
debian/dirs vendored Normal file
View File

@@ -0,0 +1,9 @@
etc/smokeping
etc/smokeping/config.d
usr/sbin
usr/share/smokeping/www/
usr/share/smokeping/www/js
var/cache/smokeping/images
var/lib/smokeping
var/lib/smokeping/__cgi
usr/lib/cgi-bin

1
debian/docs vendored Normal file
View File

@@ -0,0 +1 @@
README.md

4
debian/examples vendored Normal file
View File

@@ -0,0 +1,4 @@
doc/examples/*
etc/smokeping_secrets.dist
debian/systemd
debian/lighttpd_45-smokeping.conf

2
debian/files vendored Normal file
View File

@@ -0,0 +1,2 @@
smokeping_2.9.0+linuxiarz.pl-1_all.deb net optional
smokeping_2.9.0+linuxiarz.pl-1_amd64.buildinfo net optional

196
debian/init.d vendored Normal file
View File

@@ -0,0 +1,196 @@
#!/bin/sh
#
# /etc/init.d/smokeping
#
### BEGIN INIT INFO
# Provides: smokeping
# Required-Start: $syslog $network $remote_fs
# Should-Start: sshd apache
# Required-Stop: $syslog $network $remote_fs
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start or stop the smokeping latency logging system daemon
# Description: SmokePing is a latency logging and graphing system
# that consists of a daemon process which organizes
# the latency measurements and a CGI which presents
# the graphs. This script is used to start or stop
# the daemon.
### END INIT INFO
#
set -e
# Source LSB init functions
. /lib/lsb/init-functions
DAEMON=/usr/sbin/smokeping
NAME=smokeping
DESC="latency logger daemon"
CONFIG=/etc/smokeping/config
PIDFILE=/var/run/smokeping/$NAME.pid
DAEMON_USER=smokeping
DEFAULTS=/etc/default/smokeping
MODE=master
DAEMON_ARGS="--config=$CONFIG"
# LC_ALL prevents resetting LC_NUMERIC which in turn interferes
# with Smokeping internal regexps matching floating point numbers
unset LC_ALL
# Check whether the binary is still present:
test -f "$DAEMON" || exit 0
# source defaults for master vs. slave mode
if [ -f "$DEFAULTS" ]
then
. "$DEFAULTS"
fi
check_slave() {
if [ "$MODE" != "slave" ]
then
return
fi
if [ -z "$SHARED_SECRET" ]
then
log_progress_msg "(missing \$SHARED_SECRET setting)"
log_end_msg 6 # program is not configured
exit 6
fi
if [ ! -r "$SHARED_SECRET" ]
then
log_progress_msg "(invalid \$SHARED_SECRET setting)"
log_end_msg 2 # invalid or excess argument(s)
exit 2
fi
if [ -z "$MASTER_URL" ]
then
log_progress_msg "(missing \$MASTER_URL setting)"
log_end_msg 6 # program is not configured
exit 6
fi
DAEMON_ARGS="$DAEMON_ARGS --master-url $MASTER_URL --shared-secret $SHARED_SECRET"
if [ -n "$SLAVE_NAME" ]
then
DAEMON_ARGS="$DAEMON_ARGS --slave-name $SLAVE_NAME"
fi
DAEMON_ARGS="$DAEMON_ARGS --cache-dir /var/lib/smokeping"
DAEMON_ARGS="$DAEMON_ARGS --pid-dir /var/run/smokeping"
}
check_config () {
echo "Checking smokeping configuration file syntax..."
# Check whether the configuration file is available
if [ ! -r "$CONFIG" ] && [ "$MODE" = "master" ]
then
log_progress_msg "($CONFIG does not exist)"
log_end_msg 6 # program is not configured
exit 6
fi
if [ ! -d /var/run/smokeping ]; then
mkdir /var/run/smokeping
chown ${DAEMON_USER}.root /var/run/smokeping
chmod 0755 /var/run/smokeping
fi
${DAEMON} --config=${CONFIG} --check || exit 6
}
case "$1" in
start)
check_config
log_daemon_msg "Starting $DESC" $NAME
check_slave
set +e
pidofproc -p "$PIDFILE" "$DAEMON" > /dev/null
STATUS=$?
set -e
if [ "$STATUS" = 0 ]
then
log_progress_msg "already running"
log_end_msg $STATUS
exit $STATUS
fi
set +e
start-stop-daemon --start --quiet --exec $DAEMON --oknodo \
--chuid $DAEMON_USER --pidfile $PIDFILE \
-- $DAEMON_ARGS \
| logger -p daemon.notice -t $NAME
STATUS=$?
set -e
log_end_msg $STATUS
exit $STATUS
;;
stop)
log_daemon_msg "Shutting down $DESC" $NAME
set +e
start-stop-daemon --oknodo --stop --retry 3 --quiet --pidfile $PIDFILE --user $DAEMON_USER --signal 15
STATUS=$?
set -e
log_end_msg $STATUS
exit $STATUS
;;
restart)
# Restart service (if running) or start service
$0 stop
$0 start
;;
reload|force-reload)
check_config
log_action_begin_msg "Reloading $DESC configuration"
set +e
$DAEMON --reload $DAEMON_ARGS | logger -p daemon.notice -t smokeping
STATUS=$?
set -e
if [ "$STATUS" = 0 ]
then
log_action_end_msg 0 "If the CGI has problems reloading, see README.Debian."
else
log_action_end_msg $STATUS
fi
exit $STATUS
;;
check)
check_config
;;
status)
log_daemon_msg "Checking $DESC status" $NAME
# Use pidofproc to check the status of the service,
# pidofproc returns the exit status code of 0 when it the process is
# running.
# LSB defined exit status codes for status:
# 0 program is running or service is OK
# 1 program is dead and /var/run pid file exists
# 2 program is dead and /var/lock lock file exists
# 3 program is not running
# 4 program or service status is unknown
# 5-199 reserved (5-99 LSB, 100-149 distribution, 150-199 applications)
set +e
pidofproc -p "$PIDFILE" "$DAEMON" > /dev/null
STATUS=$?
log_progress_msg "(status $STATUS)"
log_end_msg 0
set -e
exit $STATUS
;;
*)
echo "Usage: $0 {start|stop|status|restart|force-reload|reload}"
exit 1
;;
esac

22
debian/lighttpd_45-smokeping.conf vendored Normal file
View File

@@ -0,0 +1,22 @@
# /etc/lighttpd/conf-available/45-smokeping.conf
# Configuration for smokeping CGI program
server.modules += ( "mod_fastcgi", "mod_rewrite" )
$HTTP["url"] =~ "^/smokeping/" {
server.document-root = "/usr/share/"
url.rewrite-once = (
"^/smokeping/($|\?)" => "/smokeping/smokeping.cgi?${qsa}",
"^/smokeping/(.*)" => "/smokeping/www/$1",
)
fastcgi.server = (
"/smokeping/smokeping.cgi" => (
"localhost" => (
"bin-path" => "/usr/lib/cgi-bin/smokeping.cgi",
"socket" => "/run/lighttpd/smokeping-fcgi.socket",
)
),
)
}
# vim: set ts=4 sw=4 et:

39
debian/patches/asset_path_changes vendored Normal file
View File

@@ -0,0 +1,39 @@
Description: fix the paths to javascript files
We're using javascript libraries from debian packages instead of the ones
vendored by upstream. Because of this some paths to libraries might differ a
bit.
Some folks are still using URLs of the form /cgi-bin/smokeping.cgi (which was
used up until buster). In order for css and js to be able to load with this
URL, we need to use our top-level alias to retrieve them.
Author: Antoine Beaupré <anarcat@debian.org>
Forwarded: not-needed
Last-Update: 2019-08-25
--- a/etc/basepage.html.dist
+++ b/etc/basepage.html.dist
@@ -4,8 +4,8 @@
<meta name="viewport" content="width=device-width, initial-scale=1">
<META http-equiv="Refresh" content="<##step##>">
<title>SmokePing Latency Page for <##title##></title>
- <link rel="stylesheet" type="text/css" href="css/smokeping-print.css" media="print">
- <link rel="stylesheet" type="text/css" href="css/smokeping-screen.css" media="screen">
+ <link rel="stylesheet" type="text/css" href="/smokeping/css/smokeping-print.css" media="print">
+ <link rel="stylesheet" type="text/css" href="/smokeping/css/smokeping-screen.css" media="screen">
</head>
<body id="body">
@@ -47,10 +47,10 @@
<p><small>Maintained by <a href="mailto:<##contact##>"><##owner##></a></small></p>
</div>
-<script src="js/prototype.js" type="text/javascript"></script>
-<script src="js/scriptaculous/scriptaculous.js?load=builder,effects,dragdrop" type="text/javascript"></script>
-<script src="js/cropper/cropper.js" type="text/javascript"></script>
-<script src="js/smokeping.js" type="text/javascript"></script>
+<script src="/smokeping/js/prototype/prototype.js" type="text/javascript"></script>
+<script src="/smokeping/js/scriptaculous/scriptaculous.js?load=builder,effects,dragdrop" type="text/javascript"></script>
+<script src="/smokeping/js/cropper/cropper.js" type="text/javascript"></script>
+<script src="/smokeping/js/smokeping.js" type="text/javascript"></script>
</body>
</html>

View File

@@ -0,0 +1,32 @@
Description: Don't build js libraries from third parties
These 3rd party libraries are getting excluded from the source through
repacking since we instead include those from the debian packages that already
exists for them. The build shouldn't try and process the non-existent files.
Author: Gabriel Filion <gabster@lelutin.ca>
Forwarded: not-needed
Origin: (upstream|backport|vendor|other), (<patch-url>|commit:<commit-id>)
--- smokeping-2.8.2+ds.orig/htdocs/Makefile.am
+++ smokeping-2.8.2+ds/htdocs/Makefile.am
@@ -16,21 +16,6 @@
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
JS = js/smokeping.js \
- js/prototype.js \
- js/cropper/cropper.js \
- js/cropper/licence.txt \
- js/cropper/marqueeVert.gif \
- js/cropper/cropper.uncompressed.js \
- js/cropper/cropper.css \
- js/cropper/marqueeHoriz.gif \
- js/scriptaculous/controls.js \
- js/scriptaculous/slider.js \
- js/scriptaculous/sound.js \
- js/scriptaculous/effects.js \
- js/scriptaculous/unittest.js \
- js/scriptaculous/builder.js \
- js/scriptaculous/scriptaculous.js \
- js/scriptaculous/dragdrop.js \
css/smokeping-print.css \
css/smokeping-screen.css

54
debian/patches/fix-conf-paths vendored Normal file
View File

@@ -0,0 +1,54 @@
Description: use Debian paths instead of silly ones
Forwarded: not-needed
Index: b/etc/config.dist.in
===================================================================
--- a/etc/config.dist.in 2018-05-12 17:07:16.029079629 -0400
+++ b/etc/config.dist.in 2018-05-12 17:08:53.349752138 -0400
@@ -3,17 +3,17 @@
owner = Peter Random
contact = some@address.nowhere
mailhost = my.mail.host
-sendmail = @SENDMAIL@
+sendmail = /usr/sbin/sendmail
# NOTE: do not put the Image Cache below cgi-bin
# since all files under cgi-bin will be executed ... this is not
# good for images.
-imgcache = @prefix@/cache
-imgurl = cache
-datadir = @prefix@/data
-piddir = @prefix@/var
+imgcache = /var/cache/smokeping/images
+imgurl = ../smokeping/images
+datadir = /var/lib/smokeping
+piddir = /run/smokeping
cgiurl = http://some.url/smokeping.cgi
-smokemail = @prefix@/etc/smokemail.dist
-tmail = @prefix@/etc/tmail.dist
+smokemail = /etc/smokeping/smokemail
+tmail = /etc/smokeping/tmail
# specify this to get syslog logging
syslogfacility = local0
# each probe is now run in its own process
@@ -47,7 +47,7 @@ AVERAGE 0.5 144 720
*** Presentation ***
-template = @prefix@/etc/basepage.html.dist
+template = /etc/smokeping/basepage.html
htmltitle = yes
graphborders = no
@@ -107,10 +107,10 @@ unison_tolerance = 2
+ FPing
-binary = /usr/sbin/fping
+binary = /usr/bin/fping
*** Slaves ***
-secrets=@prefix@/etc/smokeping_secrets.dist
+secrets=/etc/smokeping/smokeping_secrets
+boomer
display_name=boomer
color=0000ff

View File

@@ -0,0 +1,173 @@
Description: hardcode the path to the config file in CGI
Author: Antoine Beaupré <anarcat@debian.org>
Forwarded: not-needed
Last-Update: 2019-02-16
Index: b/bin/smokeping_cgi
===================================================================
--- a/bin/smokeping_cgi 2018-05-12 17:02:02.090910241 -0400
+++ b/bin/smokeping_cgi 2018-05-12 17:05:36.224389954 -0400
@@ -4,9 +4,7 @@
use strict;
use warnings;
-use FindBin;
use lib (split /:/, q{}); # PERL5LIB
-use lib "$FindBin::RealBin/../lib";use lib "$FindBin::RealBin/../thirdparty/lib/perl5"; # LIBDIR
# don't bother with zombies
$SIG{CHLD} = 'IGNORE';
@@ -17,7 +15,7 @@ use Smokeping;
use CGI::Fast;
-my $cfg = (shift @ARGV) || "$FindBin::Bin/../etc/config";
+my $cfg = (shift @ARGV) || "/etc/smokeping/config";
while (my $q = new CGI::Fast) {
Index: b/bin/smokeping
===================================================================
--- a/bin/smokeping 2018-05-12 17:04:04.175753876 -0400
+++ b/bin/smokeping 2018-05-12 17:05:08.868200917 -0400
@@ -4,13 +4,11 @@
use strict;
use warnings;
-use FindBin;
use lib (split /:/, q{}); # PERL5LIB
-use lib "$FindBin::RealBin/../lib";use lib "$FindBin::RealBin/../thirdparty/lib/perl5"; # LIBDIR
use Smokeping;
-
-Smokeping::main("$FindBin::RealBin/../etc/config");
+
+Smokeping::main("/etc/smokeping/config");
=head1 NAME
@@ -128,25 +126,6 @@ L<documentation on the SmokePing configuration file|smokeping_config>.
Please refer to L<the installation document|smokeping_install> for detailed setup instructions.
-=head1 SETUP
-
-When installing SmokePing, this file has to be adjusted to fit your
-local system. Three paths have to be entered.
-
-One pointing to your B<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");
-
=head1 SEE ALSO
L<smokeping_config(5)>, L<smokeping_examples(5)>, L<smokeping_cgi(1)>,
Index: b/bin/tSmoke
===================================================================
--- a/bin/tSmoke 2018-05-12 17:04:04.175753876 -0400
+++ b/bin/tSmoke 2018-05-12 17:06:18.924685024 -0400
@@ -53,7 +53,6 @@ use warnings;
# Point the lib variables to your implementation
use lib (split /:/, q{}); # PERL5LIB
-use FindBin;use lib "$FindBin::RealBin/../lib";use lib "$FindBin::RealBin/../thirdparty/lib/perl5"; # LIBDIR
use Smokeping;
@@ -63,7 +62,7 @@ use Pod::Usage;
use RRDs;
# Point to your Smokeping config file
-my $cfgfile = (shift @ARGV) || "$FindBin::Bin/../etc/config";
+my $cfgfile = (shift @ARGV) || "/etc/smokeping/config";
# global variables
my $cfg;
@@ -498,39 +497,9 @@ past week and past month including an overview.
Typical crontab used to invoke this are
# Quick morning alert to see what's down
- 0 6 * * * /usr/local/smokeping/bin/tSmoke.pl --q --to=mobilephone@att.net.invalid --morning
+ 0 6 * * * /usr/sbin/tSmoke --q --to=mobilephone@att.net.invalid --morning
# Weekly report on the percent availability of network systems with no detail
- 0 8 * * * /usr/local/smokeping/bin/tSmoke.pl --q --to=mailbox@company.com.invalid --weekly --detail=0
-
-=head1 SETUP
-
-When installing tSmoke, some variables must be adjusted to fit your local system.
-
-We need to use the following B<libraries>:
-
-=over
-
-=item Smokeping
-
-=item RRDTool Perl bindings
-
-=item Getopt::Long
-
-=back
-
-Set up your libraries:
-
- use lib "/usr/local/smokeping/lib";
- use lib "/usr/local/rrdtool-1.0.39/lib/perl";
-
-Point to your Smokeping B<config> file
-
- my $cfgfile = "/usr/local/smokeping/etc/config";
-
-Modify the Smokeping config file to include a path for tmail in the
-General section:
-
- tmail = /usr/local/smokeping/etc/tmail
+ 0 8 * * * /usr/sbin/tSmoke --q --to=mailbox@company.com.invalid --weekly --detail=0
=head1 SEE ALSO
diff --git a/bin/smokeinfo b/bin/smokeinfo
index 7c56c0f..83a346e 100755
--- a/bin/smokeinfo
+++ b/bin/smokeinfo
@@ -3,7 +3,6 @@ use strict;
use warnings;
use lib (split /:/, q{}); # PERL5LIB
-use FindBin;use lib "$FindBin::RealBin/../lib";use lib "$FindBin::RealBin/../thirdparty/lib/perl5"; # LIBDIR
use Smokeping::Info;
use Getopt::Long 2.25 qw(:config no_ignore_case);
@@ -82,19 +81,19 @@ they work on the same syntax.
Get all data all nodes
- smokeinfo etc/config
+ smokeinfo /etc/smokeping/config
Only show nodes directly under /Customers
- smokeinfo --filter=/Customers/ etc/config
+ smokeinfo --filter=/Customers/ /etc/smokeping/config
Show all nodes under /Customers
- smokeinfo --mode=recursive --filter=/Customers/ etc/config
+ smokeinfo --mode=recursive --filter=/Customers/ /etc/smokeping/config
Show all nodes with '_wlan_' in the name
- smokeinfo --mode=regexp --filter=_wlan_ etc/config
+ smokeinfo --mode=regexp --filter=_wlan_ /etc/smokeping/config
=head1 SEE ALSO

14
debian/patches/fix-perl-lib vendored Normal file
View File

@@ -0,0 +1,14 @@
Description: fix path for perl libs
Debian packages drop libraries in a different place than upstream
Forwarded: not-needed
Last-Update: 2019-02-10
--- smokeping-2.6.5.orig/lib/Makefile.am
+++ smokeping-2.6.5/lib/Makefile.am
@@ -31,5 +31,5 @@ MATCH := $(wildcard Smokeping/matchers/*
EXTRA_DIST = $(PM) $(SP) $(SORT) $(PROBE) $(MATCH)
-perllibdir = $(prefix)/lib
+perllibdir = $(prefix)/share/perl5
nobase_perllib_DATA = $(EXTRA_DIST)

22
debian/patches/fix_curl_probe.patch vendored Normal file
View File

@@ -0,0 +1,22 @@
Description: Curl's help text changed format
Fix issue caused by curl 7.74 and later shortening default help
Author: Mat Ellis <excloudymat@gmail.com>
Origin: upstream
Bug-Debian: https://bugs.debian.org/986068
Forwarded: https://github.com/oetiker/SmokePing/issues/266
Applied-Upstream: https://github.com/oetiker/SmokePing/commit/3a290ee5e603782c5ba3bc4ec7294c8971cc88c4
---
Note: this was merged upstream after release of 2.8.2
--- smokeping-2.8.2.orig/lib/Smokeping/probes/Curl.pm
+++ smokeping-2.8.2/lib/Smokeping/probes/Curl.pm
@@ -220,7 +220,7 @@ sub test_usage {
my $arghashref = $self->features;
my %arghash = %$arghashref;
- my $curl_man = `$bin --help`;
+ my $curl_man = `$bin --help all`;
for my $feature (keys %arghash) {
next if $curl_man =~ /\Q$arghash{$feature}/;

72
debian/patches/proper-sample-conf vendored Normal file
View File

@@ -0,0 +1,72 @@
Description: setup a proper sample configuration
This disables slaves and setups targets that are sure to work (no
slaves, localhost). It also sets up utf8
Author: Antoine Beaupré <anarcat@debian.org>
Forwarded: not-needed
Last-Update: 2019-02-10
Index: b/etc/config.dist.in
===================================================================
--- a/etc/config.dist.in 2018-05-12 17:09:30.386008068 -0400
+++ b/etc/config.dist.in 2018-05-12 17:13:09.471522001 -0400
@@ -48,6 +48,7 @@ AVERAGE 0.5 144 720
*** Presentation ***
template = /etc/smokeping/basepage.html
+charset = utf-8
htmltitle = yes
graphborders = no
@@ -111,13 +112,13 @@ binary = /usr/bin/fping
*** Slaves ***
secrets=/etc/smokeping/smokeping_secrets
-+boomer
-display_name=boomer
-color=0000ff
-
-+slave2
-display_name=another
-color=00ff00
+#+boomer
+#display_name=boomer
+#color=0000ff
+
+#+slave2
+#display_name=another
+#color=00ff00
*** Targets ***
@@ -128,21 +129,16 @@ title = Network Latency Grapher
remark = Welcome to the SmokePing website of xxx Company. \
Here you will learn all about the latency of our network.
-+ Test
-menu= Targets
-#parents = owner:/Test/James location:/
++ Local
-++ James
+menu = Local
+title = Local Network
+#parents = owner:/Test/James location:/
-menu = James
-title =James
-alerts = someloss
-slaves = boomer slave2
-host = james.address
-
-++ MultiHost
-
-menu = Multihost
-title = James and James as seen from Boomer
-host = /Test/James /Test/James~boomer
+++ LocalMachine
+menu = Local Machine
+title = This host
+host = localhost
+#alerts = someloss
+#slaves = boomer slave2

7
debian/patches/series vendored Normal file
View File

@@ -0,0 +1,7 @@
asset_path_changes
fix-perl-lib
fix-paths-inside-executables
fix-conf-paths
proper-sample-conf
fix_curl_probe.patch
dont_build_third_party_js.patch

69
debian/postinst vendored Normal file
View File

@@ -0,0 +1,69 @@
#! /bin/sh
# postinst script for smokeping
#
# see: dh_installdeb(1)
set -e
# summary of how this script can be called:
# * <postinst> `configure' <most-recently-configured-version>
# * <old-postinst> `abort-upgrade' <new version>
# * <conflictor's-postinst> `abort-remove' `in-favour' <package>
# <new-version>
# * <deconfigured's-postinst> `abort-deconfigure' `in-favour'
# <failed-install-package> <version> `removing'
# <conflicting-package> <version>
# for details, see http://www.debian.org/doc/debian-policy/ or
# the debian-policy package
#
# quoting from the policy:
# Any necessary prompting should almost always be confined to the
# post-installation script, and should be protected with a conditional
# so that unnecessary prompting doesn't happen if a package's
# installation fails and the `postinst' is called with `abort-upgrade',
# `abort-remove' or `abort-deconfigure'.
setup_permissions() {
# Smokeping.cgi is run as user www-data, so we need it to be able
# to write in /var/cache/smokeping/images and in /var/lib/smokeping/__cgi
chown smokeping:smokeping /var/lib/smokeping
chown www-data /var/cache/smokeping/images
chown smokeping:www-data /var/lib/smokeping/__cgi
chmod 2775 /var/lib/smokeping/__cgi
chown smokeping:www-data /etc/smokeping/smokeping_secrets
chmod 640 /etc/smokeping/smokeping_secrets
}
# OK, let's go
case "$1" in
configure|reconfigure)
getent passwd smokeping > /dev/null || \
adduser --system --group --home /var/lib/smokeping --no-create-home --gecos "SmokePing daemon" smokeping
setup_permissions
if [ -e /usr/share/apache2/apache2-maintscript-helper ] ; then
. /usr/share/apache2/apache2-maintscript-helper
apache2_invoke enmod cgi
fi
;;
abort-upgrade|abort-remove|abort-deconfigure)
;;
*)
echo "postinst called with unknown argument \`$1'" >&2
exit 1
;;
esac
# dh_installdeb will replace this with shell code automatically
# generated by other debhelper scripts.
#DEBHELPER#
exit 0

61
debian/postrm vendored Normal file
View File

@@ -0,0 +1,61 @@
#! /bin/sh
# postrm script for smoke
#
# see: dh_installdeb(1)
set -e
# summary of how this script can be called:
# * <postrm> `remove'
# * <postrm> `purge'
# * <old-postrm> `upgrade' <new-version>
# * <new-postrm> `failed-upgrade' <old-version>
# * <new-postrm> `abort-install'
# * <new-postrm> `abort-install' <old-version>
# * <new-postrm> `abort-upgrade' <old-version>
# * <disappearer's-postrm> `disappear' <r>overwrit>r> <new-version>
# for details, see http://www.debian.org/doc/debian-policy/ or
# the debian-policy package
case "$1" in
purge)
rm -rf /var/run/smokeping
rm -rf /var/cache/smokeping
rm -rf /var/lib/smokeping
for f in basepage.html smokemail tmail config
do
file=/etc/smokeping/$f
if command -v ucf >/dev/null 2>&1; then
ucf --purge $file || true
fi
if command -v ucfr >/dev/null 2>&1; then
ucfr --purge smokeping $file || true
fi
rm -f $file $file.ucf-old $file.ucf-new $file.ucf-dist
done
for f in Alerts Database General pathnames Presentation Probes Slaves Targets
do
file=/etc/smokeping/config.d/$f
if command -v ucf >/dev/null 2>&1; then
ucf --purge $file || true
fi
if command -v ucfr >/dev/null 2>&1; then
ucfr --purge smokeping $file || true
fi
rm -f $file $file.ucf-old $file.ucf-new $file.ucf-dist
done
[ ! -d /etc/smokeping/config.d ] || rmdir --ignore-fail-on-non-empty --parents /etc/smokeping/config.d
esac
# dh_installdeb will replace this with shell code automatically
# generated by other debhelper scripts.
#DEBHELPER#
exit 0

49
debian/preinst vendored Normal file
View File

@@ -0,0 +1,49 @@
#!/bin/sh
# preinst script for #PACKAGE#
#
# see: dh_installdeb(1)
set -e
# summary of how this script can be called:
# * <new-preinst> `install'
# * <new-preinst> `install' <old-version>
# * <new-preinst> `upgrade' <old-version>
# * <old-preinst> `abort-upgrade' <new-version>
# for details, see http://www.debian.org/doc/debian-policy/ or
# the debian-policy package
case "$1" in
install|upgrade)
IFS=":"
ucfq -w /etc/smokeping/basepage.html \
/etc/smokeping/smokemail \
/etc/smokeping/config.d/Alerts \
/etc/smokeping/config.d/Presentation \
/etc/smokeping/config.d/pathnames \
/etc/smokeping/config.d/Targets \
/etc/smokeping/config.d/General \
/etc/smokeping/config.d/Slaves \
| while read file package exists changed; do
if [ "$package" = "smokeping" -a "$changed" = "No" ]; then
rm -f "$file"
fi
done
;;
abort-upgrade)
;;
*)
echo "preinst called with unknown argument \`$1'" >&2
exit 1
;;
esac
# dh_installdeb will replace this with shell code automatically
# generated by other debhelper scripts.
#DEBHELPER#
exit 0

63
debian/rules vendored Executable file
View File

@@ -0,0 +1,63 @@
#!/usr/bin/make -f
# -*- makefile -*-
# Sample debian/rules that uses debhelper.
#
# This file was originally written by Joey Hess and Craig Small.
# As a special exception, when this file is copied by dh-make into a
# dh-make output file, you may use that output file without restriction.
# This special exception was added by Craig Small in version 0.37 of dh-make.
#
# Modified to make a template file for a multi-binary package with separated
# build-arch and build-indep targets by Bill Allombert 2001
# Uncomment this to turn on verbose mode.
#export DH_VERBOSE=1
# This has to be exported to make some magic below work.
export DH_OPTIONS
# smokeping doesn't like building with your locale
unexport LC_ALL
TMP=$(CURDIR)/debian/smokeping
SUBDIRS="doc etc htdocs lib bin"
override_dh_auto_configure:
dh_auto_configure -- --prefix=/usr --with-htdocs-dir=/usr/share/smokeping/www --bindir=/usr/sbin --sysconfdir=/usr/share/doc/smokeping/ --libdir=/usr/share/perl5
override_dh_auto_build:
dh_auto_build -- SUBDIRS=$(SUBDIRS)
override_dh_auto_test:
dh_auto_test -- SUBDIRS=$(SUBDIRS)
override_dh_auto_install:
dh_auto_install -- SUBDIRS=$(SUBDIRS)
# Move Perl modules to correct location
mkdir -p $(TMP)/usr/share/perl5
if [ -d $(TMP)/usr/lib/Smokeping ] || [ -f $(TMP)/usr/lib/Smokeping.pm ]; then \
mv -v $(TMP)/usr/lib/Smokeping* $(TMP)/usr/share/perl5/; \
fi
install -v -m 644 $(CURDIR)/htdocs/js/smokeping.js $(TMP)/usr/share/smokeping/www/js
mkdir -p $(TMP)/etc/smokeping/config.d
mkdir -p $(TMP)/usr/lib/cgi-bin
mv -v $(TMP)/usr/share/doc/smokeping/*.dist $(TMP)/etc/smokeping/
rename -v 's/\.dist$$//' $(TMP)/etc/smokeping/*.dist
rm -vf $(TMP)/usr/share/smokeping/smokeping.fcgi.dist
rm -vf $(TMP)/usr/share/perl5/BER.pm $(TMP)/usr/share/perl5/SNMP_*
mv -v $(TMP)/usr/sbin/smokeping_cgi $(TMP)/usr/share/smokeping/smokeping.cgi
install -v -m 755 $(CURDIR)/debian/smokeping.cgi $(TMP)/usr/lib/cgi-bin/smokeping.cgi
$(CURDIR)/debian/split_config $(TMP)
install -v -m 644 $(CURDIR)/debian/default-config $(TMP)/etc/smokeping/config
override_dh_link:
find $(TMP)/usr/share/smokeping/www/js/ -mindepth 1 -maxdepth 1 -type d -exec rm -rf {} +
dh_link
%:
dh $@ --with apache2

1
debian/smokeping.apache2 vendored Normal file
View File

@@ -0,0 +1 @@
conf debian/smokeping.conf apache2

3
debian/smokeping.cgi vendored Normal file
View File

@@ -0,0 +1,3 @@
#!/bin/sh
exec /usr/share/smokeping/smokeping.cgi /etc/smokeping/config

9
debian/smokeping.conf vendored Normal file
View File

@@ -0,0 +1,9 @@
ScriptAlias /smokeping/smokeping.cgi /usr/lib/cgi-bin/smokeping.cgi
Alias /smokeping /usr/share/smokeping/www
<Directory "/usr/share/smokeping/www">
Options FollowSymLinks
Require all granted
DirectoryIndex smokeping.cgi
</Directory>

1
debian/smokeping.debhelper.log vendored Normal file
View File

@@ -0,0 +1 @@
dh_link

16
debian/smokeping.default vendored Normal file
View File

@@ -0,0 +1,16 @@
# /etc/default/smokeping: Startup configuration for smokeping(1)
#
# select master or slave mode
MODE=master
# in master mode, the rest of the configuration is in
# /etc/smokeping/config
#
# in slave mode, uncomment and set the following variables too
# see smokeping(1)
#
# Mandatory configuration
# MASTER_URL=http://somewhere/cgi-bin/smokeping.cgi
# SHARED_SECRET=/etc/smokeping/slavesecrets.conf
#
# Optional configuration
# SLAVE_NAME=myslave

0
debian/smokeping.dirs vendored Normal file
View File

4
debian/smokeping.links vendored Normal file
View File

@@ -0,0 +1,4 @@
/var/cache/smokeping/images /usr/share/smokeping/www/images
/usr/share/javascript/cropper /usr/share/smokeping/www/js/cropper
/usr/share/javascript/prototype /usr/share/smokeping/www/js/prototype
/usr/share/javascript/scriptaculous /usr/share/smokeping/www/js/scriptaculous

1
debian/smokeping.maintscript vendored Normal file
View File

@@ -0,0 +1 @@
mv_conffile /etc/smokeping/apache2.conf /etc/apache2/conf-available/smokeping.conf

13
debian/smokeping.postinst.debhelper vendored Normal file
View File

@@ -0,0 +1,13 @@
# Automatically added by dh_apache2/UNDECLARED
if true; then
if [ -e /usr/share/apache2/apache2-maintscript-helper ] ; then
. /usr/share/apache2/apache2-maintscript-helper
for conf in smokeping ; do
apache2_invoke enconf $conf || exit 1
done
fi
fi
# End automatically added section
# Automatically added by dh_installdeb/13.24.2
dpkg-maintscript-helper mv_conffile /etc/smokeping/apache2.conf /etc/apache2/conf-available/smokeping.conf -- "$@"
# End automatically added section

28
debian/smokeping.postrm.debhelper vendored Normal file
View File

@@ -0,0 +1,28 @@
# Automatically added by dh_installdeb/13.24.2
dpkg-maintscript-helper mv_conffile /etc/smokeping/apache2.conf /etc/apache2/conf-available/smokeping.conf -- "$@"
# End automatically added section
# Automatically added by dh_installsystemd/13.24.2
if [ "$1" = remove ] && [ -d /run/systemd/system ] ; then
systemctl --system daemon-reload >/dev/null || true
fi
# End automatically added section
# Automatically added by dh_installsystemd/13.24.2
if [ "$1" = "purge" ]; then
if [ -x "/usr/bin/deb-systemd-helper" ]; then
deb-systemd-helper purge 'smokeping.service' >/dev/null || true
fi
fi
# End automatically added section
# Automatically added by dh_apache2/UNDECLARED
if [ "$1" = "purge" ] ; then
if true; then
if [ -e /usr/share/apache2/apache2-maintscript-helper ] ; then
. /usr/share/apache2/apache2-maintscript-helper
for conf in smokeping ; do
apache2_invoke disconf $conf || exit 1
done
fi
fi
fi
# End automatically added section

3
debian/smokeping.preinst.debhelper vendored Normal file
View File

@@ -0,0 +1,3 @@
# Automatically added by dh_installdeb/13.24.2
dpkg-maintscript-helper mv_conffile /etc/smokeping/apache2.conf /etc/apache2/conf-available/smokeping.conf -- "$@"
# End automatically added section

16
debian/smokeping.prerm.debhelper vendored Normal file
View File

@@ -0,0 +1,16 @@
# Automatically added by dh_installdeb/13.24.2
dpkg-maintscript-helper mv_conffile /etc/smokeping/apache2.conf /etc/apache2/conf-available/smokeping.conf -- "$@"
# End automatically added section
# Automatically added by dh_apache2/UNDECLARED
if [ "$1" = "remove" ] || [ "$1" = "deconfigure" ] ; then
if true; then
if [ -e /usr/share/apache2/apache2-maintscript-helper ] ; then
. /usr/share/apache2/apache2-maintscript-helper
for conf in smokeping ; do
apache2_invoke disconf $conf || exit 1
done
fi
fi
fi
# End automatically added section

24
debian/smokeping.service vendored Normal file
View File

@@ -0,0 +1,24 @@
[Unit]
Description=Latency Logging and Graphing System
Documentation=man:smokeping(1) file:/usr/share/doc/smokeping/examples/systemd/slave_mode.conf
After=network.target
[Service]
# It would in theory be simpler to run smokeping with the --nodaemon option and
# Type=simple, but smokeping does not work properly when in "slave" mode with
# --nodaemon set.
Type=forking
RuntimeDirectory=smokeping
PIDFile=/run/smokeping/smokeping.pid
User=smokeping
Group=smokeping
# If you need to run smokeping in slave/master mode, see the example unit
# override in /usr/share/doc/smokeping/examples/systemd/slave_mode.conf
#ExecStart=/usr/sbin/smokeping --pid-dir=/run/smokeping
ExecStart=/usr/sbin/smokeping --config=/etc/smokeping/config --nodaemon
ExecReload=/bin/kill -HUP $MAINPID
[Install]
WantedBy=multi-user.target

4
debian/smokeping.substvars vendored Normal file
View File

@@ -0,0 +1,4 @@
misc:Recommends=apache2 ( >= 2.4.6-4~ ) | apache2 | httpd
misc:Pre-Depends=init-system-helpers (>= 1.54~)
perl:Depends=perl:any
misc:Depends=

16
debian/smokeping/DEBIAN/conffiles vendored Normal file
View File

@@ -0,0 +1,16 @@
/etc/apache2/conf-available/smokeping.conf
/etc/default/smokeping
/etc/init.d/smokeping
/etc/smokeping/basepage.html
/etc/smokeping/config
/etc/smokeping/config.d/Alerts
/etc/smokeping/config.d/Database
/etc/smokeping/config.d/General
/etc/smokeping/config.d/Presentation
/etc/smokeping/config.d/Probes
/etc/smokeping/config.d/Slaves
/etc/smokeping/config.d/Targets
/etc/smokeping/config.d/pathnames
/etc/smokeping/smokemail
/etc/smokeping/smokeping_secrets
/etc/smokeping/tmail

20
debian/smokeping/DEBIAN/control vendored Normal file
View File

@@ -0,0 +1,20 @@
Package: smokeping
Version: 2.9.0+linuxiarz.pl-1
Architecture: all
Maintainer: Gabriel Filion <gabster@lelutin.ca>
Installed-Size: 1328
Pre-Depends: init-system-helpers (>= 1.54~)
Depends: perl:any, libwww-perl, libsnmp-session-perl, librrds-perl (>= 1.2), liburi-perl, fping, libcgi-fast-perl, adduser, libdigest-hmac-perl, ucf, libconfig-grammar-perl, libjs-cropper, libjs-scriptaculous, libjs-prototype, default-mta | mail-transport-agent
Recommends: apache2 | httpd-cgi, libsocket6-perl, dnsutils, echoping, apache2 (>= 2.4.6-4~) | apache2 | httpd
Suggests: curl, libauthen-radius-perl, libnet-ldap-perl, libnet-dns-perl, openssh-client, libio-socket-ssl-perl, libnet-telnet-perl, libnet-openssh-perl, libio-pty-perl, libpath-tiny-perl, libinfluxdb-lineprotocol-perl, libobject-result-perl
Section: net
Priority: optional
Homepage: https://smokeping.org/
Description: latency logging and graphing system
SmokePing consists of a daemon process which organizes the
latency measurements and a CGI which presents the graphs.
.
With SmokePing you can measure latency and packet loss in your network.
SmokePing uses RRDtool to maintain a longterm datastore and to draw pretty
graphs giving up to the minute information on the state of each
network connection.

171
debian/smokeping/DEBIAN/md5sums vendored Normal file
View File

@@ -0,0 +1,171 @@
1134871f6bbdb7d37b13eb019bb9e380 usr/lib/BER.pm
6efd1989ec82c270e2a65466472f9038 usr/lib/SNMP_Session.pm
c6ea0ad89e3104d3f443f5a15463e46c usr/lib/SNMP_util.pm
ba82c5349a68b5dd4bc67d054e207c09 usr/lib/cgi-bin/smokeping.cgi
33a46ca6af4d1b48ed8abdeccc32b1d1 usr/lib/systemd/system/smokeping.service
c83cd7df37e8093e5fe03191540ee58d usr/sbin/smokeinfo
e70d4d37db446134c798b0e698d367b3 usr/sbin/smokeping
f4bbe4fcd858c3ada743a04239df658f usr/sbin/tSmoke
655a4ab4ff4e423d97918f149998253a usr/share/doc/smokeping/README.Debian
e1cbcec71e50595b705ff09f50d99bf2 usr/share/doc/smokeping/README.md
6b898ee5ee17e1ab773b1508da85c423 usr/share/doc/smokeping/TODO.Debian
7e3793102739694e106f07d303eba7eb usr/share/doc/smokeping/changelog.Debian.gz
fdb39f1efd5996a10a8a6c94ec679160 usr/share/doc/smokeping/changelog.gz
e65a7f6581c141086e888c9c87871b08 usr/share/doc/smokeping/copyright
a794267c6c448b40f0caeb33e6577287 usr/share/doc/smokeping/examples/config.echoping
b14664ebe2f9bf358f0de46cd8e2c7ca usr/share/doc/smokeping/examples/config.fping-instances
02acc4fbd7dd1106eae421e6fead04be usr/share/doc/smokeping/examples/config.multiple-probes
912cff778776afcf920f188b1fc80e88 usr/share/doc/smokeping/examples/config.simple
ab40e404a087e30556385c112ec44bce usr/share/doc/smokeping/examples/config.targetvars-with-Curl
794a4f3d1d7de13da52fe039c9d5a6cb usr/share/doc/smokeping/examples/config.template
78bb389ff3b5f86fd9f5c799ba3efabb usr/share/doc/smokeping/examples/lighttpd_45-smokeping.conf
20a41dc90ae70beba75139b8200ae253 usr/share/doc/smokeping/examples/smokeping_secrets.dist
8177fd878d08dd1d07905b4714475906 usr/share/doc/smokeping/examples/systemd/slave_mode.conf
b732161ea94edd01a3da533a76020d55 usr/share/man/man1/smokeinfo.1.gz
b1320c9ecf943938b07ad7f1be6a2ab5 usr/share/man/man1/smokeping.1.gz
8bbe4143c901543ebc15ee0cfc16f7bc usr/share/man/man1/smokeping_cgi.1.gz
efdf999b8bc342f6d94b804dfd7c178c usr/share/man/man1/tSmoke.1.gz
e1ae1fe9761f92229b3e6e37b244cd5d usr/share/man/man3/Smokeping_matchers_Avgratio.3.gz
c20afb8a74c7abab4a04209eaebea131 usr/share/man/man3/Smokeping_matchers_CheckLatency.3.gz
2eab1a1c61c0371412ed830839d7bf26 usr/share/man/man3/Smokeping_matchers_CheckLoss.3.gz
78af44735461bcbbd5742b93fc44c599 usr/share/man/man3/Smokeping_matchers_ConsecutiveLoss.3.gz
335186c50604e763760374c2fffec076 usr/share/man/man3/Smokeping_matchers_ExpLoss.3.gz
29bb8b5d67e235ace9d571d2507ae48d usr/share/man/man3/Smokeping_matchers_Median.3.gz
22f64ed24f88d82eb9ac74f621ccd62f usr/share/man/man3/Smokeping_matchers_Medratio.3.gz
a878c675f065a0d59065d3330d6b44bf usr/share/man/man3/Smokeping_matchers_base.3.gz
94b0f0b15e3c783d73e53d24442d34f9 usr/share/man/man3/Smokeping_probes_AnotherCurl.3.gz
f72546c54ff4f494521a08ac1e58b3bf usr/share/man/man3/Smokeping_probes_AnotherDNS.3.gz
4bc247df21865f827d7d0cc6d11f4ad5 usr/share/man/man3/Smokeping_probes_AnotherSSH.3.gz
134b6e05cd4183c66e735c0c241f3779 usr/share/man/man3/Smokeping_probes_CiscoRTTMonDNS.3.gz
e16f3b9bf474e4a82f55a3f72fb64cc8 usr/share/man/man3/Smokeping_probes_CiscoRTTMonEchoICMP.3.gz
5c8196ff3562300ad87313b623651619 usr/share/man/man3/Smokeping_probes_CiscoRTTMonTcpConnect.3.gz
450a8e8b052ecfc298028fd2dd0b2d29 usr/share/man/man3/Smokeping_probes_Curl.3.gz
6a442716aac4f4371315c37b4ab90203 usr/share/man/man3/Smokeping_probes_DNS.3.gz
18b3ee2d23f47dc73b80943e7bc61a77 usr/share/man/man3/Smokeping_probes_DismanPing.3.gz
f1f327eaab20a86d43d8527b395081a7 usr/share/man/man3/Smokeping_probes_EchoPing.3.gz
ea31ba780d8a52f2258177b1482ac641 usr/share/man/man3/Smokeping_probes_EchoPingChargen.3.gz
c0c7d7eb45a1bacb1cc5068e127cef3b usr/share/man/man3/Smokeping_probes_EchoPingDNS.3.gz
a40024dcb6cfd2fe78084a093c4d2543 usr/share/man/man3/Smokeping_probes_EchoPingDiscard.3.gz
296de901f0c841fe77e10fbe6254fa41 usr/share/man/man3/Smokeping_probes_EchoPingHttp.3.gz
253cb481295f201a7077c4c5d896c680 usr/share/man/man3/Smokeping_probes_EchoPingHttps.3.gz
563705b5aae65bc54c2431ba3fcd7d9e usr/share/man/man3/Smokeping_probes_EchoPingIcp.3.gz
f5b5c2618b95108ab2824fc561e4f239 usr/share/man/man3/Smokeping_probes_EchoPingLDAP.3.gz
7ec00b37e648edea72f03dda68ca1ffe usr/share/man/man3/Smokeping_probes_EchoPingPlugin.3.gz
86965cfc960f056d7f3c0ce9223942d9 usr/share/man/man3/Smokeping_probes_EchoPingSmtp.3.gz
eee072c1ba7274c859301d54ccb7dfa2 usr/share/man/man3/Smokeping_probes_EchoPingWhois.3.gz
750589c391a6c7c933d3840b60656d04 usr/share/man/man3/Smokeping_probes_FPing.3.gz
859306573a30db9efe2f01a5316058f3 usr/share/man/man3/Smokeping_probes_FPing6.3.gz
f79652e64406ed65e5d8f966d19da0da usr/share/man/man3/Smokeping_probes_FPingContinuous.3.gz
8f66f4d6b05663d1f29ee7711a2bd918 usr/share/man/man3/Smokeping_probes_FTPtransfer.3.gz
dd360d89050640e4100f71aef4f1861d usr/share/man/man3/Smokeping_probes_IOSPing.3.gz
bb1a6cca91f71b0c8f2cf1f281821e6f usr/share/man/man3/Smokeping_probes_IRTT.3.gz
f09af3b3292174bcb45d24840873b27e usr/share/man/man3/Smokeping_probes_LDAP.3.gz
24ff7f732951e74db35e19ae2b5c3e62 usr/share/man/man3/Smokeping_probes_NFSping.3.gz
71864ed1e82a866a4e45dd2a198e1f3c usr/share/man/man3/Smokeping_probes_OpenSSHEOSPing.3.gz
8843eb0d1f725bd82f33007b35f6c682 usr/share/man/man3/Smokeping_probes_OpenSSHJunOSPing.3.gz
f10a50bac310d03f3766fb9370575230 usr/share/man/man3/Smokeping_probes_Qstat.3.gz
1f986b466deb32a51262e4e02a7df92a usr/share/man/man3/Smokeping_probes_Radius.3.gz
043fcd3405590475920624364ba3025e usr/share/man/man3/Smokeping_probes_RemoteFPing.3.gz
6b1469547f1c9a6c2b1b953f2bbe881c usr/share/man/man3/Smokeping_probes_SSH.3.gz
75581fbb7c56fa75fa6da8d02d4f208a usr/share/man/man3/Smokeping_probes_SendEmail.3.gz
77696e77315902963c8d4f1ccf7990ff usr/share/man/man3/Smokeping_probes_SipSak.3.gz
87ce69554a609f1839ec05321151dffb usr/share/man/man3/Smokeping_probes_TCPPing.3.gz
e45ea0a3826a922b7090b2998afe0213 usr/share/man/man3/Smokeping_probes_TacacsPlus.3.gz
43e857ef3f996477dd222e96af4c1b80 usr/share/man/man3/Smokeping_probes_TelnetIOSPing.3.gz
053c938b283f3df5ee253b3ffd414521 usr/share/man/man3/Smokeping_probes_TelnetJunOSPing.3.gz
144338d31b0df8d4f3e642fc1c5db4a5 usr/share/man/man3/Smokeping_probes_TraceroutePing.3.gz
4b6ce979eed0a3bd35a91a6ba9c1b76e usr/share/man/man3/Smokeping_probes_WebProxyFilter.3.gz
3396c46a56b346a05fe65b273f5f1066 usr/share/man/man3/Smokeping_probes_base.3.gz
ca51e850b52e3200950ffeba06e901c1 usr/share/man/man3/Smokeping_probes_basefork.3.gz
b48367e10549357af6274082a5226c97 usr/share/man/man3/Smokeping_probes_basevars.3.gz
01f0ba3dcc868e6ade3a0d27050bb61a usr/share/man/man3/Smokeping_probes_passwordchecker.3.gz
1cbb916f490e06f8aae5006b2dad86db usr/share/man/man3/Smokeping_probes_skel.3.gz
7664d866e9d771d9efba9659028f381d usr/share/man/man3/Smokeping_sorters_Loss.3.gz
3cff55cc3934368184e342017685c548 usr/share/man/man3/Smokeping_sorters_Max.3.gz
2db7bddcd8cde91aaa83af81375569cb usr/share/man/man3/Smokeping_sorters_Median.3.gz
b431a0e6ae67562cf5dcdb372958a772 usr/share/man/man3/Smokeping_sorters_StdDev.3.gz
5d76eac0e1ee6573df5bee69e71a9cd2 usr/share/man/man3/Smokeping_sorters_base.3.gz
30fa00fcaace86d1490066c689c783f7 usr/share/man/man5/smokeping_config.5.gz
e2778d36b5c4600aa8f255af6bf8f277 usr/share/man/man5/smokeping_examples.5.gz
9739845883c9ac5a67cf73c77307f265 usr/share/man/man7/smokeping_extend.7.gz
61703f285f638deef693a1b113e6e874 usr/share/man/man7/smokeping_install.7.gz
9a8ada37ef7ae1d4c00cef595e3679aa usr/share/man/man7/smokeping_master_slave.7.gz
b44cd09375aab8d6e3a2607962da2c45 usr/share/man/man7/smokeping_upgrade.7.gz
dad3c12c69c46fc40cb03eae55f70bc5 usr/share/perl5/Smokeping.pm
74dc0a7e83f7e5033dcaa59f452fc11b usr/share/perl5/Smokeping/Colorspace.pm
affa12d68e79a45a82635683686673d5 usr/share/perl5/Smokeping/Config.pm
7fb5e259df686acb83daacd7708a72a9 usr/share/perl5/Smokeping/Examples.pm
9615f1119ac79d65c51997f5403b558f usr/share/perl5/Smokeping/Graphs.pm
40d9a0d2effcd59d89bbcd893fe3f27a usr/share/perl5/Smokeping/Info.pm
aa38784e396ff79b7701411c3a5690fa usr/share/perl5/Smokeping/Master.pm
000bb41739ce475ac0db7aebeaec4cb6 usr/share/perl5/Smokeping/RRDhelpers.pm
4840b6be3abeea9cd8f4773da3649632 usr/share/perl5/Smokeping/RRDtools.pm
5d1510802e13a09fa6d5cdb61a2ed973 usr/share/perl5/Smokeping/Slave.pm
6ca9a74149bbeda25588d81a885aafac usr/share/perl5/Smokeping/ciscoRttMonMIB.pm
0589f39cc33fb0a443bd947e00442c92 usr/share/perl5/Smokeping/matchers/Avgratio.pm
c9f37222afc9fab4ee9ad81c84349bfe usr/share/perl5/Smokeping/matchers/CheckLatency.pm
ebf79b04b999b0eea95bcdc6a918c30d usr/share/perl5/Smokeping/matchers/CheckLoss.pm
0c680558c553638e7418cc44cbb76868 usr/share/perl5/Smokeping/matchers/ConsecutiveLoss.pm
0e9d1d8a7a4d338152c50ff221e2f152 usr/share/perl5/Smokeping/matchers/ExpLoss.pm
d70b48f27e5c9a1eb8e8f51c7a6f183a usr/share/perl5/Smokeping/matchers/Median.pm
71282e21e01fb6572a1859492dda2ea8 usr/share/perl5/Smokeping/matchers/Medratio.pm
8c67107c66f13565419f0641ee720f47 usr/share/perl5/Smokeping/matchers/base.pm
8d2752f301f4f73e006724deb1f77f33 usr/share/perl5/Smokeping/pingMIB.pm
a1d417dd6664100d9c7cdd671e2487a2 usr/share/perl5/Smokeping/probes/AnotherCurl.pm
38b0f60e322c4edb0495238b3864dcaa usr/share/perl5/Smokeping/probes/AnotherDNS.pm
22d4d89cb89d09ca1252915251bf53fa usr/share/perl5/Smokeping/probes/AnotherSSH.pm
9c046a63424618ac3fc6abeace84f561 usr/share/perl5/Smokeping/probes/CiscoRTTMonDNS.pm
8fe659bc4b1db1e4b7a370a4bb95eddb usr/share/perl5/Smokeping/probes/CiscoRTTMonEchoICMP.pm
f58ebe194cb6d2313c59b86c02d654f2 usr/share/perl5/Smokeping/probes/CiscoRTTMonTcpConnect.pm
386baa69338b1dddc2ab202c6e454e43 usr/share/perl5/Smokeping/probes/Curl.pm
788c288e521072d6bec0ee33b1f49384 usr/share/perl5/Smokeping/probes/DNS.pm
d4d56290d9a5f248f43103054e73b2f9 usr/share/perl5/Smokeping/probes/DismanPing.pm
b1502dd807100f8aafd97e85d12a2110 usr/share/perl5/Smokeping/probes/EchoPing.pm
c39943e17c351729f59a1e6af79e8b96 usr/share/perl5/Smokeping/probes/EchoPingChargen.pm
001b86134c2788eb6716f8155931b4ef usr/share/perl5/Smokeping/probes/EchoPingDNS.pm
ad971c0c2f08b53c4fe5da5baf434b2a usr/share/perl5/Smokeping/probes/EchoPingDiscard.pm
31e949250005ff133a85262260d9e77b usr/share/perl5/Smokeping/probes/EchoPingHttp.pm
7bf83c131ec66df9ecb71903b2171be3 usr/share/perl5/Smokeping/probes/EchoPingHttps.pm
7745c7902518a6ac7bebbed22ddfd82f usr/share/perl5/Smokeping/probes/EchoPingIcp.pm
f3c010af1de08141c91e3aedf53181da usr/share/perl5/Smokeping/probes/EchoPingLDAP.pm
e8ee4043da2e34980783301350fb6ee8 usr/share/perl5/Smokeping/probes/EchoPingPlugin.pm
5cae2fd9ad9ff93c9a2969cf60903f46 usr/share/perl5/Smokeping/probes/EchoPingSmtp.pm
4f389d382ac14503322c617e37e7636c usr/share/perl5/Smokeping/probes/EchoPingWhois.pm
2c9a0cac05ddd312a5656dd3eeed4462 usr/share/perl5/Smokeping/probes/FPing.pm
8f77dbf0c925913ce83e184a4e6187d4 usr/share/perl5/Smokeping/probes/FPing6.pm
c16790651d98eb85ecc2692d001a23dd usr/share/perl5/Smokeping/probes/FPingContinuous.pm
1521777598df8965907927eb92c3e408 usr/share/perl5/Smokeping/probes/FTPtransfer.pm
583202540b57e6883d7a120477559e69 usr/share/perl5/Smokeping/probes/IOSPing.pm
6c3e91d404bae0191320c425e3c9cada usr/share/perl5/Smokeping/probes/IRTT.pm
2243990ce8eed9db07845671a7a46f37 usr/share/perl5/Smokeping/probes/LDAP.pm
947f5dd1457ebcb7f5901ec475428e77 usr/share/perl5/Smokeping/probes/NFSping.pm
d1bb3426744b26fcec326b1652f175c0 usr/share/perl5/Smokeping/probes/OpenSSHEOSPing.pm
3965ee85c715e289737f2278236590b1 usr/share/perl5/Smokeping/probes/OpenSSHJunOSPing.pm
5534b5594c794a8e35d81c42f9f104fb usr/share/perl5/Smokeping/probes/Qstat.pm
0abb73c4155c1b1aac6bdc84da4e35d1 usr/share/perl5/Smokeping/probes/Radius.pm
2f9f3f0fdae60d0b812ed8494bb495a4 usr/share/perl5/Smokeping/probes/RemoteFPing.pm
3ee5f11dd635f54d04137db332ba8186 usr/share/perl5/Smokeping/probes/SSH.pm
382cd82f0b8c779ba3fc0e78180b7456 usr/share/perl5/Smokeping/probes/SendEmail.pm
303869aad39ec0eaa977dc665b4be679 usr/share/perl5/Smokeping/probes/SipSak.pm
1e4fccbd6802b2a2e40d6960c3b06c8d usr/share/perl5/Smokeping/probes/TCPPing.pm
40718aab8cdbc7cb4760386476e8c1cd usr/share/perl5/Smokeping/probes/TacacsPlus.pm
59c2a5701010c38c00f95e2a3eb6dd40 usr/share/perl5/Smokeping/probes/TelnetIOSPing.pm
4818fed56c1d7afd5b887f164a682630 usr/share/perl5/Smokeping/probes/TelnetJunOSPing.pm
9f581fbab087d0a576260f0d79273310 usr/share/perl5/Smokeping/probes/TraceroutePing.pm
b079e26ad4e054dc5fde13c9c473fea0 usr/share/perl5/Smokeping/probes/WebProxyFilter.pm
fa25895772c5d14031e36ef1164bd138 usr/share/perl5/Smokeping/probes/base.pm
2300f76af8d86de1a640c03a70375497 usr/share/perl5/Smokeping/probes/basefork.pm
5ebc965d50d4601f51239caeddf0e352 usr/share/perl5/Smokeping/probes/basevars.pm
1bfbd2c8d1b646fda4cd915b72dec62d usr/share/perl5/Smokeping/probes/passwordchecker.pm
f3148ac862ddf308ffdfa6b98b1e4454 usr/share/perl5/Smokeping/probes/skel.pm
ab05eee799a3f7dd3ad55552ebcf9005 usr/share/perl5/Smokeping/sorters/Loss.pm
b0ee00e7ded5d2244074da936081a5f8 usr/share/perl5/Smokeping/sorters/Max.pm
8df66ecffb3d99a83853a95fcb93ca9e usr/share/perl5/Smokeping/sorters/Median.pm
b7b48ab6ee96cade6e4aee63a6229963 usr/share/perl5/Smokeping/sorters/StdDev.pm
e4590791ff48d9d3c2e8af7d4cc89537 usr/share/perl5/Smokeping/sorters/base.pm
23dedc7a0521f63f8f55ed2840efedad usr/share/smokeping/smokeping.cgi
5a3a81cf4d5c006de7b39e149e8aac30 usr/share/smokeping/www/css/smokeping-print.css
6d82c4e7262a8b71c47e3221b72174b5 usr/share/smokeping/www/css/smokeping-screen.css
fb004124bf1ed724b26e6e188db7604e usr/share/smokeping/www/js/prototype.js
b3194289aa4d19188e036ec01d4d2c12 usr/share/smokeping/www/js/smokeping.js
477e7d2bee062d9fa4b1e773d7c98d1e usr/share/smokeping/www/smokeping.fcgi.dist

125
debian/smokeping/DEBIAN/postinst vendored Executable file
View File

@@ -0,0 +1,125 @@
#! /bin/sh
# postinst script for smokeping
#
# see: dh_installdeb(1)
set -e
# summary of how this script can be called:
# * <postinst> `configure' <most-recently-configured-version>
# * <old-postinst> `abort-upgrade' <new version>
# * <conflictor's-postinst> `abort-remove' `in-favour' <package>
# <new-version>
# * <deconfigured's-postinst> `abort-deconfigure' `in-favour'
# <failed-install-package> <version> `removing'
# <conflicting-package> <version>
# for details, see http://www.debian.org/doc/debian-policy/ or
# the debian-policy package
#
# quoting from the policy:
# Any necessary prompting should almost always be confined to the
# post-installation script, and should be protected with a conditional
# so that unnecessary prompting doesn't happen if a package's
# installation fails and the `postinst' is called with `abort-upgrade',
# `abort-remove' or `abort-deconfigure'.
setup_permissions() {
# Smokeping.cgi is run as user www-data, so we need it to be able
# to write in /var/cache/smokeping/images and in /var/lib/smokeping/__cgi
chown smokeping:smokeping /var/lib/smokeping
chown www-data /var/cache/smokeping/images
chown smokeping:www-data /var/lib/smokeping/__cgi
chmod 2775 /var/lib/smokeping/__cgi
chown smokeping:www-data /etc/smokeping/smokeping_secrets
chmod 640 /etc/smokeping/smokeping_secrets
}
# OK, let's go
case "$1" in
configure|reconfigure)
getent passwd smokeping > /dev/null || \
adduser --system --group --home /var/lib/smokeping --no-create-home --gecos "SmokePing daemon" smokeping
setup_permissions
if [ -e /usr/share/apache2/apache2-maintscript-helper ] ; then
. /usr/share/apache2/apache2-maintscript-helper
apache2_invoke enmod cgi
fi
;;
abort-upgrade|abort-remove|abort-deconfigure)
;;
*)
echo "postinst called with unknown argument \`$1'" >&2
exit 1
;;
esac
# dh_installdeb will replace this with shell code automatically
# generated by other debhelper scripts.
# Automatically added by dh_apache2/UNDECLARED
if true; then
if [ -e /usr/share/apache2/apache2-maintscript-helper ] ; then
. /usr/share/apache2/apache2-maintscript-helper
for conf in smokeping ; do
apache2_invoke enconf $conf || exit 1
done
fi
fi
# End automatically added section
# Automatically added by dh_installdeb/13.24.2
dpkg-maintscript-helper mv_conffile /etc/smokeping/apache2.conf /etc/apache2/conf-available/smokeping.conf -- "$@"
# End automatically added section
# Automatically added by dh_installinit/13.24.2
if [ "$1" = "configure" ] || [ "$1" = "abort-upgrade" ] || [ "$1" = "abort-deconfigure" ] || [ "$1" = "abort-remove" ] ; then
if [ -z "$DPKG_ROOT" ] && [ -x "/etc/init.d/smokeping" ]; then
update-rc.d smokeping defaults >/dev/null
if [ -n "$2" ]; then
_dh_action=restart
else
_dh_action=start
fi
invoke-rc.d --skip-systemd-native smokeping $_dh_action || exit 1
fi
fi
# End automatically added section
# Automatically added by dh_installsystemd/13.24.2
if [ "$1" = "configure" ] || [ "$1" = "abort-upgrade" ] || [ "$1" = "abort-deconfigure" ] || [ "$1" = "abort-remove" ] ; then
# The following line should be removed in trixie or trixie+1
deb-systemd-helper unmask 'smokeping.service' >/dev/null || true
# was-enabled defaults to true, so new installations run enable.
if deb-systemd-helper --quiet was-enabled 'smokeping.service'; then
# Enables the unit on first installation, creates new
# symlinks on upgrades if the unit file has changed.
deb-systemd-helper enable 'smokeping.service' >/dev/null || true
else
# Update the statefile to add new symlinks (if any), which need to be
# cleaned up on purge. Also remove old symlinks.
deb-systemd-helper update-state 'smokeping.service' >/dev/null || true
fi
fi
# End automatically added section
# Automatically added by dh_installsystemd/13.24.2
if [ "$1" = "configure" ] || [ "$1" = "abort-upgrade" ] || [ "$1" = "abort-deconfigure" ] || [ "$1" = "abort-remove" ] ; then
if [ -d /run/systemd/system ]; then
systemctl --system daemon-reload >/dev/null || true
if [ -n "$2" ]; then
_dh_action=restart
else
_dh_action=start
fi
deb-systemd-invoke $_dh_action 'smokeping.service' >/dev/null || true
fi
fi
# End automatically added section
exit 0

97
debian/smokeping/DEBIAN/postrm vendored Executable file
View File

@@ -0,0 +1,97 @@
#! /bin/sh
# postrm script for smoke
#
# see: dh_installdeb(1)
set -e
# summary of how this script can be called:
# * <postrm> `remove'
# * <postrm> `purge'
# * <old-postrm> `upgrade' <new-version>
# * <new-postrm> `failed-upgrade' <old-version>
# * <new-postrm> `abort-install'
# * <new-postrm> `abort-install' <old-version>
# * <new-postrm> `abort-upgrade' <old-version>
# * <disappearer's-postrm> `disappear' <r>overwrit>r> <new-version>
# for details, see http://www.debian.org/doc/debian-policy/ or
# the debian-policy package
case "$1" in
purge)
rm -rf /var/run/smokeping
rm -rf /var/cache/smokeping
rm -rf /var/lib/smokeping
for f in basepage.html smokemail tmail config
do
file=/etc/smokeping/$f
if command -v ucf >/dev/null 2>&1; then
ucf --purge $file || true
fi
if command -v ucfr >/dev/null 2>&1; then
ucfr --purge smokeping $file || true
fi
rm -f $file $file.ucf-old $file.ucf-new $file.ucf-dist
done
for f in Alerts Database General pathnames Presentation Probes Slaves Targets
do
file=/etc/smokeping/config.d/$f
if command -v ucf >/dev/null 2>&1; then
ucf --purge $file || true
fi
if command -v ucfr >/dev/null 2>&1; then
ucfr --purge smokeping $file || true
fi
rm -f $file $file.ucf-old $file.ucf-new $file.ucf-dist
done
[ ! -d /etc/smokeping/config.d ] || rmdir --ignore-fail-on-non-empty --parents /etc/smokeping/config.d
esac
# dh_installdeb will replace this with shell code automatically
# generated by other debhelper scripts.
# Automatically added by dh_installinit/13.24.2
if [ "$1" = "remove" ] && [ -x "/etc/init.d/smokeping" ] ; then
chmod -x "/etc/init.d/smokeping" >/dev/null || true
fi
if [ -z "$DPKG_ROOT" ] && [ "$1" = "purge" ] ; then
update-rc.d smokeping remove >/dev/null
fi
# End automatically added section
# Automatically added by dh_installdeb/13.24.2
dpkg-maintscript-helper mv_conffile /etc/smokeping/apache2.conf /etc/apache2/conf-available/smokeping.conf -- "$@"
# End automatically added section
# Automatically added by dh_installsystemd/13.24.2
if [ "$1" = remove ] && [ -d /run/systemd/system ] ; then
systemctl --system daemon-reload >/dev/null || true
fi
# End automatically added section
# Automatically added by dh_installsystemd/13.24.2
if [ "$1" = "purge" ]; then
if [ -x "/usr/bin/deb-systemd-helper" ]; then
deb-systemd-helper purge 'smokeping.service' >/dev/null || true
fi
fi
# End automatically added section
# Automatically added by dh_apache2/UNDECLARED
if [ "$1" = "purge" ] ; then
if true; then
if [ -e /usr/share/apache2/apache2-maintscript-helper ] ; then
. /usr/share/apache2/apache2-maintscript-helper
for conf in smokeping ; do
apache2_invoke disconf $conf || exit 1
done
fi
fi
fi
# End automatically added section
exit 0

57
debian/smokeping/DEBIAN/preinst vendored Executable file
View File

@@ -0,0 +1,57 @@
#!/bin/sh
# preinst script for smokeping
#
# see: dh_installdeb(1)
set -e
# summary of how this script can be called:
# * <new-preinst> `install'
# * <new-preinst> `install' <old-version>
# * <new-preinst> `upgrade' <old-version>
# * <old-preinst> `abort-upgrade' <new-version>
# for details, see http://www.debian.org/doc/debian-policy/ or
# the debian-policy package
case "$1" in
install|upgrade)
IFS=":"
ucfq -w /etc/smokeping/basepage.html \
/etc/smokeping/smokemail \
/etc/smokeping/config.d/Alerts \
/etc/smokeping/config.d/Presentation \
/etc/smokeping/config.d/pathnames \
/etc/smokeping/config.d/Targets \
/etc/smokeping/config.d/General \
/etc/smokeping/config.d/Slaves \
| while read file package exists changed; do
if [ "$package" = "smokeping" -a "$changed" = "No" ]; then
rm -f "$file"
fi
done
;;
abort-upgrade)
;;
*)
echo "preinst called with unknown argument \`$1'" >&2
exit 1
;;
esac
# dh_installdeb will replace this with shell code automatically
# generated by other debhelper scripts.
# Automatically added by dh_installdeb/13.24.2
dpkg-maintscript-helper mv_conffile /etc/smokeping/apache2.conf /etc/apache2/conf-available/smokeping.conf -- "$@"
# End automatically added section
# Automatically added by dh_installinit/13.24.2
if [ "$1" = "install" ] && [ -n "$2" ] && [ -e "/etc/init.d/smokeping" ] ; then
chmod +x "/etc/init.d/smokeping" >/dev/null || true
fi
# End automatically added section
exit 0

28
debian/smokeping/DEBIAN/prerm vendored Executable file
View File

@@ -0,0 +1,28 @@
#!/bin/sh
set -e
# Automatically added by dh_installsystemd/13.24.2
if [ -z "$DPKG_ROOT" ] && [ "$1" = remove ] && [ -d /run/systemd/system ] ; then
deb-systemd-invoke stop 'smokeping.service' >/dev/null || true
fi
# End automatically added section
# Automatically added by dh_installinit/13.24.2
if [ -z "$DPKG_ROOT" ] && [ "$1" = remove ] && [ -x "/etc/init.d/smokeping" ] ; then
invoke-rc.d --skip-systemd-native smokeping stop || exit 1
fi
# End automatically added section
# Automatically added by dh_installdeb/13.24.2
dpkg-maintscript-helper mv_conffile /etc/smokeping/apache2.conf /etc/apache2/conf-available/smokeping.conf -- "$@"
# End automatically added section
# Automatically added by dh_apache2/UNDECLARED
if [ "$1" = "remove" ] || [ "$1" = "deconfigure" ] ; then
if true; then
if [ -e /usr/share/apache2/apache2-maintscript-helper ] ; then
. /usr/share/apache2/apache2-maintscript-helper
for conf in smokeping ; do
apache2_invoke disconf $conf || exit 1
done
fi
fi
fi
# End automatically added section

View File

@@ -0,0 +1,9 @@
ScriptAlias /smokeping/smokeping.cgi /usr/lib/cgi-bin/smokeping.cgi
Alias /smokeping /usr/share/smokeping/www
<Directory "/usr/share/smokeping/www">
Options FollowSymLinks
Require all granted
DirectoryIndex smokeping.cgi
</Directory>

16
debian/smokeping/etc/default/smokeping vendored Normal file
View File

@@ -0,0 +1,16 @@
# /etc/default/smokeping: Startup configuration for smokeping(1)
#
# select master or slave mode
MODE=master
# in master mode, the rest of the configuration is in
# /etc/smokeping/config
#
# in slave mode, uncomment and set the following variables too
# see smokeping(1)
#
# Mandatory configuration
# MASTER_URL=http://somewhere/cgi-bin/smokeping.cgi
# SHARED_SECRET=/etc/smokeping/slavesecrets.conf
#
# Optional configuration
# SLAVE_NAME=myslave

196
debian/smokeping/etc/init.d/smokeping vendored Executable file
View File

@@ -0,0 +1,196 @@
#!/bin/sh
#
# /etc/init.d/smokeping
#
### BEGIN INIT INFO
# Provides: smokeping
# Required-Start: $syslog $network $remote_fs
# Should-Start: sshd apache
# Required-Stop: $syslog $network $remote_fs
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start or stop the smokeping latency logging system daemon
# Description: SmokePing is a latency logging and graphing system
# that consists of a daemon process which organizes
# the latency measurements and a CGI which presents
# the graphs. This script is used to start or stop
# the daemon.
### END INIT INFO
#
set -e
# Source LSB init functions
. /lib/lsb/init-functions
DAEMON=/usr/sbin/smokeping
NAME=smokeping
DESC="latency logger daemon"
CONFIG=/etc/smokeping/config
PIDFILE=/var/run/smokeping/$NAME.pid
DAEMON_USER=smokeping
DEFAULTS=/etc/default/smokeping
MODE=master
DAEMON_ARGS="--config=$CONFIG"
# LC_ALL prevents resetting LC_NUMERIC which in turn interferes
# with Smokeping internal regexps matching floating point numbers
unset LC_ALL
# Check whether the binary is still present:
test -f "$DAEMON" || exit 0
# source defaults for master vs. slave mode
if [ -f "$DEFAULTS" ]
then
. "$DEFAULTS"
fi
check_slave() {
if [ "$MODE" != "slave" ]
then
return
fi
if [ -z "$SHARED_SECRET" ]
then
log_progress_msg "(missing \$SHARED_SECRET setting)"
log_end_msg 6 # program is not configured
exit 6
fi
if [ ! -r "$SHARED_SECRET" ]
then
log_progress_msg "(invalid \$SHARED_SECRET setting)"
log_end_msg 2 # invalid or excess argument(s)
exit 2
fi
if [ -z "$MASTER_URL" ]
then
log_progress_msg "(missing \$MASTER_URL setting)"
log_end_msg 6 # program is not configured
exit 6
fi
DAEMON_ARGS="$DAEMON_ARGS --master-url $MASTER_URL --shared-secret $SHARED_SECRET"
if [ -n "$SLAVE_NAME" ]
then
DAEMON_ARGS="$DAEMON_ARGS --slave-name $SLAVE_NAME"
fi
DAEMON_ARGS="$DAEMON_ARGS --cache-dir /var/lib/smokeping"
DAEMON_ARGS="$DAEMON_ARGS --pid-dir /var/run/smokeping"
}
check_config () {
echo "Checking smokeping configuration file syntax..."
# Check whether the configuration file is available
if [ ! -r "$CONFIG" ] && [ "$MODE" = "master" ]
then
log_progress_msg "($CONFIG does not exist)"
log_end_msg 6 # program is not configured
exit 6
fi
if [ ! -d /var/run/smokeping ]; then
mkdir /var/run/smokeping
chown ${DAEMON_USER}.root /var/run/smokeping
chmod 0755 /var/run/smokeping
fi
${DAEMON} --config=${CONFIG} --check || exit 6
}
case "$1" in
start)
check_config
log_daemon_msg "Starting $DESC" $NAME
check_slave
set +e
pidofproc -p "$PIDFILE" "$DAEMON" > /dev/null
STATUS=$?
set -e
if [ "$STATUS" = 0 ]
then
log_progress_msg "already running"
log_end_msg $STATUS
exit $STATUS
fi
set +e
start-stop-daemon --start --quiet --exec $DAEMON --oknodo \
--chuid $DAEMON_USER --pidfile $PIDFILE \
-- $DAEMON_ARGS \
| logger -p daemon.notice -t $NAME
STATUS=$?
set -e
log_end_msg $STATUS
exit $STATUS
;;
stop)
log_daemon_msg "Shutting down $DESC" $NAME
set +e
start-stop-daemon --oknodo --stop --retry 3 --quiet --pidfile $PIDFILE --user $DAEMON_USER --signal 15
STATUS=$?
set -e
log_end_msg $STATUS
exit $STATUS
;;
restart)
# Restart service (if running) or start service
$0 stop
$0 start
;;
reload|force-reload)
check_config
log_action_begin_msg "Reloading $DESC configuration"
set +e
$DAEMON --reload $DAEMON_ARGS | logger -p daemon.notice -t smokeping
STATUS=$?
set -e
if [ "$STATUS" = 0 ]
then
log_action_end_msg 0 "If the CGI has problems reloading, see README.Debian."
else
log_action_end_msg $STATUS
fi
exit $STATUS
;;
check)
check_config
;;
status)
log_daemon_msg "Checking $DESC status" $NAME
# Use pidofproc to check the status of the service,
# pidofproc returns the exit status code of 0 when it the process is
# running.
# LSB defined exit status codes for status:
# 0 program is running or service is OK
# 1 program is dead and /var/run pid file exists
# 2 program is dead and /var/lock lock file exists
# 3 program is not running
# 4 program or service status is unknown
# 5-199 reserved (5-99 LSB, 100-149 distribution, 150-199 applications)
set +e
pidofproc -p "$PIDFILE" "$DAEMON" > /dev/null
STATUS=$?
log_progress_msg "(status $STATUS)"
log_end_msg 0
set -e
exit $STATUS
;;
*)
echo "Usage: $0 {start|stop|status|restart|force-reload|reload}"
exit 1
;;
esac

View File

@@ -0,0 +1,65 @@
<!DOCTYPE html>
<html>
<head>
<link href="data:image/x-icon;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH1gQSFA8qQC+y8wAAAB10RVh0Q29tbWVudABDcmVhdGVkIHdpdGggVGhlIEdJTVDvZCVuAAABd0lEQVQoz5WSy07CQBSGTzuF6Y1buQSiCYSgYli7MC54AZc+gC/CE7kzrPQBjDsNIdF4I8oCwr1gO51OOy4aAbGS+K/OTM6X85/5R2g0GvAfSesHjPyj3LyasrIKxch3fXHiSN0Fvv4wbCZuAobsnld7Scw4wIhEhiSCEc/IbgqzZicTMuG0NEpi9jhRLzuZOUXBJRK4ITOfr1yIy6oYIwDQ7KSX3QDgcWFgR9ZtrwCLIQAoJ8j2pVG9Xg8qDsJe0j5MWcW4g5FvMUQ8cRvQXeAplXY0mlfpftI+zpu1tBURed/CHhdCAADoWfiml3gxlYUraZKXVdxKwq6lPx8mqvM97QcQaEalV1O57cffTGVXdzKKa8isNdI3l/6tzly+eM4BQDlOQl4pVEECLDSHUowUNCqsdedVelYZAEB7rIUkfVKYHaQs4okTIjEuJKJePMoCY1fvRghwN9R9gIJKs4orCtxm6Gmq3I/01lDnob+1PdbWR/+lL5mtm+fskIeBAAAAAElFTkSuQmCC" rel="icon" type="image/x-icon" />
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>SmokePing Latency Page for <##title##></title>
<link rel="stylesheet" type="text/css" href="css/smokeping-print.css" media="print">
<link rel="stylesheet" type="text/css" href="css/smokeping-screen.css" media="screen">
<script>
window.options = {
step: <##step##>
}
</script>
</head>
<body id="body">
<div class="sidebar" id="sidebar">
<div class="sidebar-header">
<div class="logo">
<##smokelogo##>
</div>
</div>
<div class="sidebar-menu">
<br><br>
<ul class="menu">
<li class="menuitem"><a class="menulink" href="/"><B>HOME</B></a></li></ul>
<##menu##>
<div class="logo">
<##rrdlogo##>
</div>
</div>
</div>
<div class="navbar">
<div class="navbar-menu"><a id="menu-button" href="#">Toggle Menu</a></div>
<div class="navbar-refresh"><a id="refresh-button" href="#">Auto Refresh</a></div>
<div class="navbar-user"><div class="icon-person"></div><##authuser##></div>
</div>
<div class="main">
<h1><##title##></h1>
<h2><##remark##></h2>
<div class="overview">
<##overview##>
</div>
<div class="details">
<##body##>
</div>
</div>
<hr>
<div class="footer">
<p class="footer-right"><small>Running on <##smokeping##> by <##author##></small></p>
<p><small>Maintained by <a href="mailto:<##contact##>"><##owner##></a></small></p>
</div>
<script src="js/prototype.js" type="text/javascript"></script>
<script src="js/scriptaculous/scriptaculous.js?load=builder,effects,dragdrop" type="text/javascript"></script>
<script src="js/cropper/cropper.js" type="text/javascript"></script>
<script src="js/smokeping.js" type="text/javascript"></script>
</body>
</html>

7
debian/smokeping/etc/smokeping/config vendored Normal file
View File

@@ -0,0 +1,7 @@
@include /etc/smokeping/config.d/General
@include /etc/smokeping/config.d/Alerts
@include /etc/smokeping/config.d/Database
@include /etc/smokeping/config.d/Presentation
@include /etc/smokeping/config.d/Probes
@include /etc/smokeping/config.d/Slaves
@include /etc/smokeping/config.d/Targets

View File

@@ -0,0 +1,10 @@
*** Alerts ***
to = alertee@address.somewhere
from = smokealert@company.xy
+someloss
type = loss
# in percent
pattern = >0%,*12*,>0%,*12*,>0%
comment = loss 3 times in a row

View File

@@ -0,0 +1,15 @@
*** Database ***
step = 300
pings = 20
# consfn mrhb steps total
AVERAGE 0.5 1 28800
AVERAGE 0.5 12 9600
MIN 0.5 12 9600
MAX 0.5 12 9600
AVERAGE 0.5 144 2400
MAX 0.5 144 2400
MIN 0.5 144 2400

View File

@@ -0,0 +1,16 @@
*** General ***
owner = Peter Random
contact = some@address.nowhere
mailhost = my.mail.host
# NOTE: do not put the Image Cache below cgi-bin
# since all files under cgi-bin will be executed ... this is not
# good for images.
cgiurl = http://some.url/smokeping.cgi
# specify this to get syslog logging
syslogfacility = local0
# each probe is now run in its own process
# disable this to revert to the old behaviour
# concurrentprobes = no
@include /etc/smokeping/config.d/pathnames

View File

@@ -0,0 +1,60 @@
*** Presentation ***
template = /usr/etc/basepage.html.dist
htmltitle = yes
graphborders = no
# If enabled, treat all filter menu queries as literal strings instead of regex
literalsearch = no
+ charts
menu = Charts
title = The most interesting destinations
++ stddev
sorter = StdDev(entries=>4)
title = Top Standard Deviation
menu = Std Deviation
format = Standard Deviation %f
++ max
sorter = Max(entries=>5)
title = Top Max Roundtrip Time
menu = by Max
format = Max Roundtrip Time %f seconds
++ loss
sorter = Loss(entries=>5)
title = Top Packet Loss
menu = Loss
format = Packets Lost %f
++ median
sorter = Median(entries=>5)
title = Top Median Roundtrip Time
menu = by Median
format = Median RTT %f seconds
+ overview
width = 600
height = 50
range = 10h
+ detail
width = 600
height = 200
unison_tolerance = 2
"Last 3 Hours" 3h
"Last 30 Hours" 30h
"Last 10 Days" 10d
"Last 360 Days" 360d
#+ hierarchies
#++ owner
#title = Host Owner
#++ location
#title = Location

View File

@@ -0,0 +1,6 @@
*** Probes ***
+ FPing
binary = /usr/sbin/fping

View File

@@ -0,0 +1,10 @@
*** Slaves ***
secrets=/usr/etc/smokeping_secrets.dist
+boomer
display_name=boomer
color=0000ff
+slave2
display_name=another
color=00ff00

View File

@@ -0,0 +1,26 @@
*** Targets ***
probe = FPing
menu = Top
title = Network Latency Grapher
remark = Welcome to the SmokePing website of xxx Company. \
Here you will learn all about the latency of our network.
+ Test
menu= Targets
#parents = owner:/Test/James location:/
++ James
menu = James
title =James
alerts = someloss
slaves = boomer slave2
host = james.address
++ MultiHost
menu = Multihost
title = James and James as seen from Boomer
host = /Test/James /Test/James~boomer

View File

@@ -0,0 +1,8 @@
sendmail = /usr/sbin/sendmail
imgcache = /usr/cache
imgurl = cache
datadir = /usr/data
piddir = /usr/var
smokemail = /usr/etc/smokemail.dist
tmail = /usr/etc/tmail.dist
dyndir = /var/lib/smokeping/__cgi

View File

@@ -0,0 +1,65 @@
From: <##FROM##>
To: <##TO##>
Subject: SmokePing Agent
Hi,
Please execute the attached Perl Script on your computer. It will register
your IP with SmokePing. You have to rerun this script at least every time
your IP changes. You can run the script as often as you want.
The script is written in Perl. If you don't have Perl available on your
system, you must have a Windows Box. You can easily fix this problem by
downloading ActivePerl from www.activestate.com
As soon as you have run the SmokePing Agent, the SmokePing server will
start monitoring your host. Check out:
<##URL##>?target=<##PATH##>
Cheers
<##OWNER##>
------------8<------------------------
#!/usr/bin/perl -w
my $url = '<##URL##>';
my $path = '<##PATH##>';
my $secret = '<##SECRET##>';
use strict;
use IO::Socket;
my $post="target=${path}&secret=${secret}";
my $clen=length $post;
$url =~ m|http://([^/]+)(/.+)|;
my $host = $1;
my $script = $2;
my $remote = IO::Socket::INET->new( Proto => "tcp",
PeerAddr => $host,
PeerPort => "http(80)",
);
exit 0 unless $remote;
$remote->autoflush(1);
print $remote <<"REQUEST";
POST $script HTTP/1.0\r
User-Agent: smokeping-agent/1.0\r
Host: ${host}:80\r
Pragma: no-cache\r
Content-Length: ${clen}\r
Content-Type: application/x-www-form-urlencoded\r
\r
${post}\r
REQUEST
my $head = 1;
while (<$remote>) {
/^\s*$/ && do {$head=0;next};
print unless $head;
}
close $remote;
exit;
------------8<------------------------

View File

@@ -0,0 +1,3 @@
host1:mysecret
host2:yoursecret
boomer:lkasdf93uhhfdfddf

132
debian/smokeping/etc/smokeping/tmail vendored Normal file
View File

@@ -0,0 +1,132 @@
MIME-Version: 1.0
Content-Type: text/html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<html>
<head>
<TITLE>IT System Availability Report</TITLE>
<STYLE TYPE ='text/css'>
.appHeader {
color: #000000;
font-family: Arial, Sans-Serif;
font-size: 12px;
font-weight: bold;
padding-left: 10px;
padding-top: 7px;
border-width: 10px;
border-color: #FFFFFF;
border-style:none;
border-left-width: 10px;
border-left-color: #8CAAE6;
border-left-style: solid;
}
.Head {
color: Turquoise;
background-color: White;
font-family: Verdana, Helvetica, San-Serif;
font-size: 20px;
font-weight: bold;
text-decoration: underline;
}
.SubSubHead {
color: RoyalBlue;
background-color: CornSilk;
font-family: Verdana, Helvetica, San-Serif;
font-size: 11px;
font-weight: bold;
}
.SubHead {
color: RoyalBlue;
background-color: CornSilk;
font-family: Verdana, Helvetica, San-Serif;
font-size: 13px;
font-weight: bold;
text-decoration: underline;
}
.SubDetail {
color: Black;
font-family: Verdana, Helvetica, San-Serif;
font-size: 11px;
background-color: CornSilk;
}
.Up99 {
color: DarkGreen;
text-align: Center;
background-color: CornSilk;
font-family: Verdana, Helvetica, San-Serif;
font-size: 11px;
font-weight: bold;
}
.Up95 {
color: DarkBlue;
text-align: Center;
background-color: CornSilk;
font-family: Verdana, Helvetica, San-Serif;
font-size: 11px;
font-weight: bold;
}
.Up90 {
color: Orange;
text-align: Center;
background-color: CornSilk;
font-family: Verdana, Helvetica, San-Serif;
font-size: 11px;
font-weight: bold;
}
.UpNo {
color: Red;
text-align: Center;
background-color: CornSilk;
font-family: Verdana, Helvetica, San-Serif;
font-size: 11px;
font-weight: bold;
}
.Display-Block { display:'block' }
.Display-None { display:'none' }
</STYLE>
</head>
<body onLoad=
"Day.style.display='none';
Week.style.display='none';
Month.style.display='none';
Quarter.style.display='none';" >
<table width='100%' border='0' cellspacing='0' cellpadding='0'>
<tr><td bgcolor='#FFFFFF'>
<img border='0' src='http://www.xxxx.com/docs/TEMPLATE/204/xxxx_logo.gif' alt='Put your logo here'></a></td><td class='Head'>XXXX IT System Availability</td></tr>
</table>
<P>
<P>
<HR width='80%'>
<P>
<##SUMMARY##>
<p>
<CENTER>
<table width='60%' border='1' cellspacing='0' cellpadding='0'>
<tr>
<td bgcolor='CornSilk' onMouseOver="Quarter.style.display='block'"
onMouseOut="Quarter.style.display='none'">Quarterly Detail</td>
<td bgcolor='CornSilk' onMouseOver="Month.style.display='block'"
onMouseOut="Month.style.display='none'">Monthly Detail</td>
<td bgcolor='CornSilk' onMouseOver="Week.style.display='block'"
onMouseOut="Week.style.display='none'">Weekly Detail</td>
<td bgcolor='CornSilk' onMouseOver="Day.style.display='block'"
onMouseOut="Day.style.display='none'">Daily Detail</td>
</tr>
</table>
</CENTER>
<p>
<div id="Day">
<##DAYDETAIL##>
</div>
<p>
<div id="Week">
<##WEEKDETAIL##>
</div>
<p>
<div id="Month">
<##MONTHDETAIL##>
</div>
<p>
<div id=Quarter>
<##QUARTERDETAIL##>
</div>
</html></body>

913
debian/smokeping/usr/lib/BER.pm vendored Normal file
View File

@@ -0,0 +1,913 @@
### -*- mode: Perl -*-
######################################################################
### BER (Basic Encoding Rules) encoding and decoding.
######################################################################
### Copyright (c) 1995-2008, Simon Leinen.
###
### This program is free software; you can redistribute it under the
### "Artistic License 2.0" included in this distribution
### (file "Artistic").
######################################################################
### This module implements encoding and decoding of ASN.1-based data
### structures using the Basic Encoding Rules (BER). Only the subset
### necessary for SNMP is implemented.
######################################################################
### Created by: Simon Leinen <simon@switch.ch>
###
### Contributions and fixes by:
###
### Andrzej Tobola <san@iem.pw.edu.pl>: Added long String decode
### Tobias Oetiker <tobi@oetiker.ch>: Added 5 Byte Integer decode ...
### Dave Rand <dlr@Bungi.com>: Added SysUpTime decode
### Philippe Simonet <sip00@vg.swissptt.ch>: Support larger subids
### Yufang HU <yhu@casc.com>: Support even larger subids
### Mike Mitchell <Mike.Mitchell@sas.com>: New generalized encode_int()
### Mike Diehn <mdiehn@mindspring.net>: encode_ip_address()
### Rik Hoorelbeke <rik.hoorelbeke@pandora.be>: encode_oid() fix
### Brett T Warden <wardenb@eluminant.com>: pretty UInteger32
### Bert Driehuis <driehuis@playbeing.org>: Handle SNMPv2 exception codes
### Jakob Ilves (/IlvJa) <jakob.ilves@oracle.com>: PDU decoding
### Jan Kasprzak <kas@informatics.muni.cz>: Fix for PDU syntax check
### Milen Pavlov <milen@batmbg.com>: Recognize variant length for ints
######################################################################
package BER;
require 5.002;
use strict;
use vars qw(@ISA @EXPORT $VERSION $pretty_print_timeticks
%pretty_printer %default_printer $errmsg);
use Exporter;
$VERSION = '1.05';
@ISA = qw(Exporter);
@EXPORT = qw(context_flag constructor_flag
encode_int encode_int_0 encode_null encode_oid
encode_sequence encode_tagged_sequence
encode_string encode_ip_address encode_timeticks
encode_uinteger32 encode_counter32 encode_counter64
encode_gauge32
decode_sequence decode_by_template
pretty_print pretty_print_timeticks
hex_string hex_string_of_type
encoded_oid_prefix_p errmsg
register_pretty_printer unregister_pretty_printer);
### Variables
## Bind this to zero if you want to avoid that TimeTicks are converted
## into "human readable" strings containing days, hours, minutes and
## seconds.
##
## If the variable is zero, pretty_print will simply return an
## unsigned integer representing hundredths of seconds.
##
$pretty_print_timeticks = 1;
### Prototypes
sub encode_header ($$);
sub encode_int_0 ();
sub encode_int ($);
sub encode_oid (@);
sub encode_null ();
sub encode_sequence (@);
sub encode_tagged_sequence ($@);
sub encode_string ($);
sub encode_ip_address ($);
sub encode_timeticks ($);
sub pretty_print ($);
sub pretty_using_decoder ($$);
sub pretty_string ($);
sub pretty_intlike ($);
sub pretty_unsignedlike ($);
sub pretty_oid ($);
sub pretty_uptime ($);
sub pretty_uptime_value ($);
sub pretty_ip_address ($);
sub pretty_generic_sequence ($);
sub register_pretty_printer ($);
sub unregister_pretty_printer ($);
sub hex_string ($);
sub hex_string_of_type ($$);
sub decode_oid ($);
sub decode_by_template;
sub decode_by_template_2;
sub decode_sequence ($);
sub decode_int ($);
sub decode_intlike ($);
sub decode_unsignedlike ($);
sub decode_intlike_s ($$);
sub decode_string ($);
sub decode_length ($@);
sub encoded_oid_prefix_p ($$);
sub decode_subid ($$$);
sub decode_generic_tlv ($);
sub error (@);
sub template_error ($$$);
sub version () { $VERSION; }
### Flags for different types of tags
sub universal_flag { 0x00 }
sub application_flag { 0x40 }
sub context_flag { 0x80 }
sub private_flag { 0xc0 }
sub primitive_flag { 0x00 }
sub constructor_flag { 0x20 }
### Universal tags
sub boolean_tag { 0x01 }
sub int_tag { 0x02 }
sub bit_string_tag { 0x03 }
sub octet_string_tag { 0x04 }
sub null_tag { 0x05 }
sub object_id_tag { 0x06 }
sub sequence_tag { 0x10 }
sub set_tag { 0x11 }
sub uptime_tag { 0x43 }
### Flag for length octet announcing multi-byte length field
sub long_length { 0x80 }
### SNMP specific tags
sub snmp_ip_address_tag { 0x00 | application_flag () }
sub snmp_counter32_tag { 0x01 | application_flag () }
sub snmp_gauge32_tag { 0x02 | application_flag () }
sub snmp_timeticks_tag { 0x03 | application_flag () }
sub snmp_opaque_tag { 0x04 | application_flag () }
sub snmp_nsap_address_tag { 0x05 | application_flag () }
sub snmp_counter64_tag { 0x06 | application_flag () }
sub snmp_uinteger32_tag { 0x07 | application_flag () }
## Error codes (SNMPv2 and later)
##
sub snmp_nosuchobject { context_flag () | 0x00 }
sub snmp_nosuchinstance { context_flag () | 0x01 }
sub snmp_endofmibview { context_flag () | 0x02 }
### pretty-printer initialization code. Create a hash with
### the most common types of pretty-printer routines.
BEGIN {
$default_printer{int_tag()} = \&pretty_intlike;
$default_printer{snmp_counter32_tag()} = \&pretty_unsignedlike;
$default_printer{snmp_gauge32_tag()} = \&pretty_unsignedlike;
$default_printer{snmp_counter64_tag()} = \&pretty_unsignedlike;
$default_printer{snmp_uinteger32_tag()} = \&pretty_unsignedlike;
$default_printer{octet_string_tag()} = \&pretty_string;
$default_printer{object_id_tag()} = \&pretty_oid;
$default_printer{snmp_ip_address_tag()} = \&pretty_ip_address;
%pretty_printer = %default_printer;
}
#### Encoding
sub encode_header ($$) {
my ($type,$length) = @_;
return pack ("C C", $type, $length) if $length < 128;
return pack ("C C C", $type, long_length | 1, $length) if $length < 256;
return pack ("C C n", $type, long_length | 2, $length) if $length < 65536;
return error ("Cannot encode length $length yet");
}
sub encode_int_0 () {
return pack ("C C C", 2, 1, 0);
}
sub encode_int ($) {
return encode_intlike ($_[0], int_tag);
}
sub encode_uinteger32 ($) {
return encode_intlike ($_[0], snmp_uinteger32_tag);
}
sub encode_counter32 ($) {
return encode_intlike ($_[0], snmp_counter32_tag);
}
sub encode_counter64 ($) {
return encode_intlike ($_[0], snmp_counter64_tag);
}
sub encode_gauge32 ($) {
return encode_intlike ($_[0], snmp_gauge32_tag);
}
sub encode_intlike ($$) {
my ($int, $tag)=@_;
my ($sign, $val, @vals);
$sign = ($int >= 0) ? 0 : 0xff;
if (ref $int && $int->isa ("Math::BigInt")) {
for(;;) {
$val = $int->copy()->bmod (256);
unshift(@vals, $val);
return encode_header ($tag, $#vals + 1).pack ("C*", @vals)
if ($int >= -128 && $int < 128);
$int->bsub ($sign)->bdiv (256);
}
} else {
for(;;) {
$val = $int & 0xff;
unshift(@vals, $val);
return encode_header ($tag, $#vals + 1).pack ("C*", @vals)
if ($int >= -128 && $int < 128);
$int -= $sign, $int = int($int / 256);
}
}
}
sub encode_oid (@) {
my @oid = @_;
my ($result,$subid);
$result = '';
## Ignore leading empty sub-ID. The favourite reason for
## those to occur is that people cut&paste numeric OIDs from
## CMU/UCD SNMP including the leading dot.
shift @oid if $oid[0] eq '';
return error ("Object ID too short: ", join('.',@oid))
if $#oid < 1;
## The first two subids in an Object ID are encoded as a single
## byte in BER, according to a funny convention. This poses
## restrictions on the ranges of those subids. In the past, I
## didn't check for those. But since so many people try to use
## OIDs in CMU/UCD SNMP's format and leave out the mib-2 or
## enterprises prefix, I introduced this check to catch those
## errors.
##
return error ("first subid too big in Object ID ", join('.',@oid))
if $oid[0] > 2;
$result = shift (@oid) * 40;
$result += shift @oid;
return error ("second subid too big in Object ID ", join('.',@oid))
if $result > 255;
$result = pack ("C", $result);
foreach $subid (@oid) {
if ( ($subid>=0) && ($subid<128) ){ #7 bits long subid
$result .= pack ("C", $subid);
} elsif ( ($subid>=128) && ($subid<16384) ){ #14 bits long subid
$result .= pack ("CC", 0x80 | $subid >> 7, $subid & 0x7f);
}
elsif ( ($subid>=16384) && ($subid<2097152) ) {#21 bits long subid
$result .= pack ("CCC",
0x80 | (($subid>>14) & 0x7f),
0x80 | (($subid>>7) & 0x7f),
$subid & 0x7f);
} elsif ( ($subid>=2097152) && ($subid<268435456) ){ #28 bits long subid
$result .= pack ("CCCC",
0x80 | (($subid>>21) & 0x7f),
0x80 | (($subid>>14) & 0x7f),
0x80 | (($subid>>7) & 0x7f),
$subid & 0x7f);
} elsif ( ($subid>=268435456) && ($subid<4294967296) ){ #32 bits long subid
$result .= pack ("CCCCC",
0x80 | (($subid>>28) & 0x0f), #mask the bits beyond 32
0x80 | (($subid>>21) & 0x7f),
0x80 | (($subid>>14) & 0x7f),
0x80 | (($subid>>7) & 0x7f),
$subid & 0x7f);
} else {
return error ("Cannot encode subid $subid");
}
}
encode_header (object_id_tag, length $result).$result;
}
sub encode_null () { encode_header (null_tag, 0); }
sub encode_sequence (@) { encode_tagged_sequence (sequence_tag, @_); }
sub encode_tagged_sequence ($@) {
my ($tag,$result);
$tag = shift @_;
$result = join '',@_;
return encode_header ($tag | constructor_flag, length $result).$result;
}
sub encode_string ($) {
my ($string)=@_;
return encode_header (octet_string_tag, length $string).$string;
}
sub encode_ip_address ($) {
my ($addr)=@_;
my @octets;
if (length $addr == 4) {
## Four bytes... let's suppose that this is a binary IP address
## in network byte order.
return encode_header (snmp_ip_address_tag, length $addr).$addr;
} elsif (@octets = ($addr =~ /^([0-9]+)\.([0-9]+)\.([0-9]+)\.([0-9]+)$/)) {
return encode_ip_address (pack ("CCCC", @octets));
} else {
return error ("IP address must be four bytes long or a dotted-quad");
}
}
sub encode_timeticks ($) {
my ($tt) = @_;
return encode_intlike ($tt, snmp_timeticks_tag);
}
#### Decoding
sub pretty_print ($) {
my ($packet) = @_;
return undef unless defined $packet;
my $result = ord (substr ($packet, 0, 1));
if (exists ($pretty_printer{$result})) {
my $c_ref = $pretty_printer{$result};
return &$c_ref ($packet);
}
return ($pretty_print_timeticks
? pretty_uptime ($packet)
: pretty_unsignedlike ($packet))
if $result == uptime_tag;
return "(null)" if $result == null_tag;
return error ("Exception code: noSuchObject") if $result == snmp_nosuchobject;
return error ("Exception code: noSuchInstance") if $result == snmp_nosuchinstance;
return error ("Exception code: endOfMibView") if $result == snmp_endofmibview;
# IlvJa
# pretty print sequences and their contents.
my $ctx_cons_flags = context_flag | constructor_flag;
if($result == (&constructor_flag | &sequence_tag) # sequence
|| $result == (0 | $ctx_cons_flags) #get_request
|| $result == (1 | $ctx_cons_flags) #getnext_request
|| $result == (2 | $ctx_cons_flags) #response
|| $result == (3 | $ctx_cons_flags) #set_request
|| $result == (4 | $ctx_cons_flags) #trap_request
|| $result == (5 | $ctx_cons_flags) #getbulk_request
|| $result == (6 | $ctx_cons_flags) #inform_request
|| $result == (7 | $ctx_cons_flags) #trap2_request
)
{
my $pretty_result = pretty_generic_sequence($packet);
$pretty_result =~ s/^/ /gm; #Indent.
my $seq_type_desc =
{
(constructor_flag | sequence_tag) => "Sequence",
(0 | $ctx_cons_flags) => "GetRequest",
(1 | $ctx_cons_flags) => "GetNextRequest",
(2 | $ctx_cons_flags) => "Response",
(3 | $ctx_cons_flags) => "SetRequest",
(4 | $ctx_cons_flags) => "Trap",
(5 | $ctx_cons_flags) => "GetBulkRequest",
(6 | $ctx_cons_flags) => "InformRequest",
(7 | $ctx_cons_flags) => "SNMPv2-Trap",
(8 | $ctx_cons_flags) => "Report",
}->{($result)};
return $seq_type_desc . "{\n" . $pretty_result . "\n}";
}
return sprintf ("#<unprintable BER type 0x%x>", $result);
}
sub pretty_using_decoder ($$) {
my ($decoder, $packet) = @_;
my ($decoded,$rest);
($decoded,$rest) = &$decoder ($packet);
return error ("Junk after object") unless $rest eq '';
return $decoded;
}
sub pretty_string ($) {
pretty_using_decoder (\&decode_string, $_[0]);
}
sub pretty_intlike ($) {
my $decoded = pretty_using_decoder (\&decode_intlike, $_[0]);
$decoded;
}
sub pretty_unsignedlike ($) {
return pretty_using_decoder (\&decode_unsignedlike, $_[0]);
}
sub pretty_oid ($) {
my ($oid) = shift;
my ($result,$subid,$next);
my (@oid);
$result = ord (substr ($oid, 0, 1));
return error ("Object ID expected") unless $result == object_id_tag;
($result, $oid) = decode_length ($oid, 1);
return error ("inconsistent length in OID") unless $result == length $oid;
@oid = ();
$subid = ord (substr ($oid, 0, 1));
push @oid, int ($subid / 40);
push @oid, $subid % 40;
$oid = substr ($oid, 1);
while ($oid ne '') {
$subid = ord (substr ($oid, 0, 1));
if ($subid < 128) {
$oid = substr ($oid, 1);
push @oid, $subid;
} else {
$next = $subid;
$subid = 0;
while ($next >= 128) {
$subid = ($subid << 7) + ($next & 0x7f);
$oid = substr ($oid, 1);
$next = ord (substr ($oid, 0, 1));
}
$subid = ($subid << 7) + $next;
$oid = substr ($oid, 1);
push @oid, $subid;
}
}
join ('.', @oid);
}
sub pretty_uptime ($) {
my ($packet,$uptime);
($uptime,$packet) = &decode_unsignedlike (@_);
pretty_uptime_value ($uptime);
}
sub pretty_uptime_value ($) {
my ($uptime) = @_;
my ($seconds,$minutes,$hours,$days,$result);
## We divide the uptime by hundred since we're not interested in
## sub-second precision.
$uptime = int ($uptime / 100);
$days = int ($uptime / (60 * 60 * 24));
$uptime %= (60 * 60 * 24);
$hours = int ($uptime / (60 * 60));
$uptime %= (60 * 60);
$minutes = int ($uptime / 60);
$seconds = $uptime % 60;
if ($days == 0){
$result = sprintf ("%d:%02d:%02d", $hours, $minutes, $seconds);
} elsif ($days == 1) {
$result = sprintf ("%d day, %d:%02d:%02d",
$days, $hours, $minutes, $seconds);
} else {
$result = sprintf ("%d days, %d:%02d:%02d",
$days, $hours, $minutes, $seconds);
}
return $result;
}
sub pretty_ip_address ($) {
my $pdu = shift;
my ($length, $rest);
return error ("IP Address tag (".snmp_ip_address_tag.") expected")
unless ord (substr ($pdu, 0, 1)) == snmp_ip_address_tag;
($length,$pdu) = decode_length ($pdu, 1);
return error ("Length of IP address should be four")
unless $length == 4;
sprintf "%d.%d.%d.%d", unpack ("CCCC", $pdu);
}
# IlvJa
# Returns a string with the pretty prints of all
# the elements in the sequence.
sub pretty_generic_sequence ($) {
my ($pdu) = shift;
my $rest;
my $type = ord substr ($pdu, 0 ,1);
my $flags = context_flag | constructor_flag;
return error (sprintf ("Tag 0x%x is not a valid sequence tag",$type))
unless ($type == (&constructor_flag | &sequence_tag) # sequence
|| $type == (0 | $flags) #get_request
|| $type == (1 | $flags) #getnext_request
|| $type == (2 | $flags) #response
|| $type == (3 | $flags) #set_request
|| $type == (4 | $flags) #trap_request
|| $type == (5 | $flags) #getbulk_request
|| $type == (6 | $flags) #inform_request
|| $type == (7 | $flags) #trap2_request
);
my $curelem;
my $pretty_result; # Holds the pretty printed sequence.
my $pretty_elem; # Holds the pretty printed current elem.
my $first_elem = 'true';
# Cut away the first Tag and Length from $packet and then
# init $rest with that.
(undef, $rest) = decode_length ($pdu, 1);
while($rest)
{
($curelem,$rest) = decode_generic_tlv($rest);
$pretty_elem = pretty_print($curelem);
$pretty_result .= "\n" if not $first_elem;
$pretty_result .= $pretty_elem;
# The rest of the iterations are not related to the
# first element of the sequence so..
$first_elem = '' if $first_elem;
}
return $pretty_result;
}
sub hex_string ($) {
&hex_string_of_type ($_[0], octet_string_tag);
}
sub hex_string_of_type ($$) {
my ($pdu, $wanted_type) = @_;
my ($length);
return error ("BER tag ".$wanted_type." expected")
unless ord (substr ($pdu, 0, 1)) == $wanted_type;
($length,$pdu) = decode_length ($pdu, 1);
hex_string_aux ($pdu);
}
sub hex_string_aux ($) {
my ($binary_string) = @_;
my ($c, $result);
$result = '';
for $c (unpack "C*", $binary_string) {
$result .= sprintf "%02x", $c;
}
$result;
}
sub decode_oid ($) {
my ($pdu) = @_;
my ($result,$pdu_rest);
my (@result);
$result = ord (substr ($pdu, 0, 1));
return error ("Object ID expected") unless $result == object_id_tag;
($result, $pdu_rest) = decode_length ($pdu, 1);
return error ("Short PDU")
if $result > length $pdu_rest;
@result = (substr ($pdu, 0, $result + (length ($pdu) - length ($pdu_rest))),
substr ($pdu_rest, $result));
@result;
}
# IlvJa
# This takes a PDU and returns a two element list consisting of
# the first element found in the PDU (whatever it is) and the
# rest of the PDU
sub decode_generic_tlv ($) {
my ($pdu) = @_;
my (@result);
my ($elemlength,$pdu_rest) = decode_length ($pdu, 1);
@result = (# Extract the first element.
substr ($pdu, 0, $elemlength + (length ($pdu)
- length ($pdu_rest)
)
),
#Extract the rest of the PDU.
substr ($pdu_rest, $elemlength)
);
@result;
}
sub decode_by_template {
my ($pdu) = shift;
local ($_) = shift;
return decode_by_template_2 ($pdu, $_, 0, 0, @_);
}
my $template_debug = 0;
sub decode_by_template_2 {
my ($pdu, $template, $pdu_index, $template_index);
local ($_);
$pdu = shift;
$template = $_ = shift;
$pdu_index = shift;
$template_index = shift;
my (@results);
my ($length,$expected,$read,$rest);
return undef unless defined $pdu;
while (0 < length ($_)) {
if (substr ($_, 0, 1) eq '%') {
print STDERR "template $_ ", length $pdu," bytes remaining\n"
if $template_debug;
$_ = substr ($_,1);
++$template_index;
if (($expected) = /^(\d*|\*)\{(.*)/) {
## %{
$template_index += length ($expected) + 1;
print STDERR "%{\n" if $template_debug;
$_ = $2;
$expected = shift | constructor_flag if ($expected eq '*');
$expected = sequence_tag | constructor_flag
if $expected eq '';
return template_error ("Unexpected end of PDU",
$template, $template_index)
if !defined $pdu or $pdu eq '';
return template_error ("Expected sequence tag $expected, got ".
ord (substr ($pdu, 0, 1)),
$template,
$template_index)
unless (ord (substr ($pdu, 0, 1)) == $expected);
(($length,$pdu) = decode_length ($pdu, 1))
|| return template_error ("cannot read length",
$template, $template_index);
return template_error ("Expected length $length, got ".length $pdu ,
$template, $template_index)
unless length $pdu == $length;
} elsif (($expected,$rest) = /^(\*|)s(.*)/) {
## %s
$template_index += length ($expected) + 1;
($expected = shift) if $expected eq '*';
(($read,$pdu) = decode_string ($pdu))
|| return template_error ("cannot read string",
$template, $template_index);
print STDERR "%s => $read\n" if $template_debug;
if ($expected eq '') {
push @results, $read;
} else {
return template_error ("Expected $expected, read $read",
$template, $template_index)
unless $expected eq $read;
}
$_ = $rest;
} elsif (($rest) = /^A(.*)/) {
## %A
$template_index += 1;
{
my ($tag, $length, $value);
$tag = ord (substr ($pdu, 0, 1));
return error ("Expected IP address, got tag ".$tag)
unless $tag == snmp_ip_address_tag;
($length, $pdu) = decode_length ($pdu, 1);
return error ("Inconsistent length of InetAddress encoding")
if $length > length $pdu;
return template_error ("IP address must be four bytes long",
$template, $template_index)
unless $length == 4;
$read = substr ($pdu, 0, $length);
$pdu = substr ($pdu, $length);
}
print STDERR "%A => $read\n" if $template_debug;
push @results, $read;
$_ = $rest;
} elsif (/^O(.*)/) {
## %O
$template_index += 1;
$_ = $1;
(($read,$pdu) = decode_oid ($pdu))
|| return template_error ("cannot read OID",
$template, $template_index);
print STDERR "%O => ".pretty_oid ($read)."\n"
if $template_debug;
push @results, $read;
} elsif (($expected,$rest) = /^(\d*|\*|)i(.*)/) {
## %i
$template_index += length ($expected) + 1;
print STDERR "%i\n" if $template_debug;
$_ = $rest;
(($read,$pdu) = decode_int ($pdu))
|| return template_error ("cannot read int",
$template, $template_index);
if ($expected eq '') {
push @results, $read;
} else {
$expected = int (shift) if $expected eq '*';
return template_error (sprintf ("Expected %d (0x%x), got %d (0x%x)",
$expected, $expected, $read, $read),
$template, $template_index)
unless ($expected == $read)
}
} elsif (($rest) = /^u(.*)/) {
## %u
$template_index += 1;
print STDERR "%u\n" if $template_debug;
$_ = $rest;
(($read,$pdu) = decode_unsignedlike ($pdu))
|| return template_error ("cannot read uptime",
$template, $template_index);
push @results, $read;
} elsif (/^\@(.*)/) {
## %@
$template_index += 1;
print STDERR "%@\n" if $template_debug;
$_ = $1;
push @results, $pdu;
$pdu = '';
} else {
return template_error ("Unknown decoding directive in template: $_",
$template, $template_index);
}
} else {
if (substr ($_, 0, 1) ne substr ($pdu, 0, 1)) {
return template_error ("Expected ".substr ($_, 0, 1).", got ".substr ($pdu, 0, 1),
$template, $template_index);
}
$_ = substr ($_,1);
$pdu = substr ($pdu,1);
}
}
return template_error ("PDU too long", $template, $template_index)
if length ($pdu) > 0;
return template_error ("PDU too short", $template, $template_index)
if length ($_) > 0;
@results;
}
sub decode_sequence ($) {
my ($pdu) = @_;
my ($result);
my (@result);
$result = ord (substr ($pdu, 0, 1));
return error ("Sequence expected")
unless $result == (sequence_tag | constructor_flag);
($result, $pdu) = decode_length ($pdu, 1);
return error ("Short PDU")
if $result > length $pdu;
@result = (substr ($pdu, 0, $result), substr ($pdu, $result));
@result;
}
sub decode_int ($) {
my ($pdu) = @_;
my $tag = ord (substr ($pdu, 0, 1));
return error ("Integer expected, found tag ".$tag)
unless $tag == int_tag;
decode_intlike ($pdu);
}
sub decode_intlike ($) {
decode_intlike_s ($_[0], 1);
}
sub decode_unsignedlike ($) {
decode_intlike_s ($_[0], 0);
}
my $have_math_bigint_p = 0;
sub decode_intlike_s ($$) {
my ($pdu, $signedp) = @_;
my ($length,$result);
($length,$pdu) = decode_length ($pdu, 1);
my $ptr = 0;
$result = unpack ($signedp ? "c" : "C", substr ($pdu, $ptr++, 1));
if ($length > 5 || ($length == 5 && $result > 0)) {
require 'Math/BigInt.pm' unless $have_math_bigint_p++;
$result = new Math::BigInt ($result);
}
while (--$length > 0) {
$result *= 256;
$result += unpack ("C", substr ($pdu, $ptr++, 1));
}
($result, substr ($pdu, $ptr));
}
sub decode_string ($) {
my ($pdu) = shift;
my ($result);
$result = ord (substr ($pdu, 0, 1));
return error ("Expected octet string, got tag ".$result)
unless $result == octet_string_tag;
($result, $pdu) = decode_length ($pdu, 1);
return error ("Short PDU")
if $result > length $pdu;
return (substr ($pdu, 0, $result), substr ($pdu, $result));
}
sub decode_length ($@) {
my ($pdu) = shift;
my $index = shift || 0;
my ($result);
my (@result);
$result = ord (substr ($pdu, $index, 1));
if ($result & long_length) {
if ($result == (long_length | 1)) {
@result = (ord (substr ($pdu, $index+1, 1)), substr ($pdu, $index+2));
} elsif ($result == (long_length | 2)) {
@result = ((ord (substr ($pdu, $index+1, 1)) << 8)
+ ord (substr ($pdu, $index+2, 1)), substr ($pdu, $index+3));
} else {
return error ("Unsupported length");
}
} else {
@result = ($result, substr ($pdu, $index+1));
}
@result;
}
# This takes a hashref that specifies functions to call when
# the specified value type is being printed. It returns the
# number of functions that were registered.
sub register_pretty_printer($)
{
my ($h_ref) = shift;
my ($type, $val, $cnt);
$cnt = 0;
while(($type, $val) = each %$h_ref) {
if (ref $val eq "CODE") {
$pretty_printer{$type} = $val;
$cnt++;
}
}
return($cnt);
}
# This takes a hashref that specifies functions to call when
# the specified value type is being printed. It removes the
# functions from the list for the types specified.
# It returns the number of functions that were unregistered.
sub unregister_pretty_printer($)
{
my ($h_ref) = shift;
my ($type, $val, $cnt);
$cnt = 0;
while(($type, $val) = each %$h_ref) {
if ((exists ($pretty_printer{$type}))
&& ($pretty_printer{$type} == $val)) {
if (exists($default_printer{$type})) {
$pretty_printer{$type} = $default_printer{$type};
} else {
delete $pretty_printer{$type};
}
$cnt++;
}
}
return($cnt);
}
#### OID prefix check
### encoded_oid_prefix_p OID1 OID2
###
### OID1 and OID2 should be BER-encoded OIDs.
### The function returns non-zero iff OID1 is a prefix of OID2.
### This can be used in the termination condition of a loop that walks
### a table using GetNext or GetBulk.
###
sub encoded_oid_prefix_p ($$) {
my ($oid1, $oid2) = @_;
my ($i1, $i2);
my ($l1, $l2);
my ($subid1, $subid2);
return error ("OID tag expected") unless ord (substr ($oid1, 0, 1)) == object_id_tag;
return error ("OID tag expected") unless ord (substr ($oid2, 0, 1)) == object_id_tag;
($l1,$oid1) = decode_length ($oid1, 1);
($l2,$oid2) = decode_length ($oid2, 1);
for ($i1 = 0, $i2 = 0;
$i1 < $l1 && $i2 < $l2;
++$i1, ++$i2) {
($subid1,$i1) = &decode_subid ($oid1, $i1, $l1);
($subid2,$i2) = &decode_subid ($oid2, $i2, $l2);
return 0 unless $subid1 == $subid2;
}
return $i2 if $i1 == $l1;
return 0;
}
### decode_subid OID INDEX
###
### Decodes a subid field from a BER-encoded object ID.
### Returns two values: the field, and the index of the last byte that
### was actually decoded.
###
sub decode_subid ($$$) {
my ($oid, $i, $l) = @_;
my $subid = 0;
my $next;
while (($next = ord (substr ($oid, $i, 1))) >= 128) {
$subid = ($subid << 7) + ($next & 0x7f);
++$i;
return error ("decoding object ID: short field")
unless $i < $l;
}
return (($subid << 7) + $next, $i);
}
sub error (@) {
$errmsg = join ("",@_);
return undef;
}
sub template_error ($$$) {
my ($errmsg, $template, $index) = @_;
return error ($errmsg."\n ".$template."\n ".(' ' x $index)."^");
}
1;

1123
debian/smokeping/usr/lib/SNMP_Session.pm vendored Normal file

File diff suppressed because it is too large Load Diff

1321
debian/smokeping/usr/lib/SNMP_util.pm vendored Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,3 @@
#!/bin/sh
exec /usr/share/smokeping/smokeping.cgi /etc/smokeping/config

View File

@@ -0,0 +1,24 @@
[Unit]
Description=Latency Logging and Graphing System
Documentation=man:smokeping(1) file:/usr/share/doc/smokeping/examples/systemd/slave_mode.conf
After=network.target
[Service]
# It would in theory be simpler to run smokeping with the --nodaemon option and
# Type=simple, but smokeping does not work properly when in "slave" mode with
# --nodaemon set.
Type=forking
RuntimeDirectory=smokeping
PIDFile=/run/smokeping/smokeping.pid
User=smokeping
Group=smokeping
# If you need to run smokeping in slave/master mode, see the example unit
# override in /usr/share/doc/smokeping/examples/systemd/slave_mode.conf
#ExecStart=/usr/sbin/smokeping --pid-dir=/run/smokeping
ExecStart=/usr/sbin/smokeping --config=/etc/smokeping/config --nodaemon
ExecReload=/bin/kill -HUP $MAINPID
[Install]
WantedBy=multi-user.target

143
debian/smokeping/usr/sbin/smokeinfo vendored Executable file
View File

@@ -0,0 +1,143 @@
#!/usr/bin/perl
use strict;
use warnings;
use lib (split /:/, q{}); # PERL5LIB
use lib qw(/usr/share/perl5); # LIBDIR
use Smokeping::Info;
use Getopt::Long 2.25 qw(:config no_ignore_case);
use Pod::Usage 1.14;
'$Revision: 3879 $ ' =~ /Revision: (\S*)/;
my $Revision = $1;
sub main()
{
# parse options
my %opt = (mode=>'plain',separator=>';',format=>'%le',start=>'end-24h',end=>'now');
GetOptions(\%opt, 'help|h', 'man', 'version', 'noaction|no-action|n','no-head',
'start=s','end=s','filter=s','mode=s','separator=s','format=s') or exit(1);
if($opt{help}) { pod2usage(1) }
if($opt{man}) { pod2usage(-exitstatus => 0, -verbose => 2) }
if($opt{version}) { print "smokeinfo $Revision\n"; exit(0) }
if($opt{noaction}) { die "ERROR: don't know how to \"no-action\".\n" }
my $config = shift @ARGV;
my $si = Smokeping::Info->new($config);
my $nodes = $si->fetch_nodes(pattern=>$opt{filter},mode=>$opt{mode});
my @rows = qw(med_avg med_min med_max med_now loss_avg loss_max loss_now);
print '# ',join $opt{separator}, 'node_path',@rows if not $opt{'no-head'};
print "\n";
for my $node (@$nodes) {
my $data = $si->stat_node($node,$opt{start},$opt{end});
print join $opt{separator},$node->{path},map {defined $data->{$_} ? sprintf($opt{format},$data->{$_}) : '?'} @rows;
print "\n";
}
}
main;
__END__
=head1 NAME
smokeinfo - poll smokeping site for numeric information
=head1 SYNOPSIS
B<smokeinfo> path/to/config.cfg [I<options>]
--start x rrd graph start time. (default now-24h)
--end y rrd graph end time. (default now)
--filter pattern search pattern for node selection
--mode plain (default) how to use the pattern
- plain
- recursive
- regexp
--separator ; (default)
--format %le (default)
--no-head do not print a header
--man show man-page and exit
-h, --help display this help and exit
--version output version information and exit
=head1 DESCRIPTION
SmokeInfo is a simple frontend to the L<Smokeping::Info> module. It provides
access to numeric data stored in the rrd files.
Note that --start and --end are passed directly to rrd graph. This means
they work on the same syntax.
=head2 Examples
Get all data all nodes
smokeinfo etc/config
Only show nodes directly under /Customers
smokeinfo --filter=/Customers/ etc/config
Show all nodes under /Customers
smokeinfo --mode=recursive --filter=/Customers/ etc/config
Show all nodes with '_wlan_' in the name
smokeinfo --mode=regexp --filter=_wlan_ etc/config
=head1 SEE ALSO
L<smokeping(1)>
=head1 COPYRIGHT
Copyright (c) 2009 by OETIKER+PARTNER AG. All rights reserved.
=head1 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.
=head1 AUTHOR
S<Tobi Oetiker E<lt>tobi@oetiker.chE<gt>>
=head1 HISTORY
2009-01-05 to Initial Version
=cut
# Emacs Configuration
#
# Local Variables:
# mode: cperl
# eval: (cperl-set-style "PerlStyle")
# mode: flyspell
# mode: flyspell-prog
# End:
#
# vi: sw=4 et

184
debian/smokeping/usr/sbin/smokeping vendored Executable file
View File

@@ -0,0 +1,184 @@
#!/usr/bin/perl
# -*-perl-*-
use strict;
use warnings;
use FindBin;
use lib (split /:/, q{}); # PERL5LIB
use lib qw(/usr/share/perl5); # LIBDIR
use Smokeping;
Smokeping::main("$FindBin::RealBin/../etc/config");
=head1 NAME
smokeping - Commandline tool for SmokePing
=head1 SYNOPSIS
B<smokeping> [ B<--email> | B<--makepod> | B<--version> | B<--restart> ]
Options:
--man[=x] Show the manpage for the program (or for probe x, if specified)
--help Help :-)
--email Send SmokePing Agents to all Targets marked DYNAMIC
--config=x Use a config file different from the default
--check Just check the config file syntax, don't start the daemon
--makepod[=x] Create POD documentation on Config file (or for probe x, if specified)
--version Show SmokePing Version
--debug Run Only once and do not Fork
--debug-daemon Start the daemon with debugging enabled
--restart Restart SmokePing
--reload Reload configuration in the running process without interrupting
any probes
--nodaemon Do no daemonize the process (no fork)
--filter=x Only measure entries which pass the filter x
--logfile=x Append warnings to logfile x.
--static[=x] Generates a static website in directory x. If x is left out,
pagedir from the config is used.
--nosleep For debugging you may want to run SmokePing without sleep interval
--gen-examples Generate the smokeping_examples document and example config files
(to be used while building inside the smokeping distribution)
With --check : check the syntax of the generated examples.
--master-url=s Run smokeping in slave mode. Attach 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)
=head1 DESCRIPTION
The B<smokeping> tool is the commandline part of the SmokePing system. Its
main function is to run as a daemon and send Pings to all the Targets you
have specified in the Config file. When you call B<smokeping> without
arguments it will start as a daemon and do its work.
If called with an argument, then further functions can be activated, as seen
in the Synopsis above. The B<--email> function is explained in the
documentation on the config file.
The B<--filter> option allows you to run the daemon on a big config file,
but have the config file filtered and only measure the entries that pass the
filter. This is 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 B</> like path names:
*** targets ***
+ A
....
+ B
...
++ C
This gives
/A
and
/B, /B/C
If I want to monitor /A my filter would look like this:
--filter=/A
Filters follow regular expression syntax. The are always anchored at the tip of the string.
by adding a B<!> to the front of the filter string you negate it. Matching entries will be excluded from monitoring.
Multiple B<--filter> arguments can be used to assemble complex filters:
--filter=/A --filter=/B
would include all the targets
--filter=/A --filter=/B --filter=!/B/C
would include all but /B/C.
The B<--makepod> does get used internally to produce the
L<documentation on the SmokePing configuration file|smokeping_config>.
Please refer to L<the installation document|smokeping_install> for detailed setup instructions.
=head1 SETUP
When installing SmokePing, this file has to be adjusted to fit your
local system. Three paths have to be entered.
One pointing to your B<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");
=head1 SEE ALSO
L<smokeping_config(5)>, L<smokeping_examples(5)>, L<smokeping_cgi(1)>,
L<tSmoke(1)>, L<smokeping_master_slave(7)>, L<smokeping_extend(7)>,
L<smokeping_install(7)>, L<smokeping_upgrade(7)>,
How to read the graphs https://oss.oetiker.ch/smokeping/doc/reading.en.html
=head1 COPYRIGHT
Copyright (c) 2002 by Tobias Oetiker. All right reserved.
=head1 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.
=head1 AUTHOR
Tobias Oetiker E<lt>tobi@oetiker.chE<gt>
=cut

570
debian/smokeping/usr/sbin/tSmoke vendored Executable file
View File

@@ -0,0 +1,570 @@
#!/usr/bin/perl
#
#-----------------------------------------------
# tSmoke.pl
# Dan McGinn-Combs, Sep 2003
# tSmoke.v 0.4 2004/03 McGinn-Combs
#-----------------------------------------------
#
# Modified for Smokeping official distribution since 20050526
# Original README follows
#
# tSmoke.v04.README
# - added downtime report (--downtime)
# - a few tweaks to the calculations to ensure it's consistent
#
# tSmoke.v03.README
# - Initial Release
# - The script, started through cron, will cull through a config file and
# determine which hosts are down at a point in time (Morning report) and
# send out an smtp message to a mobile phone (for example).
#
# - It will also cull through the same config file and, using an included html
# file (small change to General section of the config file), send an html
# message which shows the availability over the past day, week, month
# and quarter.
#
# - It can also show detail data depending on the setting of
# command line option "detail".
#
# tSmoke.v02.README
# - Local testing version
#-----------------------------------------------
#
# 1) This program is run via CRON or the command line
# 2) It extracts RRD information from a smokeping config file
# 3) It pulls data from RRD files to determine if anything is offline, that is returning 0 PINGs
# 4) tSmoke reports status via an SMTP alert
# 5) tSmoke also generates an SMTP mail showing historical view of availability
#
# Many thanks to the following people for their help and guidance:
# Jim Horwath of Agere Systems Inc. for his examples and pointers to Spreadsheet::WriteExcel
# Frank Harper the author of SLAMon, a tool for tracking Service Level Agreements
# Tobias Oetiker, or course, the author of Smokeping, RRDTool and MRTG
#
use strict;
use warnings;
# We need to use
# -- Smokeping libraries
# -- RRDTool
# -- Getopt::Long
#
# Point the lib variables to your implementation
use lib (split /:/, q{}); # PERL5LIB
use FindBin;
use lib qw(/usr/share/perl5); # LIBDIR
use Smokeping;
use Net::SMTP;
use Getopt::Long;
use Pod::Usage;
use RRDs;
# Point to your Smokeping config file
my $cfgfile = (shift @ARGV) || "$FindBin::Bin/../etc/config";
# global variables
my $cfg;
#this is designed to work on IPv4 only
my $havegetaddrinfo = 0;
# we want opts everywhere
my %opt;
#Hashes for the data
my (%Daily,%Weekly,%Monthly,%Quarterly); # the entries
my (%DailyC,%WeeklyC,%MonthlyC,%QuarterlyC); # a count of the entries
######################
### Moving Average ###
######################
# Just a reminder of how to do a moving average if you ever want to
# PREV,UN,<DS>,UN,1,<DS>,IF,PREV,IF,<DS>,UN,1,<DS>,IF,-,<WEIGHT>,*,A,UN,1,A,IF,+
# Change Log:
# DMC - Added Quarterly Status
# DMC - Added HTML mail reporting and consolidated functions
# DMC = Added an external HTML mail template, tMail
my $RCS_VERSION = '$id: tSmoke.v 0.4 2004/03 McGinn-Combs';
sub test_mail($) {
my $cfg = shift;
my $mail = <<"EOF";
Subject: tSmoke test
To: $cfg->{Alerts}{to}
This is a test mail with 'tSmoke --testmail'.
EOF
print "Sending a test mail to $cfg->{Alerts}{to} from $cfg->{Alerts}{from}...";
Smokeping::sendmail($cfg->{Alerts}{from}, $cfg->{Alerts}{to}, $mail);
print "done.\n";
};
sub morning_update($) {
# Send out a morning summary of devices that are down
my $cfg = shift;
my $Body = "";
my $TmpBody = "";
my $To = "";
if ( $opt{to} ) { $To = $opt{to}; } else { $To = $cfg->{Alerts}{to}; }
# Get a list of the existing RRD Files
my @rrds = split ( /\n/,list_rrds($cfg->{Targets},"","") );
my $Count = $#rrds + 1;
my $Down = 0;
foreach my $target (@rrds) {
my $Loss = 0;
my ($start,$step,$names,$data) = RRDs::fetch "$target","AVERAGE","--start","-300";
my $ERR=RRDs::error;
die "ERROR while reading $_: $ERR\n" if $ERR;
foreach my $line (@$data) {
$Loss += ( defined($$line[3]) ? $$line[3] : 0 );
}
$Down += 1 if $Loss == 0;
$target =~ s/^([a-zA-Z0-9]*\/)*//;
$target =~ s/.rrd//;
$target =~ s/\~(.*)/ from $1/ if $target =~ m/\~/;
$TmpBody .= "$target\n" if $Loss == 0;
}
$Body = <<MAIL_END;
Subject: Of $Count Hosts, $Down Down
To: $To
Content-Type: text/plain; charset=iso-8859-15
Content-Transfer-encoding: 8bit
MIME-Version: 1.0
Of $Count Hosts, $Down Down:
$TmpBody
MAIL_END
Smokeping::sendmail($cfg->{Alerts}{from},$To,$Body);
}
sub weekly_update($) {
# Send out a formatted HTML Table of the
# Previous Day, Week, Month and Quarter Availability
# Get a list of the existing RRD Files
my @rrds = split ( /\n/,list_rrds($cfg->{Targets},"","") );
my $To = "";
if ( $opt{to} ) { $To = $opt{to}; } else { $To = $cfg->{Alerts}{to}; }
my $Body ='';
# Calculations Based on the following:
# RRDs::graph "fake.png",
# '--start','-86400',
# '-end','-300',
# "DEF:loss=${rrd}:loss:AVERAGE",
# "CDEF:avail=loss,0,100,IF", or more precisely "CDEF:avail=loss,2,GE,0,100,IF"
# and adding in the check for unknown for systems just coming on line
# "CDEF:avail=loss,UN,0,loss,IF,$pings,GE,0,100,IF"
# Arbitrarily a loss of 10% of Pings means the system was down
my $pings = $cfg->{Database}{pings} * .1;
foreach my $target (@rrds) {
# Get an average Availability for each RRD file
my $ERR;
my ($DAverage,$Dxsize,$Dysize) = RRDs::graph "fake.png",
"--start","-86400",
"--end","-600",
"--step","1008",
"DEF:loss=$target:loss:AVERAGE",
"CDEF:avail=loss,UN,0,loss,IF,$pings,GE,0,100,IF",
"PRINT:avail:AVERAGE:%.2lf";
$ERR=RRDs::error;
die "ERROR while reading $_: $ERR\n" if $ERR;
my ($WAverage,$Wxsize,$Wysize) = RRDs::graph "fake.png",
"--start","-604800",
"--end","-600",
"--step","4320",
"DEF:loss=$target:loss:AVERAGE",
"CDEF:avail=loss,UN,0,loss,IF,$pings,GE,0,100,IF",
"PRINT:avail:AVERAGE:%.2lf";
$ERR=RRDs::error;
die "ERROR while reading $_: $ERR\n" if $ERR;
my ($MAverage,$Mxsize,$Mysize) = RRDs::graph "fake.png",
"--start","-2592000",
"--end","-600",
"--step","4320",
"DEF:loss=$target:loss:AVERAGE",
"CDEF:avail=loss,UN,0,loss,IF,$pings,GE,0,100,IF",
"PRINT:avail:AVERAGE:%.2lf";
$ERR=RRDs::error;
die "ERROR while reading $_: $ERR\n" if $ERR;
my ($QAverage,$Qxsize,$Qysize) = RRDs::graph "fake.png",
"--start","-7776000",
"--end","-600",
"--step","4320",
"DEF:loss=$target:loss:AVERAGE",
"CDEF:avail=loss,UN,0,loss,IF,$pings,GE,0,100,IF",
"PRINT:avail:AVERAGE:%.2lf";
$ERR=RRDs::error;
die "ERROR while reading $_: $ERR\n" if $ERR;
$target =~ s/$cfg->{General}{datadir}\///;
$target =~ s/.rrd//;
my @Path;
push @Path,split/\//,$target;
update_stats ( \@Path, @$DAverage[0], @$WAverage[0], @$MAverage[0], @$QAverage[0]);
}
# Prepare the e-mail message
$Body = <<MAIL_END;
Subject: IT System Availability
To: $To
Content-Type: text/html; charset=iso-8859-15
Content-Transfer-encoding: 8bit
MIME-Version: 1.0
MAIL_END
open tSMOKE, $cfg->{General}{tmail} or die "ERROR: can't read $cfg->{General}{tmail}\n";
while (<tSMOKE>){
my $Summary = Summary_Sheet();
s/<##SUMMARY##>/$Summary/ig;
my $Daily = DetailSheet(86400);
s/<##DAYDETAIL##>/$Daily/ig;
my $Weekly = DetailSheet(604800);
s/<##WEEKDETAIL##>/$Weekly/ig;
my $Monthly = DetailSheet(2592000);
s/<##MONTHDETAIL##>/$Monthly/ig;
my $Quarterly = DetailSheet(7776000);
s/<##QUARTERDETAIL##>/$Quarterly/ig;
$Body .= $_;
}
close tSMOKE;
Smokeping::sendmail($cfg->{Alerts}{from}, $To, $Body);
}
sub update_stats($$$$$);
sub update_stats($$$$$) {
# Update the uptime percentages in the Hash Arrays
my $Path = shift;
my $DAverage = shift;
my $WAverage = shift;
my $MAverage = shift;
my $QAverage = shift;
#Enter everything once as it exists
#Trim off the rightmost component (hostname) and reenter the code
#If there is only one component, this is the final level
#This is an average of averages
my $Ticket = join ( ".",@$Path);
$Daily { $Ticket } += $DAverage;
$Weekly { $Ticket } += $WAverage;
$Monthly { $Ticket } += $MAverage;
$Quarterly {$Ticket } += $QAverage;
$DailyC { $Ticket }++;
$WeeklyC { $Ticket }++;
$MonthlyC { $Ticket }++;
$QuarterlyC { $Ticket }++;
my $Length = @$Path;
@$Path = @$Path [ 0 .. $Length - 2 ];
update_stats(\@$Path,$DAverage,$WAverage,$MAverage,$QAverage) if $Length > 1;
}
sub Summary_Sheet() {
my $Body = '';
$Body .= "<table border='1' bordercolor=#111111>\n";
$Body .= "<tr>\n";
$Body .= "<td class ='appHeader' colspan='5'>IT Network Systems Availability Summary</td></tr>\n";
$Body .= "<tr>\n";
$Body .= "<td class ='appHeader' colspan='5'>Compiled: ". scalar(localtime) . "</td></tr>\n";
$Body .= "<tr>\n";
$Body .= "<td class = 'subhead' width='20%'>Service</td>
<td class = 'subhead' width='20%'>Past Quarter</td>
<td class = 'subhead' width='20%'>Past Month</td>
<td class = 'subhead' width='20%'>Past Week</td>
<td class = 'subhead' width='20%'>Past Day</td></tr>\n";
foreach (sort { $a cmp $b } keys %Monthly) {
next if ( $_ =~ /\./ );
# this is a major section heading
$Body .= "<tr>\n";
$Body .= "<td class = 'SubHead'>$_</td>";
$Body .= "<td class = 'Up99'>" . sprintf('%.2f',$Quarterly{$_}/$QuarterlyC{$_}) . "%</td>"
if $Quarterly{$_}/$QuarterlyC{$_} >= 99 ;
$Body .= "<td class = 'Up95'>" . sprintf('%.2f',$Quarterly{$_}/$QuarterlyC{$_}) . "%</td>"
if $Quarterly{$_}/$QuarterlyC{$_} > 95 and $Quarterly{$_}/$QuarterlyC{$_} < 99 ;
$Body .= "<td class = 'Up90'>" . sprintf('%.2f',$Quarterly{$_}/$QuarterlyC{$_}) . "%</td>"
if $Quarterly{$_}/$QuarterlyC{$_} > 90 and $Quarterly{$_}/$QuarterlyC{$_} < 95 ;
$Body .= "<td class = 'UpNo'>" . sprintf('%.2f',$Quarterly{$_}/$QuarterlyC{$_}) . "%</td>"
if $Quarterly{$_}/$QuarterlyC{$_} < 90 ;
$Body .= "<td class = 'Up99'>" . sprintf('%.2f',$Monthly{$_}/$MonthlyC{$_}) . "%</td>"
if $Monthly{$_}/$MonthlyC{$_} >= 99 ;
$Body .= "<td class = 'Up95'>" . sprintf('%.2f',$Monthly{$_}/$MonthlyC{$_}) . "%</td>"
if $Monthly{$_}/$MonthlyC{$_} > 95 and $Monthly{$_}/$MonthlyC{$_} < 99 ;
$Body .= "<td class = 'Up90'>" . sprintf('%.2f',$Monthly{$_}/$MonthlyC{$_}) . "%</td>"
if $Monthly{$_}/$MonthlyC{$_} > 90 and $Monthly{$_}/$MonthlyC{$_} < 95 ;
$Body .= "<td class = 'UpNo'>" . sprintf('%.2f',$Monthly{$_}/$MonthlyC{$_}) . "%</td>"
if $Monthly{$_}/$MonthlyC{$_} < 90 ;
$Body .= "<td class = 'Up99'>" . sprintf('%.2f',$Weekly{$_}/$WeeklyC{$_}) . "%</td>"
if $Weekly{$_}/$WeeklyC{$_} >= 99;
$Body .= "<td class = 'Up95'>" . sprintf('%.2f',$Weekly{$_}/$WeeklyC{$_}) . "%</td>"
if $Weekly{$_}/$WeeklyC{$_} > 95 and $Weekly{$_}/$WeeklyC{$_} < 99 ;
$Body .= "<td class = 'Up90'>" . sprintf('%.2f',$Weekly{$_}/$WeeklyC{$_}) . "%</td>"
if $Weekly{$_}/$WeeklyC{$_} > 90 and $Weekly{$_}/$WeeklyC{$_} < 95 ;
$Body .= "<td class = 'UpNo'>" . sprintf('%.2f',$Weekly{$_}/$WeeklyC{$_}) . "%</td>"
if $Weekly{$_}/$WeeklyC{$_} < 90 ;
$Body .= "<td class = 'Up99'>" . sprintf('%.2f',$Daily{$_}/$DailyC{$_}) . "%</td>"
if $Daily{$_}/$DailyC{$_} >= 99;
$Body .= "<td class = 'Up95'>" . sprintf('%.2f',$Daily{$_}/$DailyC{$_}) . "%</td>"
if $Daily{$_}/$DailyC{$_} > 95 and $Daily{$_}/$DailyC{$_} < 99 ;
$Body .= "<td class = 'Up90'>" . sprintf('%.2f',$Daily{$_}/$DailyC{$_}) . "%</td>"
if $Daily{$_}/$DailyC{$_} > 90 and $Daily{$_}/$DailyC{$_} < 95 ;
$Body .= "<td class = 'UpNo'>" . sprintf('%.2f',$Daily{$_}/$DailyC{$_}) . "%</td>"
if $Daily{$_}/$DailyC{$_} < 90 ;
$Body .= "</tr>\n";
}
$Body .= "</table>";
$Body .= "<P><P><P>\n";
$Body .= "<table border='1' bordercolor=#111111><tr><td class ='appHeader'>Legend:</td>\n";
$Body .= "<tr><td class = 'Up99'>if uptime > 99% then GREEN</td></tr>\n";
$Body .= "<tr><td class = 'Up95'>if uptime > 95% but < 99% then BLUE</td></tr>\n";
$Body .= "<tr><td class = 'Up90'>if uptime > 90% but < 95% then YELLOW</td></tr>\n";
$Body .= "<tr><td class = 'UpNo'>if uptime < 90% then RED</td></tr>\n";
$Body .= "</table>\n";
return $Body;
}
sub NumDots($) {
# Count the number of dots in a string
# There's probably a better way to do this
my $DNA = shift;
my $a = 0;
while($DNA =~ /\./ig){$a++}
return $a
}
sub DetailSheet($) {
# Populate the table with details depending on the value of %opts{detail}
my $Seconds = shift;
my $Body = '';
return '' unless $opt{detail};
# Monthly/Weekly/Daily
$Body .= "<table border='1' bordercolor=#111111>\n";
$Body .= "<tr>\n";
$Body .= "<td class ='appHeader' colspan='3'>IT Network Systems Availability Previous " . $Seconds/86400 . " Day(s)</td></tr>\n";
$Body .= "<tr>\n";
$Body .= "<td class ='appHeader' colspan='3'>Compiled: ". scalar(localtime) . "</td></tr>\n";
$Body .= "<tr>\n";
$Body .= "<td class = 'SubHead' width='40%'>Service</td>
<td class = 'SubHead' width='30%'>Seconds</td>
<td class = 'SubHead' width='30%'>Percent</td></tr>\n";
my %CornBeef;
my %CornBeefC;
CASE: {
%CornBeef = %Daily, %CornBeefC = %DailyC, print "Doing Daily\n", last CASE if $Seconds == 86400;
%CornBeef = %Weekly, %CornBeefC = %WeeklyC, print "Doing Weekly\n", last CASE if $Seconds == 604800;
%CornBeef = %Monthly, %CornBeefC = %MonthlyC, print "Doing Monthly\n", last CASE if $Seconds == 2592000;
%CornBeef = %Quarterly, %CornBeefC = %QuarterlyC, print "Doing Quarterly\n", last CASE if $Seconds == 7776000;
} # end of CASE block
foreach (sort { $a cmp $b } keys %CornBeef ) {
next if NumDots ($_) > $opt{detail};
if ( $_ =~ /\./ ) {
#this is a sub section
$Body .= "<tr>\n";
$Body .= "<td class = 'SubSubHead'>$_</td>\n";
$Body .= "<td class = 'SubDetail'>" . sprintf('%.0f',(100 - $CornBeef{$_} / $CornBeefC{$_}) * ($Seconds/100)) . "</td>\n";
$Body .= "<td class = 'SubDetail'>" . sprintf('%.2f',$CornBeef{$_} / $CornBeefC{$_}) . "%</td>\n";
$Body .= "</tr>\n";
} else {
# this is a non-sub section
$Body .= "<tr>\n";
$Body .= "<td class = 'SubHead'>" . $_ . "</td>\n";
$Body .= "<td class = 'SubDetail'>" . sprintf('%.0f',(100 - $CornBeef{$_} / $CornBeefC{$_}) * ($Seconds/100)) . "</td>\n";
$Body .= "<td class = 'SubDetail'>" . sprintf('%.2f',$CornBeef{$_} / $CornBeefC{$_}) . "%</td>\n";
$Body .= "</tr>";
}
}
$Body .= "</table>\n";
return $Body;
}
sub list_rrds($$$$$);
sub list_rrds($$$$$) {
# List the RRD's used by this configuration
my $tree = shift;
my $path = shift;
my $print = shift;
my $slaves = shift;
my $nomasterpoll = shift;
my $prline = '';
if ( $opt{slaves} ) {
$slaves = $tree->{slaves} if exists( $tree->{slaves} );
} else {
$slaves = '';
}
$nomasterpoll = $tree->{nomasterpoll} if exists ( $tree->{nomasterpoll} );
foreach my $rrds (keys %{$tree}) {
if (ref $tree->{$rrds} eq 'HASH'){
$prline .= list_rrds( $tree->{$rrds}, $path."/$rrds", $print, $slaves, $nomasterpoll );
}
if ($rrds eq 'host' and $tree->{$rrds} !~ m|/| ) {
if ( exists( $opt{slaves} ) && $slaves ) {
foreach( split( /\s+/, $slaves ) ) {
my $tslave = $_;
$prline .= "$cfg->{General}{datadir}$path~$tslave".".rrd\n"
if $opt{slaves} eq '' || grep( $tslave, split( ',', $opt{slaves} ) );
}
$prline .= "$cfg->{General}{datadir}$path".".rrd\n" unless $nomasterpoll;
} else {
$prline .= "$cfg->{General}{datadir}$path".".rrd\n";
}
}
}
return $prline;
}
sub load_cfg ($) {
my $cfgfile = shift;
# my $parser = get_parser;
my $parser = Smokeping::get_parser;
$cfg = Smokeping::get_config $parser, $cfgfile;
}
###########################################################################
# The Main Program
###########################################################################
sub main($);
main($cfgfile);
sub main ($) {
umask 022;
my $cfgfile = shift;
my $sendto;
GetOptions(\%opt, 'quiet','version','testmail','listrrds','to=s','detail=n','morning','weekly','help','man','slaves:s') or pod2usage(2);
if($opt{version}) { print "$RCS_VERSION\n"; exit(0) };
if($opt{help}) { pod2usage(-verbose => 1); exit 0 };
if($opt{man}) { pod2usage(-verbose => 2); exit 0 };
load_cfg $cfgfile;
print "tSmoke for network managed by $cfg->{General}{owner}\nat $cfg->{General}{contact}\n(c) 2003 Dan McGinn-Combs\n" unless $opt{quiet};
if($opt{testmail}) { test_mail($cfg) };
if($opt{listrrds}) { print "List of Round Robin Databases used by this implementation\n";
my @rrds = split ( /\n/,list_rrds($cfg->{Targets},"","","","") );
foreach (@rrds) {
print "RRD: $_\n"; };
}
if($opt{morning}) { morning_update($cfg) };
if($opt{weekly}) { weekly_update($cfg) };
exit 0;
}
=head1 NAME
tSmoke - Commandline tool for sending SmokePing information
=head1 SYNOPSIS
B<tSmoke> [ B<--testmail> | B<--morning> | B<--weekly> | B<--version> | B<--help> | B<--man> | B<--slaves> ]
Options:
--man Show the manpage
--help Help :-)
--version Show SmokePing Version
--testmail Send a test message
--listrrds List the RRDs used by this Smokeping
--morning Send a morning synopsis
--weekly Send a weekly status report
--to E-mail address to send message (i.e. '--to=xyz@company.com.invalid'
--detail How much detail to send in weekly report (i.e. '--detail=1')
--quiet Do not print welcome
--slaves Enable slave support assumes all slaves unless csv list of slaves
is added (i.e. '--slaves' or '--slaves=slave1[,slave2...]')
=head1 DESCRIPTION
The B<tSmoke> tool is a commandline tool which interfaces with the SmokePing system.
Its main function is to send a message indicating the current status of the systems
being monitored by Smokeping or an HTML mail file containing the status over the past day,
past week and past month including an overview.
Typical crontab used to invoke this are
# Quick morning alert to see what's down
0 6 * * * /usr/local/smokeping/bin/tSmoke.pl --q --to=mobilephone@att.net.invalid --morning
# Weekly report on the percent availability of network systems with no detail
0 8 * * * /usr/local/smokeping/bin/tSmoke.pl --q --to=mailbox@company.com.invalid --weekly --detail=0
=head1 SETUP
When installing tSmoke, some variables must be adjusted to fit your local system.
We need to use the following B<libraries>:
=over
=item Smokeping
=item RRDTool Perl bindings
=item Getopt::Long
=back
Set up your libraries:
use lib "/usr/local/smokeping/lib";
use lib "/usr/local/rrdtool-1.0.39/lib/perl";
Point to your Smokeping B<config> file
my $cfgfile = "/usr/local/smokeping/etc/config";
Modify the Smokeping config file to include a path for tmail in the
General section:
tmail = /usr/local/smokeping/etc/tmail
=head1 SEE ALSO
L<smokeping(1)>, L<smokeping_config(5)>
=head1 COPYRIGHT
Copyright (c) 2003 by Dan McGinn-Combs. All right reserved.
=head1 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.
=head1 AUTHOR
Dan McGinn-Combs E<lt>d.mcginn-combs@mindspring.comE<gt>
Modified for Smokeping official distribution by Niko Tyni E<lt>ntyni@iki.fiE<gt>
=cut

View File

@@ -0,0 +1,22 @@
After installing the package you have to edit the files in
/etc/smokeping/config.d to set your preferences.
Note that the domain names are bogus to avoid all the people who
install the package DoSing the same servers, but at the same time an
fping probe in localhost is enabled, so you can check if smokeping
works for you.
You can also edit the file /etc/smokeping/basepage.html to suit your
needs.
A FastCGI configuration might be desirable for large sites. Simply add
this to the Apache configuration, in /etc/apache2/conf-available/smokeping.conf:
<Location /smokeping/smokeping.cgi>
SetHandler fcgid-script
</Location>
Please refer to the smokeping_config man page to see all the available
options.
-- Antoine Beaupré <anarcat@debian.org>, Sat, 12 May 2018 16:02:25 -0400

View File

@@ -0,0 +1,36 @@
```
____ _ ____ _
/ ___| _ __ ___ ___ | | _____| _ \(_)_ __ __ _
\___ \| '_ ` _ \ / _ \| |/ / _ \ |_) | | '_ \ / _` |
___) | | | | | | (_) | < __/ __/| | | | | (_| |
|____/|_| |_| |_|\___/|_|\_\___|_| |_|_| |_|\__, |
|___/
```
Original Authors: Tobias Oetiker <tobi of oetiker.ch> and Niko Tyni <ntyni with iki.fi>
[![Build Test](https://github.com/oetiker/SmokePing/actions/workflows/build-test.yaml/badge.svg)](https://github.com/oetiker/SmokePing/actions/workflows/build-test.yaml)
SmokePing is a latency logging and graphing and
alerting system. It consists of a daemon process which
organizes the latency measurements and a CGI which
presents the graphs.
SmokePing is ...
================
* extensible through plug-in modules
* easy to customize through a webtemplate and an extensive
configuration file.
* written in perl and should readily port to any unix system
* an RRDtool frontend
* able to deal with DYNAMIC IP addresses as used with
Cable and ADSL internet.
cheers
tobi

View File

@@ -0,0 +1,12 @@
The following issues need to be fixed:
* fast-cgi should be default
* review upstream changes since last release, esp. config changes
* do not prompt for modifications on the files:
- Slaves
- General
- basepage.html
- this is very hard. we would need to fix the checksum in
/var/lib/dpkg/status, which doesn't seem to be doable
programmatically. See dpkg/src/configure.c:336 to see how this
works better.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,156 @@
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: SmokePing
Source: https://github.com/oetiker/SmokePing
Comment:
The upstream source tarball is repacked to drop vendored javascript libraries.
Files-Excluded:
htdocs/js/cropper/*
htdocs/js/prototype.js
htdocs/js/scriptaculous/*
Files: *
Copyright: 2001-2005 Tobias Oetiker <tobi@oetiker.ch>
License: GPL-2+
Files: bin/tSmoke
Copyright: 2003 by Dan McGinn-Combs. All right reserved.
License: GPL-2+
Files: lib/Smokeping/Examples.pm lib/Smokeping/RRDtools.pm
Copyright: 2005 by Niko Tyni.
License: GPL-2+
Files: lib/Smokeping/matchers/Avgratio.pm lib/Smokeping/matchers/Median.pm lib/Smokeping/matchers/base.pm
Copyright: 2004 by OETIKER+PARTNER AG. All rights reserved.
License: GPL-2+
Files: lib/Smokeping/matchers/CheckLatency.pm lib/Smokeping/matchers/CheckLoss.pm
Copyright: 2006 Dylan C Vanderhoof, Semaphore Corporation
License: GPL-2+
Files: lib/BER.pm lib/SNMP_Session.pm
Copyright: 1995-2008, Simon Leinen.
.
This program is free software; you can redistribute it under the
"Artistic License 2.0" included in this distribution
(file "Artistic").
License: Artistic-2.0
Comment: These files are not used in the Debian version. The mentioned
"Artistic" license file is not present in the source repository.
Files: debian/*
Copyright: Wed, 13 Feb 2002 23:11:07 +0100 Jose Carlos Garcia Sogo <jsogo@debian.org>
2018-2020 Gabriel Filion <gabster@lelutin.ca>
License: GPL-2+
Comment: The copyright mention was not updated throughout the years and there
are more authors and contributors that donated their time to maintaining those
files.
License: GPL-2+
On Debian systems, the full text of the GNU General Public
License version 2 can be found in the file
`/usr/share/common-licenses/GPL-2'.
License: Artistic-2.0
Copyright (c) 2000-2006, The Perl Foundation.
.
Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.
Preamble
.
This license establishes the terms under which a given free software Package may be copied, modified, distributed, and/or redistributed. The intent is that the Copyright Holder maintains some artistic control over the development of that Package while still keeping the Package available as open source and free software.
.
You are always permitted to make arrangements wholly outside of this license directly with the Copyright Holder of a given Package. If the terms of this license do not permit the full use that you propose to make of the Package, you should contact the Copyright Holder and seek a different licensing arrangement.
Definitions
.
"Copyright Holder" means the individual(s) or organization(s) named in the copyright notice for the entire Package.
.
"Contributor" means any party that has contributed code or other material to the Package, in accordance with the Copyright Holder's procedures.
.
"You" and "your" means any person who would like to copy, distribute, or modify the Package.
.
"Package" means the collection of files distributed by the Copyright Holder, and derivatives of that collection and/or of those files. A given Package may consist of either the Standard Version, or a Modified Version.
.
"Distribute" means providing a copy of the Package or making it accessible to anyone else, or in the case of a company or organization, to others outside of your company or organization.
.
"Distributor Fee" means any fee that you charge for Distributing this Package or providing support for this Package to another party. It does not mean licensing fees.
.
"Standard Version" refers to the Package if it has not been modified, or has been modified only in ways explicitly requested by the Copyright Holder.
.
"Modified Version" means the Package, if it has been changed, and such changes were not explicitly requested by the Copyright Holder.
.
"Original License" means this Artistic License as Distributed with the Standard Version of the Package, in its current version or as it may be modified by The Perl Foundation in the future.
.
"Source" form means the source code, documentation source, and configuration files for the Package.
.
"Compiled" form means the compiled bytecode, object code, binary, or any other form resulting from mechanical transformation or translation of the Source form.
Permission for Use and Modification Without Distribution
.
(1) You are permitted to use the Standard Version and create and use Modified Versions for any purpose without restriction, provided that you do not Distribute the Modified Version.
Permissions for Redistribution of the Standard Version
.
(2) You may Distribute verbatim copies of the Source form of the Standard Version of this Package in any medium without restriction, either gratis or for a Distributor Fee, provided that you duplicate all of the original copyright notices and associated disclaimers. At your discretion, such verbatim copies may or may not include a Compiled form of the Package.
.
(3) You may apply any bug fixes, portability changes, and other modifications made available from the Copyright Holder. The resulting Package will still be considered the Standard Version, and as such will be subject to the Original License.
Distribution of Modified Versions of the Package as Source
.
(4) You may Distribute your Modified Version as Source (either gratis or for a Distributor Fee, and with or without a Compiled form of the Modified Version) provided that you clearly document how it differs from the Standard Version, including, but not limited to, documenting any non-standard features, executables, or modules, and provided that you do at least ONE of the following:
.
(a) make the Modified Version available to the Copyright Holder of the Standard Version, under the Original License, so that the Copyright Holder may include your modifications in the Standard Version.
(b) ensure that installation of your Modified Version does not prevent the user installing or running the Standard Version. In addition, the Modified Version must bear a name that is different from the name of the Standard Version.
(c) allow anyone who receives a copy of the Modified Version to make the Source form of the Modified Version available to others under
(i) the Original License or
(ii) a license that permits the licensee to freely copy, modify and redistribute the Modified Version using the same licensing terms that apply to the copy that the licensee received, and requires that the Source form of the Modified Version, and of any works derived from it, be made freely available in that license fees are prohibited but Distributor Fees are allowed.
Distribution of Compiled Forms of the Standard Version or Modified Versions without the Source
.
(5) You may Distribute Compiled forms of the Standard Version without the Source, provided that you include complete instructions on how to get the Source of the Standard Version. Such instructions must be valid at the time of your distribution. If these instructions, at any time while you are carrying out such distribution, become invalid, you must provide new instructions on demand or cease further distribution. If you provide valid instructions or cease distribution within thirty days after you become aware that the instructions are invalid, then you do not forfeit any of your rights under this license.
.
(6) You may Distribute a Modified Version in Compiled form without the Source, provided that you comply with Section 4 with respect to the Source of the Modified Version.
Aggregating or Linking the Package
.
(7) You may aggregate the Package (either the Standard Version or Modified Version) with other packages and Distribute the resulting aggregation provided that you do not charge a licensing fee for the Package. Distributor Fees are permitted, and licensing fees for other components in the aggregation are permitted. The terms of this license apply to the use and Distribution of the Standard or Modified Versions as included in the aggregation.
.
(8) You are permitted to link Modified and Standard Versions with other works, to embed the Package in a larger work of your own, or to build stand-alone binary or bytecode versions of applications that include the Package, and Distribute the result without restriction, provided the result does not expose a direct interface to the Package.
Items That are Not Considered Part of a Modified Version
.
(9) Works (including, but not limited to, modules and scripts) that merely extend or make use of the Package, do not, by themselves, cause the Package to be a Modified Version. In addition, such works are not considered parts of the Package itself, and are not subject to the terms of this license.
General Provisions
.
(10) Any use, modification, and distribution of the Standard or Modified Versions is governed by this Artistic License. By using, modifying or distributing the Package, you accept this license. Do not use, modify, or distribute the Package, if you do not accept this license.
.
(11) If your Modified Version has been derived from a Modified Version made by someone other than you, you are nevertheless required to ensure that your Modified Version complies with the requirements of this license.
.
(12) This license does not grant you the right to use any trademark, service mark, tradename, or logo of the Copyright Holder.
.
(13) This license includes the non-exclusive, worldwide, free-of-charge patent license to make, have made, use, offer to sell, sell, import and otherwise transfer the Package with respect to any patent claims licensable by the Copyright Holder that are necessarily infringed by the Package. If you institute patent litigation (including a cross-claim or counterclaim) against any party alleging that the Package constitutes direct or contributory patent infringement, then this Artistic License to you shall terminate on the date that such litigation is filed.
.
(14) Disclaimer of Warranty: THE PACKAGE IS PROVIDED BY THE COPYRIGHT HOLDER AND CONTRIBUTORS "AS IS' AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES. THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT ARE DISCLAIMED TO THE EXTENT PERMITTED BY YOUR LOCAL LAW. UNLESS REQUIRED BY LAW, NO COPYRIGHT HOLDER OR CONTRIBUTOR WILL BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING IN ANY WAY OUT OF THE USE OF THE PACKAGE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
License: BSD-3-clause
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
.
* Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
* Neither the name of the David Spurr nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
.
http://www.opensource.org/licenses/bsd-license.php
License: Expat
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
.
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.

View File

@@ -0,0 +1,241 @@
# This Smokeping example configuration file was automatically generated.
#
# Everything up to the Probes section is derived from a common template file.
# See the Probes and Targets sections for the actual example.
#
# This example is included in the smokeping_examples document.
*** General ***
owner = Peter Random
contact = some@address.nowhere
mailhost = my.mail.host
sendmail = /usr/sbin/sendmail
# NOTE: do not put the Image Cache below cgi-bin
# since all files under cgi-bin will be executed ... this is not
# good for images.
imgcache = /usr/cache
imgurl = cache
datadir = /usr/data
piddir = /usr/var
cgiurl = http://some.url/smokeping.cgi
smokemail = /usr/etc/smokemail.dist
tmail = /usr/etc/tmail.dist
# specify this to get syslog logging
syslogfacility = local0
# each probe is now run in its own process
# disable this to revert to the old behaviour
# concurrentprobes = no
*** Alerts ***
to = alertee@address.somewhere
from = smokealert@company.xy
+someloss
type = loss
# in percent
pattern = >0%,*12*,>0%,*12*,>0%
comment = loss 3 times in a row
*** Database ***
step = 300
pings = 20
# consfn mrhb steps total
AVERAGE 0.5 1 28800
AVERAGE 0.5 12 9600
MIN 0.5 12 9600
MAX 0.5 12 9600
AVERAGE 0.5 144 2400
MAX 0.5 144 2400
MIN 0.5 144 2400
*** Presentation ***
template = /usr/etc/basepage.html.dist
htmltitle = yes
graphborders = no
# If enabled, treat all filter menu queries as literal strings instead of regex
literalsearch = no
+ charts
menu = Charts
title = The most interesting destinations
++ stddev
sorter = StdDev(entries=>4)
title = Top Standard Deviation
menu = Std Deviation
format = Standard Deviation %f
++ max
sorter = Max(entries=>5)
title = Top Max Roundtrip Time
menu = by Max
format = Max Roundtrip Time %f seconds
++ loss
sorter = Loss(entries=>5)
title = Top Packet Loss
menu = Loss
format = Packets Lost %f
++ median
sorter = Median(entries=>5)
title = Top Median Roundtrip Time
menu = by Median
format = Median RTT %f seconds
+ overview
width = 600
height = 50
range = 10h
+ detail
width = 600
height = 200
unison_tolerance = 2
"Last 3 Hours" 3h
"Last 30 Hours" 30h
"Last 10 Days" 10d
"Last 360 Days" 360d
#+ hierarchies
#++ owner
#title = Host Owner
#++ location
#title = Location
# (The actual example starts here.)
*** Probes ***
# This example shows most of the echoping-derived probes in action.
+ FPing
binary = /usr/bin/fping
# these expect to find echoping in /usr/bin
# if not, you'll have to specify the location separately for each probe
# + EchoPing # uses TCP or UDP echo (port 7)
# + EchoPingDiscard # uses TCP or UDP discard (port 9)
# + EchoPingChargen # uses TCP chargen (port 19)
+ EchoPingSmtp # SMTP (25/tcp) for mail servers
+ EchoPingHttps # HTTPS (443/tcp) for web servers
+ EchoPingHttp # HTTP (80/tcp) for web servers and caches
+ EchoPingIcp # ICP (3130/udp) for caches
# these need at least echoping 6 with the corresponding plugins
+ EchoPingDNS # DNS (53/udp or tcp) servers
+ EchoPingLDAP # LDAP (389/tcp) servers
+ EchoPingWhois # Whois (43/tcp) servers
*** Targets ***
# All the servers are pinged both with ICMP (the FPing probe)
# and their respective echoping probe. The proxy server, www-cache,
# is probed with both HTTP requests and ICP requests for the same
# URL.
# default probe
probe = FPing
menu = Top
title = Network Latency Grapher
remark = Welcome to this SmokePing website.
+ MyServers
menu = My Servers
title = My Servers
++ www-server
menu = www-server
title = Web Server (www-server) / ICMP
# probe = FPing propagated from top
host = www-server.example
+++ http
menu = http
title = Web Server (www-server) / HTTP
probe = EchoPingHttp
host = www-server.example
# default url is /
+++ https
menu = https
title = Web Server (www-server) / HTTPS
probe = EchoPingHttps
host = www-server.example
++ cache
menu = www-cache
title = Web Cache (www-cache) / ICMP
host = www-cache.example
+++ http
menu = http
title = www-cache / HTTP
probe = EchoPingHttp
host = www-cache.example
port = 8080 # use the squid port
url = http://www.somehost.example/
+++ icp
menu = icp
title = www-cache / ICP
probe = EchoPingIcp
host = www-cache.example
url = http://www.somehost.example/
++ mail
menu = mail-server
title = Mail Server (mail-server) / ICMP
host = mail-server.example
+++ smtp
menu = mail-server / SMTP
title = Mail Server (mail-server) / SMTP
probe = EchoPingSmtp
host = mail-server.example
++ ldap-server
menu = ldap-server
title = ldap-server / ICMP
host = ldap-server.example
+++ ldap
menu = ldap-server / LDAP
title = LDAP Server (ldap-server) / LDAP
probe = EchoPingLDAP
ldap_request = (objectclass=*)
host = ldap-server.example
++ name-server
menu = name-server
title = name-server / ICMP
host = name-server.example
+++ DNS
menu = name-server / DNS
title = DNS Server (name-server) / DNS
probe = EchoPingDNS
dns_request = name.example
host = name-server.example
++ whois-server
menu = whois-server
title = whois-server / ICMP
host = whois-server.example
+++ Whois
menu = whois-server / Whois
title = Whois Server (whois-server) / Whois
probe = EchoPingWhois
whois_request = domain.example
host = whois-server.example

View File

@@ -0,0 +1,185 @@
# This Smokeping example configuration file was automatically generated.
#
# Everything up to the Probes section is derived from a common template file.
# See the Probes and Targets sections for the actual example.
#
# This example is included in the smokeping_examples document.
*** General ***
owner = Peter Random
contact = some@address.nowhere
mailhost = my.mail.host
sendmail = /usr/sbin/sendmail
# NOTE: do not put the Image Cache below cgi-bin
# since all files under cgi-bin will be executed ... this is not
# good for images.
imgcache = /usr/cache
imgurl = cache
datadir = /usr/data
piddir = /usr/var
cgiurl = http://some.url/smokeping.cgi
smokemail = /usr/etc/smokemail.dist
tmail = /usr/etc/tmail.dist
# specify this to get syslog logging
syslogfacility = local0
# each probe is now run in its own process
# disable this to revert to the old behaviour
# concurrentprobes = no
*** Alerts ***
to = alertee@address.somewhere
from = smokealert@company.xy
+someloss
type = loss
# in percent
pattern = >0%,*12*,>0%,*12*,>0%
comment = loss 3 times in a row
*** Database ***
step = 300
pings = 20
# consfn mrhb steps total
AVERAGE 0.5 1 28800
AVERAGE 0.5 12 9600
MIN 0.5 12 9600
MAX 0.5 12 9600
AVERAGE 0.5 144 2400
MAX 0.5 144 2400
MIN 0.5 144 2400
*** Presentation ***
template = /usr/etc/basepage.html.dist
htmltitle = yes
graphborders = no
# If enabled, treat all filter menu queries as literal strings instead of regex
literalsearch = no
+ charts
menu = Charts
title = The most interesting destinations
++ stddev
sorter = StdDev(entries=>4)
title = Top Standard Deviation
menu = Std Deviation
format = Standard Deviation %f
++ max
sorter = Max(entries=>5)
title = Top Max Roundtrip Time
menu = by Max
format = Max Roundtrip Time %f seconds
++ loss
sorter = Loss(entries=>5)
title = Top Packet Loss
menu = Loss
format = Packets Lost %f
++ median
sorter = Median(entries=>5)
title = Top Median Roundtrip Time
menu = by Median
format = Median RTT %f seconds
+ overview
width = 600
height = 50
range = 10h
+ detail
width = 600
height = 200
unison_tolerance = 2
"Last 3 Hours" 3h
"Last 30 Hours" 30h
"Last 10 Days" 10d
"Last 360 Days" 360d
#+ hierarchies
#++ owner
#title = Host Owner
#++ location
#title = Location
# (The actual example starts here.)
*** Probes ***
# This example demonstrates the concept of probe instances. The FPingLarge
# and FPingNormal probes are independent of each other, they just use
# the same module, FPing. FPingNormal uses the default parameters, and
# so does FPingLarge except for the 5 kilobyte packetsize. Both use the
# same fping binary, and its path is configured FPing top section.
#
# The 'offset' parameters make sure the probes don't run at the same time -
# FPingNormal is run every 'full' 5 minutes (eg. 8:00, 8:05, 8:10 and so on,
# in wallclock time) while FPingLarge is run halfway through these intervals
# (eg. 8:02:30, 8:07:30 etc.)
#
# The top FPing section does not define a probe in itself because it
# has subsections. If we really wanted to have one probe named "FPing",
# we could do so by making a subsection by that name.
+ FPing
binary = /usr/bin/fping
++ FPingNormal
offset = 0%
++ FPingLarge
packetsize = 5000
offset = 50%
*** Targets ***
# The target section shows two host, myhost1.example and myhost2.example,
# being pinged with two differently sized ICMP packets. This time the tree
# is divided by the target host rather than the probe.
probe = FPingNormal
menu = Top
title = Network Latency Grapher
remark = Welcome to this SmokePing website.
+ network
menu = Net latency
title = Network latency (ICMP pings)
++ myhost1
menu = myhost1
title = ICMP latency for myhost1
+++ normal
title = Normal packetsize (56 bytes)
probe = FPingNormal
host = myhost1.example
+++ large
title = Large packetsize (5000 bytes)
probe = FPingLarge
host = myhost1.example
++ myhost2
menu = myhost2
title = ICMP latency for myhost2
+++ normal
title = Normal packetsize (56 bytes)
probe = FPingNormal
host = myhost2.example
+++ large
title = Large packetsize (5000 bytes)
probe = FPingLarge
host = myhost2.example

View File

@@ -0,0 +1,189 @@
# This Smokeping example configuration file was automatically generated.
#
# Everything up to the Probes section is derived from a common template file.
# See the Probes and Targets sections for the actual example.
#
# This example is included in the smokeping_examples document.
*** General ***
owner = Peter Random
contact = some@address.nowhere
mailhost = my.mail.host
sendmail = /usr/sbin/sendmail
# NOTE: do not put the Image Cache below cgi-bin
# since all files under cgi-bin will be executed ... this is not
# good for images.
imgcache = /usr/cache
imgurl = cache
datadir = /usr/data
piddir = /usr/var
cgiurl = http://some.url/smokeping.cgi
smokemail = /usr/etc/smokemail.dist
tmail = /usr/etc/tmail.dist
# specify this to get syslog logging
syslogfacility = local0
# each probe is now run in its own process
# disable this to revert to the old behaviour
# concurrentprobes = no
*** Alerts ***
to = alertee@address.somewhere
from = smokealert@company.xy
+someloss
type = loss
# in percent
pattern = >0%,*12*,>0%,*12*,>0%
comment = loss 3 times in a row
*** Database ***
step = 300
pings = 20
# consfn mrhb steps total
AVERAGE 0.5 1 28800
AVERAGE 0.5 12 9600
MIN 0.5 12 9600
MAX 0.5 12 9600
AVERAGE 0.5 144 2400
MAX 0.5 144 2400
MIN 0.5 144 2400
*** Presentation ***
template = /usr/etc/basepage.html.dist
htmltitle = yes
graphborders = no
# If enabled, treat all filter menu queries as literal strings instead of regex
literalsearch = no
+ charts
menu = Charts
title = The most interesting destinations
++ stddev
sorter = StdDev(entries=>4)
title = Top Standard Deviation
menu = Std Deviation
format = Standard Deviation %f
++ max
sorter = Max(entries=>5)
title = Top Max Roundtrip Time
menu = by Max
format = Max Roundtrip Time %f seconds
++ loss
sorter = Loss(entries=>5)
title = Top Packet Loss
menu = Loss
format = Packets Lost %f
++ median
sorter = Median(entries=>5)
title = Top Median Roundtrip Time
menu = by Median
format = Median RTT %f seconds
+ overview
width = 600
height = 50
range = 10h
+ detail
width = 600
height = 200
unison_tolerance = 2
"Last 3 Hours" 3h
"Last 30 Hours" 30h
"Last 10 Days" 10d
"Last 360 Days" 360d
#+ hierarchies
#++ owner
#title = Host Owner
#++ location
#title = Location
# (The actual example starts here.)
*** Probes ***
# Here we have three probes: FPing for the regular ICMP pings,
# DNS for name server latency measurement and EchoPingHttp
# for web servers.
#
# The FPing probe runs with the default parameters, except that the ICMP
# packet size is 1000 bytes instead of the default 56 bytes.
#
# The DNS and EchoPingHttp probes have been configured to be a bit more
# gentle with the servers, as they only do 5 queries (pings) instead of the
# default 20 (or whatever is specified in the Database section). However,
# DNS queries are made more often: 5 queries every 3 minutes instead of
# every 5 minutes.
+ FPing
binary = /usr/bin/fping
packetsize = 1000
+ DNS
binary = /usr/bin/dig
lookup = name.example
pings = 5
step = 180
+ EchoPingHttp
pings = 5
url = /test-url
*** Targets ***
# The target tree has been divided by the probe used. This does not have
# to be the case: every target (sub)section can use a different probe,
# and the same probe can be used in different parts of the config tree.
probe = FPing
menu = Top
title = Network Latency Grapher
remark = Welcome to this SmokePing website.
+ network
menu = Net latency
title = Network latency (ICMP pings)
++ myhost1
host = myhost1.example
++ myhost2
host = myhost2.example
+ services
menu = Service latency
title = Service latency (DNS, HTTP)
++ DNS
probe = DNS
menu = DNS latency
title = Service latency (DNS)
+++ dns1
host = dns1.example
+++ dns2
host = dns2.example
++ HTTP
menu = HTTP latency
title = Service latency (HTTP)
+++ www1
host = www1.example
+++ www2
host = www2.example

View File

@@ -0,0 +1,156 @@
# This Smokeping example configuration file was automatically generated.
#
# Everything up to the Probes section is derived from a common template file.
# See the Probes and Targets sections for the actual example.
#
# This example is included in the smokeping_examples document.
*** General ***
owner = Peter Random
contact = some@address.nowhere
mailhost = my.mail.host
sendmail = /usr/sbin/sendmail
# NOTE: do not put the Image Cache below cgi-bin
# since all files under cgi-bin will be executed ... this is not
# good for images.
imgcache = /usr/cache
imgurl = cache
datadir = /usr/data
piddir = /usr/var
cgiurl = http://some.url/smokeping.cgi
smokemail = /usr/etc/smokemail.dist
tmail = /usr/etc/tmail.dist
# specify this to get syslog logging
syslogfacility = local0
# each probe is now run in its own process
# disable this to revert to the old behaviour
# concurrentprobes = no
*** Alerts ***
to = alertee@address.somewhere
from = smokealert@company.xy
+someloss
type = loss
# in percent
pattern = >0%,*12*,>0%,*12*,>0%
comment = loss 3 times in a row
*** Database ***
step = 300
pings = 20
# consfn mrhb steps total
AVERAGE 0.5 1 28800
AVERAGE 0.5 12 9600
MIN 0.5 12 9600
MAX 0.5 12 9600
AVERAGE 0.5 144 2400
MAX 0.5 144 2400
MIN 0.5 144 2400
*** Presentation ***
template = /usr/etc/basepage.html.dist
htmltitle = yes
graphborders = no
# If enabled, treat all filter menu queries as literal strings instead of regex
literalsearch = no
+ charts
menu = Charts
title = The most interesting destinations
++ stddev
sorter = StdDev(entries=>4)
title = Top Standard Deviation
menu = Std Deviation
format = Standard Deviation %f
++ max
sorter = Max(entries=>5)
title = Top Max Roundtrip Time
menu = by Max
format = Max Roundtrip Time %f seconds
++ loss
sorter = Loss(entries=>5)
title = Top Packet Loss
menu = Loss
format = Packets Lost %f
++ median
sorter = Median(entries=>5)
title = Top Median Roundtrip Time
menu = by Median
format = Median RTT %f seconds
+ overview
width = 600
height = 50
range = 10h
+ detail
width = 600
height = 200
unison_tolerance = 2
"Last 3 Hours" 3h
"Last 30 Hours" 30h
"Last 10 Days" 10d
"Last 360 Days" 360d
#+ hierarchies
#++ owner
#title = Host Owner
#++ location
#title = Location
# (The actual example starts here.)
*** Probes ***
# Here we have just one probe, fping, pinging four hosts.
#
# The fping probe is using the default parameters, some of them supplied
# from the Database section ("step" and "pings"), and some of them by
# the probe module.
+FPing
binary = /usr/bin/fping
*** Targets ***
# The hosts are located in two sites of two hosts each, and the
# configuration has been divided to site sections ('+') and host subsections
# ('++') accordingly.
probe = FPing
menu = Top
title = Network Latency Grapher
remark = Welcome to this SmokePing website.
+ mysite1
menu = Site 1
title = Hosts in Site 1
++ myhost1
host = myhost1.mysite1.example
++ myhost2
host = myhost2.mysite1.example
+ mysite2
menu = Site 2
title = Hosts in Site 2
++ myhost3
host = myhost3.mysite2.example
++ myhost4
host = myhost4.mysite2.example

View File

@@ -0,0 +1,210 @@
# This Smokeping example configuration file was automatically generated.
#
# Everything up to the Probes section is derived from a common template file.
# See the Probes and Targets sections for the actual example.
#
# This example is included in the smokeping_examples document.
*** General ***
owner = Peter Random
contact = some@address.nowhere
mailhost = my.mail.host
sendmail = /usr/sbin/sendmail
# NOTE: do not put the Image Cache below cgi-bin
# since all files under cgi-bin will be executed ... this is not
# good for images.
imgcache = /usr/cache
imgurl = cache
datadir = /usr/data
piddir = /usr/var
cgiurl = http://some.url/smokeping.cgi
smokemail = /usr/etc/smokemail.dist
tmail = /usr/etc/tmail.dist
# specify this to get syslog logging
syslogfacility = local0
# each probe is now run in its own process
# disable this to revert to the old behaviour
# concurrentprobes = no
*** Alerts ***
to = alertee@address.somewhere
from = smokealert@company.xy
+someloss
type = loss
# in percent
pattern = >0%,*12*,>0%,*12*,>0%
comment = loss 3 times in a row
*** Database ***
step = 300
pings = 20
# consfn mrhb steps total
AVERAGE 0.5 1 28800
AVERAGE 0.5 12 9600
MIN 0.5 12 9600
MAX 0.5 12 9600
AVERAGE 0.5 144 2400
MAX 0.5 144 2400
MIN 0.5 144 2400
*** Presentation ***
template = /usr/etc/basepage.html.dist
htmltitle = yes
graphborders = no
# If enabled, treat all filter menu queries as literal strings instead of regex
literalsearch = no
+ charts
menu = Charts
title = The most interesting destinations
++ stddev
sorter = StdDev(entries=>4)
title = Top Standard Deviation
menu = Std Deviation
format = Standard Deviation %f
++ max
sorter = Max(entries=>5)
title = Top Max Roundtrip Time
menu = by Max
format = Max Roundtrip Time %f seconds
++ loss
sorter = Loss(entries=>5)
title = Top Packet Loss
menu = Loss
format = Packets Lost %f
++ median
sorter = Median(entries=>5)
title = Top Median Roundtrip Time
menu = by Median
format = Median RTT %f seconds
+ overview
width = 600
height = 50
range = 10h
+ detail
width = 600
height = 200
unison_tolerance = 2
"Last 3 Hours" 3h
"Last 30 Hours" 30h
"Last 10 Days" 10d
"Last 360 Days" 360d
#+ hierarchies
#++ owner
#title = Host Owner
#++ location
#title = Location
# (The actual example starts here.)
*** Probes ***
# This example explains the difference between probe- and target-specific
# variables. We use the Curl probe for this.
#
# Every probe supports at least some probe-specific variables. The values
# of these variables are common to all the targets of the probe, and
# they can only be configured in the Probes section. In this case,
# the probe-specific variables are "binary" and "step".
#
# Target-specific variables are supported by most probes, the most notable
# exception being the FPing probe and its derivatives. Target-specific
# variables can have different values for different targets. They can be
# configured in both Probes and Targets sections. The values assigned in the
# Probes section function become default values that can be overridden
# in the Targets section.
#
# The documentation of each probe states which of its variables are
# probe-specific and which are target-specific.
#
# In this case the "urlformat" variable is a target-specific one. It is
# also quite uncommon, because it can contain a placeholder for the "host"
# variable in the Targets section. This is not a general feature, its
# usage is only limited to the "urlformat" variable and the "%host%" escape.
#
# (The reason why the FPing probe does not support target-specific variables
# is simply the fact that the fping program measures all its targets in one
# go, so they all have the same parameters. The other probes ping their targets
# one at a time.)
+ Curl
# probe-specific variables
binary = /usr/bin/curl
step = 60
# a default for this target-specific variable
urlformat = http://%host%/
*** Targets ***
# The target tree is divided into an HTTP branch and an FTP one.
# The servers "myhost1.example" and "myhost2.example" are probed
# in both. The third server, "myhost3.example", only has an HTTP
# server, and it's in a non-standard port (8080).
#
# The "urlformat" variable is specified for the whole FTP branch
# as "ftp://%host%/". For the HTTP branch, the default from the
# Probes section is used, except for myhost3, which overrides
# it to tag the port number into the URL.
#
# The myhost3 assignment could just as well have included the hostname
# verbatim (ie. urlformat = http://myhost3.example:8080/) instead of
# using the %host% placeholder, but the host variable would still have
# been required (even though it wouldn't have been used for anything).
probe = Curl
menu = Top
title = Network Latency Grapher
remark = Welcome to this SmokePing website.
+ HTTP
menu = http
title = HTTP latency
++ myhost1
menu = myhost1
title = HTTP latency for myhost1
host = myhost1.example
++ myhost2
menu = myhost2
title = HTTP latency for myhost2
host = myhost2.example
++ myhost3
menu = myhost3
title = HTTP latency for myhost3 (port 8080!)
host = myhost3.example
urlformat = http://%host%:8080/
+ FTP
menu = ftp
title = FTP latency
urlformat = ftp://%host%/
++ myhost1
menu = myhost1
title = FTP latency for myhost1
host = myhost1.example
++ myhost2
menu = myhost2
title = FTP latency for myhost2
host = myhost2.example

View File

@@ -0,0 +1,168 @@
# This Smokeping example configuration file was automatically generated.
#
# Everything up to the Probes section is derived from a common template file.
# See the Probes and Targets sections for the actual example.
#
# This example is included in the smokeping_examples document.
*** General ***
owner = Peter Random
contact = some@address.nowhere
mailhost = my.mail.host
sendmail = /usr/sbin/sendmail
# NOTE: do not put the Image Cache below cgi-bin
# since all files under cgi-bin will be executed ... this is not
# good for images.
imgcache = /usr/cache
imgurl = cache
datadir = /usr/data
piddir = /usr/var
cgiurl = http://some.url/smokeping.cgi
smokemail = /usr/etc/smokemail.dist
tmail = /usr/etc/tmail.dist
# specify this to get syslog logging
syslogfacility = local0
# each probe is now run in its own process
# disable this to revert to the old behaviour
# concurrentprobes = no
*** Alerts ***
to = alertee@address.somewhere
from = smokealert@company.xy
+someloss
type = loss
# in percent
pattern = >0%,*12*,>0%,*12*,>0%
comment = loss 3 times in a row
*** Database ***
step = 300
pings = 20
# consfn mrhb steps total
AVERAGE 0.5 1 28800
AVERAGE 0.5 12 9600
MIN 0.5 12 9600
MAX 0.5 12 9600
AVERAGE 0.5 144 2400
MAX 0.5 144 2400
MIN 0.5 144 2400
*** Presentation ***
template = /usr/etc/basepage.html.dist
htmltitle = yes
graphborders = no
# If enabled, treat all filter menu queries as literal strings instead of regex
literalsearch = no
+ charts
menu = Charts
title = The most interesting destinations
++ stddev
sorter = StdDev(entries=>4)
title = Top Standard Deviation
menu = Std Deviation
format = Standard Deviation %f
++ max
sorter = Max(entries=>5)
title = Top Max Roundtrip Time
menu = by Max
format = Max Roundtrip Time %f seconds
++ loss
sorter = Loss(entries=>5)
title = Top Packet Loss
menu = Loss
format = Packets Lost %f
++ median
sorter = Median(entries=>5)
title = Top Median Roundtrip Time
menu = by Median
format = Median RTT %f seconds
+ overview
width = 600
height = 50
range = 10h
+ detail
width = 600
height = 200
unison_tolerance = 2
"Last 3 Hours" 3h
"Last 30 Hours" 30h
"Last 10 Days" 10d
"Last 360 Days" 360d
#+ hierarchies
#++ owner
#title = Host Owner
#++ location
#title = Location
# (The actual example starts here.)
*** Probes ***
# This is the template configuration file distributed with Smokeping.
# It is included in the examples as well for the sake of completeness.
+ FPing
binary = /usr/sbin/fping
*** Slaves ***
secrets=/usr/etc/smokeping_secrets.dist
+boomer
display_name=boomer
color=0000ff
+slave2
display_name=another
color=00ff00
*** Targets ***
# This is the template configuration file distributed with Smokeping.
# It is included in the examples as well for the sake of completeness.
probe = FPing
menu = Top
title = Network Latency Grapher
remark = Welcome to the SmokePing website of xxx Company. \
Here you will learn all about the latency of our network.
+ Test
menu= Targets
#parents = owner:/Test/James location:/
++ James
menu = James
title =James
alerts = someloss
slaves = boomer slave2
host = james.address
++ MultiHost
menu = Multihost
title = James and James as seen from Boomer
host = /Test/James /Test/James~boomer

View File

@@ -0,0 +1,22 @@
# /etc/lighttpd/conf-available/45-smokeping.conf
# Configuration for smokeping CGI program
server.modules += ( "mod_fastcgi", "mod_rewrite" )
$HTTP["url"] =~ "^/smokeping/" {
server.document-root = "/usr/share/"
url.rewrite-once = (
"^/smokeping/($|\?)" => "/smokeping/smokeping.cgi?${qsa}",
"^/smokeping/(.*)" => "/smokeping/www/$1",
)
fastcgi.server = (
"/smokeping/smokeping.cgi" => (
"localhost" => (
"bin-path" => "/usr/lib/cgi-bin/smokeping.cgi",
"socket" => "/run/lighttpd/smokeping-fcgi.socket",
)
),
)
}
# vim: set ts=4 sw=4 et:

View File

@@ -0,0 +1,3 @@
host1:mysecret
host2:yoursecret
boomer:lkasdf93uhhfdfddf

View File

@@ -0,0 +1,11 @@
# If you need to run smokeping in a master/slave setup, you can create a
# drop-in override to add the required parameters to the daemon like shown
# below.
#
# To enable this, you'd need to create a directory
# /etc/systemd/system/smokeping.service.d/ and copy this file in that
# directory. Then, modify it according to your requirements.
#
[Service]
ExecStart=
ExecStart=/usr/sbin/smokeping --master-url=http://127.0.0.1/smokeping.fcgi --cache-dir=/var/lib/smokeping --shared-secret=/etc/smokeping/smokeping_secrets --pid-dir=/run/smokeping

Binary file not shown.

Binary file not shown.

Some files were not shown because too many files have changed in this diff Show More