监控工具之smokeping安装配置

 

(1)  首先安装依赖包(需要安装rrdtool,此处略)

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/

(2)  配置smokeping

首先建立两个目录:

mkdir -p /usr/local/smokeping/cache

mkdir -p /usr/local/smokeping/var

chown nagios:nagios /usr/local/smokeping/

然后修改如下几个配置文件:

1. config.dist

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

2. smokeping_secrets

cd /usr/local/smokeping/etc/

cp smokeping_secrets.dist smokeping_secrets

chmod 600 smokeping_secrets

3. smokeping.cgi

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");

4. smokeping.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");

(3) 启动smokeping

/usr/local/smokeping/bin/smokeping.dist start

(4) 建立启动脚本文件

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

(5) 配置apache/conf/httpd.conf

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>

 (6) 创建用户

/usr/local/apache/bin/htpasswd -c /usr/local/smokeping/etc/htpasswd.users admin

(6) 安装完成,可以通过如下链接看到效果:

http://192.168.0.100/smokeping

 

 

本文出自 “曲宝全的Linux世界” 博客,转载请与作者联系!

你可能感兴趣的:(职场,安装配置,休闲,smokeping,监控工具)