slackbuilds_ponce/system/smokeping
Lockywolf f6f8b9eca8
system/smokeping: Added (Network Monitoring).
Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
2024-01-27 10:30:16 +07:00
..
rc.smokeping
rc.smokeping-slave
README
slack-desc
smokeping-2.8.2-no-3rd-party.patch
smokeping-2.8.2-paths.patch
smokeping-config.patch
smokeping.info
smokeping.SlackBuild

SmokePing is a deluxe latency measurement tool.

It can measure, store and display latency, latency distribution and
packet loss. SmokePing uses RRDtool to maintain a longterm data-store
and to draw pretty graphs, giving up to the minute information on the
state of each network connection.

1. Measures latency as well as latency variation.
2. Wide variety of probes, ranging from simple ping to web requests and
    custom protocols.
3. Advanced alarm system, triggering on configurable 'latency patterns'.
4. Master/slave deployment model to run measurments from multiple
   sources in parallel.
5. Ajax based graph navigation.
6. Chart mode, to show the most interesting graphs first
7. Plug-able probes, alarms (matchers) and charting function.

As Smokeping is a web application, installing it is more involved
than ordinary slackbuilds.

0. smokeping needs to run under its own user/group. This has been
 assigned to
the following by SlackBuilds.org, but feel free to change it on your
system for consistency with local assignments.
  User:   smokeping            UID: 383        GID: 383
  group:  smokeping                            GID: 383
You can change pass alternate values for the user and group using
SB_USER, SB_GROUP, SB_UID, SB_GID variables when running the build
 script.

1. Most of smokeping is installed into normal system directories.
2. The web part is installed into /var/www/htdocs/smokeping/
3. You need to configure a web server to serve the web part. This is
   a reference nginx setup:
           location /smokeping/ {
            client_max_body_size 200M;
            index smokeping.fcgi;
            chunked_transfer_encoding off;
            gzip off;
            location ~ \.fcgi$ {
                client_max_body_size 200M;
                fastcgi_intercept_errors on;
                include /etc/nginx/fastcgi_params;
       fastcgi_param SCRIPT_FILENAME /srv/http/smokeping/smokeping.fcgi;
                gzip off;
                fastcgi_buffering off;
                chunked_transfer_encoding off;
                fastcgi_pass unix:/run/smokeping-fcgi.sock;

            }
        }
4. The above setup relies on the fact that smokeping.fcgi is started as
   a fastcgi service by spawn-fcgi, rc.smokeping does this for you.
   Nginx, or whatever webserver you are using, must be in the
   "smokeping" group to
   access the /run/smokeping-fcgi.sock socket.

5. Smokeping uses /ect/smokeping/config" as its
   configuration file.

6. This build ships a Slackware-style init file /etc/rc.d/rc.smokeping
    , which
   is not coming from the package itself. So patches welcome. It is,
   therefore,
   shipped as a .new file, because you might want to adjust it.

7. This build does not ship a slave init file for distributed setups.
   Patches welcome.

8. Smokeping has a lot of configuration files, which might tweak its
   behaviour. Most of these files are installed as .dist, and will be
   overwritten on update. Ready-to use .conf files are not provided, the
   user is expected to copy them as needed.

   The list is:
   /etc/smokeping/basepage.html.dist -- webpage template
   /etc/smokeping/tmail.dist -- mail report template
   /etc/smokeping/smokemail.dist -- some other mail template
   /etc/smokeping/config.dist -- main configuration file
   /var/www/htdocs/smokeping/smokeping.fcgi.dist -- fcgi template

9. Smokeping service, _and_ smokeping fcgi service both need access to
   data files, which are by default in /var/lib/smokeping/.
   So they both run as the user smokeping.
   Your webserver should be able to read images from
   /var/lib/smokeping/images,
   so you might want to add apache (or whichever user your webserver
   uses) to the group smokeping.

10. Verify that fcgi works by
/usr/bin/spawn-fcgi -n -u smokeping -s /run/smokeping-fcgi.sock -M 660\
-U smokeping -- /var/www/htdocs/smokeping/smokeping.fcgi