summaryrefslogtreecommitdiffstats
path: root/bin/smokeping_cgi
blob: bedc6ff6f5c56aa17ade1fede3ebc37eb39b323e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
#!/usr/bin/env perl
# -*-perl-*-   

use strict;
use warnings;

use FindBin;
# PERL5LIB
use lib "$FindBin::Bin/../thirdparty/lib/perl5";
use lib "$FindBin::Bin/../lib";

# don't bother with zombies
$SIG{CHLD} = 'IGNORE';

use CGI::Carp qw(fatalsToBrowser);

use Smokeping 2.005000;

use CGI::Fast;

my $cfg = (shift @ARGV) || "$FindBin::Bin/../etc/config";


while (my $q = new CGI::Fast) {
   Smokeping::cgi($cfg,$q);
}

=head1 NAME

smokeping_cgi - SmokePing webfrontend

=head1 OVERVIEW

This script acts as a 'website' for your SmokePing monitoring operation. It
presents the targets you are looking at in a tree structure and draws graphs
as they are required by people looking at the pages.

=head1 DESCRIPTION

To get B<smokeping.cgi> going, you need a webserver which allows you to run
CGI or better FastCGI scripts. The system must be setup so that the cgi
process is allowed to write to the image caching area as defined in the
config file.

This script runs fine as a normal CGI, B<BUT> it will appear to be very slow,
because it does a lot of things when starting up. So if the script has to be
started a fresh on every click, this is both slow and a tough thing for your
webserver. I therefore strongly recommend using FastCGI.

Please refer to the installation document for detailed setup instructions.

=head1 SETUP

When installing SmokePing, I recomend to place a little shell wrapper
into your htdocs directory, to launch the actual smokeping.cgi process:

 #!/bin/sh
 # maybe add some extra perl search path
 # export PERL5LIB=/opt/rrdtool/lib/perl
 exec /opt/smokeping/bin/smokeping.cgi /opt/smokeping/etc/config

=head1 COPYRIGHT

Copyright (c) 2011 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