tar zvxf fping.tar.gz
cd fping-2.4b2_to/
./configure
make
make install
######
tar zvxf CGI-SpeedyCGI-2.22.tar.gz
cd CGI-SpeedyCGI-2.22/
perl Makefile.PL(直接回车)
make
make test
make install
#####
tar zvxf libwww-perl-5.836.tar.gz
cd libwww-perl-5.836/
perl Makefile.PL
make
make install
######
tar zvxf smokeping-2.4.2.tar.gz
mv smokeping-2.4.2 /usr/local/smokeping
#######
ln -s /usr/local/sbin/fping /usr/sbin/
mkdir -p /usr/local/smokeping/cache
mkdir -p /usr/local/smokeping/var
chown nagios:nagios /usr/local/smokeping/
cd /usr/local/smokeping/etc/
cp smokeping_secrets.dist smokeping_secrets
chmod 600 smokeping_secrets
cp config.dist config.dist.bak
vim /usr/local/smokeping/etc/config.dist(修改如下设置项)
imgcache = /usr/local/smokeping/cache
imgurl = ../cache
datadir = /usr/local/smokeping/var
piddir = /usr/local/smokeping/var
cgiurl = http://192.168.0.100/htdocs/smokeping.cgi
smokemail = /usr/local/smokeping/etc/smokemail.dist
tmail = /usr/local/smokeping/etc/tmail.dist
template = /usr/local/smokeping/etc/basepage.html.dist
secrets=/usr/local/smokeping/etc/smokeping_secrets
cd /usr/local/smokeping/etc/
cp smokeping_secrets.dist smokeping_secrets
chmod 600 smokeping_secrets
cd /usr/local/smokeping/htdocs/
cp smokeping.cgi.dist smokeping.cgi
vim smokeping.cgi (修改如下)
#!/usr/sepp/bin/speedy
7 use lib qw(/usr/pack/rrdtool-1.3.0-rp/lib/perl);
8 use lib qw(/home/oetiker/checkouts/smokeping/trunk/software/lib);
13 Smokeping::cgi("/home/oetiker/checkouts/smokeping/trunk/software/etc/config.dist");
改成
#!/usr/bin/speedy –w
use lib qw(/usr/local/rrdtool/lib/perl/5.8.8/x86_64-linux-thread-multi/auto/RRDs/);
use lib qw(/usr/local/smokeping/lib);
Smokeping::cgi("/usr/local/smokeping/etc/config.dist");
cd /usr/local/smokeping/bin/
cp smokeping.dist smokeping.dist.bak
vim smokeping.dist(更改如下)
4 use lib qw(/usr/pack/rrdtool-1.3.0-rp/lib/perl);
5 use lib qw(lib);
10 Smokeping::main("etc/config.dist");
改成
use lib qw(/usr/local/rrdtool/lib/perl/5.8.8/x86_64-linux-thread-multi/auto/RRDs/);
use lib qw(/usr/local/smokeping/lib);
Smokeping::main("/usr/local/smokeping/etc/config.dist");
/usr/local/smokeping/bin/smokeping.dist start
vim /etc/init.d/smokeping
#!/bin/sh
#
# Description: start/stop script for smokeping
# Autor: Michel Tokic <[email protected]>
#
# the path to your PID file
PIDFILE=/usr/local/smokeping/var/smokeping.pid
# path to smokeping script
SMOKEPING=/usr/local/smokeping/bin/smokeping.dist
ERROR=0
RUNNING=0
ARGV="$@"
if [ "x$ARGV" = "x" ] ; then
ARGS=help
fi
for ARG in $@ $ARGS
do
if [ -f $PIDFILE ] ; then
PID=`cat $PIDFILE`
if kill -0 $PID 2>/dev/null ; then
# smokeping is running
RUNNING=1
else
# smokeping not running but PID file exists => delete PID file
rm -f $PIDFILE
RUNNING=0
fi
else
# smokeping (no pid file) not running
RUNNING=0
fi
case $ARG in
start)
if [ $RUNNING -eq 0 ] ; then
if $SMOKEPING > /dev/null; then
echo "$0 $ARG: smokeping started"
else
echo "$0 $ARG: smokeping could not be started"
ERROR=1
fi
else
echo "$0 $ARG: smokeping is running with PID $PID"
ERROR=2
fi
;;
stop)
if [ $RUNNING -eq 1 ] ; then
if kill $PID ; then
echo "$0 $ARG: smokeping ($PID) stopped"
rm $PIDFILE
else
echo "$0 $ARG: smokeping could not be stopped"
ERROR=3
fi
else
echo "$0 $ARG: smokeping not running"
ERROR=4
fi
;;
restart)
if [ $RUNNING -eq 1 ] ; then
if $SMOKEPING --restart > /dev/null; then
echo "$0 $ARG: smokeping restarted"
else
echo "$0 $ARG: smokeping could not be started"
ERROR=5
fi
else
$0 start
fi
;;
strace_debug)
rm -f /tmp/strace_smokeping
if [ $RUNNING -eq 1 ] ; then
if strace -o/tmp/strace_smokeping $SMOKEPING --restart >/dev/null; then
echo "$0 $ARG: smokeping restarted with strace debug in /tmp/strace_smokeping"
else
echo "$0 $ARG: smokeping strace debug could not be started"
ERROR=6
fi
else
if strace -o/tmp/strace_smokeping $SMOKEPING >/dev/null; then
echo "$0 $ARG: smokeping started with strace debug in /tmp/strace_smokeping"
else
echo "$0 $ARG: smokeping strace debug could not be started"
ERROR=7
fi
fi
;;
status)
if [ $RUNNING -eq 1 ] ; then
echo "$0 $ARG: smokeping is running with PID ($PID)"
else
echo "$0 $ARG: smokeping is not running"
fi
;;
*)
echo "usage: $0 (start|stop|restart|status|strace_debug|help)"
cat <<EOF
start - start smokeping
stop - stop smokeping
restart - restart smokeping if running or start if not running
status - show status if smokeping is running or not
help - this screen
EOF
;;
esac
done
exit $ERROR
chmod +x /etc/init.d/smokeping
Alias /smokeping "/usr/local/smokeping/htdocs/smokeping.cgi"
Alias /cache "/usr/local/smokeping/cache"
Alias /cropper "/usr/local/smokeping/htdocs/cropper/"
<Directory /usr/local/smokeping>
AllowOverride None
AddHandler cgi-script cgi fcgi
Options ExecCGI
Order allow,deny
Allow from all
AuthName "Smokeping Access"
AuthType Basic
AuthUserFile /usr/local/smokeping/etc/htpasswd.users
Require valid-user
</Directory>
/usr/local/apache/bin/htpasswd -c /usr/local/smokeping/etc/htpasswd.users admin
http://192.168.0.100/smokeping
本文出自 “曲宝全的Linux世界” 博客,转载请与作者联系!