zoukankan      html  css  js  c++  java
  • Smokeping安装教程

    Smokeping安装教程
    #Smokeping2.6.8安装教程
    #2016.3.6 改编v1.0
    #Linux运维技术交流 347163978
     
    环境
    CentOS release 6.4 (Final) 
    kernel 2.6.32-358.el6.x86_64  x86_64 
    软件下载
     
    1、换源163和epel 
     
    2、用yum安装httpd服务以及一些库文件
    1 # yum -y install httpd httpd-devel gcc gcc-c++ make curl wget libxml2-devel libpng-devel glib pango pango-devel freetype freetype-devel fontconfig cairo cairo-devel libart_lgpl libart_lgpl-devel perl perl-Net-Telnet perl-Net-DNS perl-LDAP perl-libwww-perl perl-IO-Socket-SSL perl-Socket6 perl-CGI-SpeedyCGI  perl-FCGI perl-Time-HiRes perl-ExtUtils-MakeMaker 

    3、安装rrdtool  

    1 [root@LNMP wang]# tar zxvf rrdtool-1.4.7.tar.gz
    2 [root@LNMP rrdtool-1.4.7]# cd rrdtool-1.4.7
    3 [root@LNMP rrdtool-1.4.7]# ./configure --prefix=/usr/local/rrdtool
    4 [root@LNMP rrdtool-1.4.7]#make
    5 [root@LNMP rrdtool-1.4.7]#make install
    6 [root@LNMP rrdtool-1.4.7]#/usr/local/rrdtool/bin/rrdtool -v 
    7 RRDtool 1.4.7  Copyright 1997-2010 by Tobias Oetiker 
    .........(省略N行)......

    4、安装CGILIB

    1 [root@LNMP wang]# tar zxvf cgilib-0.5.tar.gz
    2 [root@LNMP cgilib-0.5]# cd cgilib-0.5
    3 [root@LNMP cgilib-0.5]# make
    4 [root@LNMP cgilib-0.5]# cp libcgi.a /usr/local/lib64
    5 [root@LNMP cgilib-0.5]# cp cgi.h /usr/include
    View Code

    5、安装FPING-2.4B_TO

    1 [root@LNMP wang]# tar zxvf fping.tar.gz
    2 [root@LNMP wang]# cd fping-2.4b2_to4-ipv6/
    3 [root@LNMP fping-2.4b2_to4-ipv6]# ./configure
    4 [root@LNMP fping-2.4b2_to4-ipv6]# make 
    5 [root@LNMP fping-2.4b2_to4-ipv6]# make check
    6 [root@LNMP fping-2.4b2_to4-ipv6]# make install
    View Code

    6、安装echoping

    1 [root@LNMP ~]# yum install popt popt-devel gettext libidn libidn-devel
    2 [root@LNMP wang]# tar zxvf echoping-6.0.0.tar.gz
    3 [root@LNMP wang]# cd echoping-6.0.0
    4 [root@LNMP echoping-6.0.0]# ./configure
    5 [root@LNMP echoping-6.0.0]# make
    6 [root@LNMP echoping-6.0.0]# make install

    7、安装FCGI

    1 [root@LNMP wang]# tar zxvf FCGI-0.74.tar.gz
    2 [root@LNMP wang]# cd FCGI-0.74
    3 [root@LNMP FCGI-0.74]# perl Makefile.PL
    4 [root@LNMP FCGI-0.74]# make
    5 [root@LNMP FCGI-0.74]# make install

    8、安装MOD_FASTCGI

    1 [root@LNMP wang]# tar zxvf mod_fastcgi-2.4.6.tar.gz
    2 [root@LNMP wang]# cd mod_fastcgi-2.4.6
    3 [root@LNMP mod_fastcgi-2.4.6]# apxs -o mod_fastcgi.so -c *.c
    4 [root@LNMP mod_fastcgi-2.4.6]# apxs -i -a -n fastcgi .libs/mod_fastcgi.so
    View Code

    9、安装smokeping

     1 [root@LNMP ]#yum install cpan
     2 [root@LNMP wang]# tar zxvf smokeping-2.6.8.tar.gz
     3 [root@LNMP wang]# cd smokeping-2.6.8
     4 [root@LNMP smokeping-2.6.8]# cp /usr/local/rrdtool/lib/perl/5.10.1/x86_64-linux-thread-multi/RRDs.pm /usr/lib64/perl5
     5 [root@LNMP smokeping-2.6.8]# cp /usr/local/rrdtool/lib/perl/5.10.1/x86_64-linux-thread-multi/auto/RRDs/RRDs.so /usr/lib64/perl5
     6 [root@LNMP smokeping-2.6.8]# ./configure --prefix=/usr/local/smokeping
     7 **可以用 && 依次执行4条命令(半小时)后再执行一次./configure --prefix=/usr/local/smokeping
     8 [root@LNMP smokeping-2.6.8]# ./setup/build-perl-modules.sh /usr/local/smokeping/thirdparty
     9 [root@LNMP smokeping-2.6.8]# perl -MCPAN -e 'install CGI'
    10 [root@LNMP smokeping-2.6.8]# perl -MCPAN -e 'install CGI::Fast'
    11 [root@LNMP smokeping-2.6.8]# perl -MCPAN -e 'Config::Grammar'
    12 [root@LNMP smokeping-2.6.8]# /usr/bin/gmake install

    10、验证smokeping安装是否成功!

    [root@LNMP smokeping-2.6.8]# cd /usr/local/smokeping/
    [root@LNMP smokeping]# ls 
    bin  etc  htdocs  lib  share  thirdparty
    View Code

    11、创建data、var、cache、smokeing日志文件并修改权限

    [root@localhost smokeping]# mkdir -p data var cache
    [root@LNMP ~]# touch /var/log/smokeping.log
    [root@LNMP ~]# chown apache.apache /var/log/smokeping.log
    [root@LNMP ~]# chown -R apache.apache /usr/local/smokeping/
    View Code

    12、给smokeping配置文件修改名字

    [root@LNMP smokeping~]# cp -a htdocs/smokeping.fcgi.dist htdocs/smokeping.fcgi
    [root@LNMP smokeping~]# cp -a etc/config.dist etc/config

    13、修改密码文件权限

    # chmod 600 etc/smokeping_secrets.dist
    # ll etc/smokeping_secrets.dist

    14、修改smokeping主配置文件

    [root@LNMP ~]# vi /usr/local/smokeping/etc/config
    cgiurl   = http://x.x.x.x/smokeping.cgi    //这个是访问smokeping的路径
    *** Database ***
    step     = 60  60秒ping20个包
    pings    = 20
    *** Presentation ***
    template = /usr/local/smokeping/etc/basepage.html.dist
    charset=UTF-8  新添加的一行内容
    + FPing        修改fping的路径(whereis fping)
    binary = /usr/local/sbin/fping
    packetsize = 1024
    末行添加
    ++ CQDX
    
    menu = CQDX
    title = CQDX
    alerts = someloss
    #slaves = boomer slave2
    host = 61.128.128.68
    [root@LNMP ~]# vi /usr/local/smokeping/bin/smokeping
    注释#8“use lib qw(); # PERL5LIB”并插入
    use lib qw(/usr/local/rrdtool/lib/perl);
    use lib qw(/usr/local/smokeping/lib);
    支持中文防止乱码
    #yum -y install wqy-zenhei-fonts
    #vim /usr/local/smokeping/lib/Smokeping/Graphs.pm
    在#148 加入'--font TITLE:20:"WenQuanYi Zen Hei Mono"',
    141     if ($mode =~ /[anc]/){
    142         my $val = 0;
    143         for my $host (@hosts){
    144             my ($graphret,$xs,$ys) = RRDs::graph
    145             ("dummy",
    146             '--start', $tasks[0][1],
    147             '--end', $tasks[0][2],
    148 '--font TITLE:20:"WenQuanYi Zen Hei Mono"',
    149             "DEF:maxping=$cfg->{General}{datadir}${host}.rrd:median:AVERAGE",
    View Code

    15、配置Apache服务的主配置文件

    [root@LNMP ~]# yum -y install php-fpm
    [root@LNMP ~]# vim /etc/httpd/conf.d/fastcgi.php 
    DirectoryIndex index.html index.shtml index.cgi index.php
    AddHandler php5-fcgi .php
    Action php5-fcgi /php5-fcgi
    Alias /php5-fcgi /var/www/cgi-bin/php5-fcgi
    FastCgiExternalServer /var/www/cgi-bin/php5-fcgi -idle-timeout 60 -host 127.0.0.1:9000 -pass-header Authorization
    [root@LNMP local]# vi /etc/httpd/conf/httpd.conf
    Alias /cache "/usr/local/smokeping/cache/"
    Alias /cropper "/usr/local/smokeping/htdocs/cropper/"
    Alias /smokeping "/usr/local/smokeping/htdocs/smokeping.fcgi"
    <Directory "/usr/local/smokeping/htdocs">
    AllowOverride None
    Options All
    AddHandler cgi-script .fcgi .cgi
    ALLowOverride AuthConfig
    Order allow,deny
    Allow from all
    AuthName "Smokeping"
    AuthType Basic
    AuthUserFile /usr/local/smokeping/htdocs/htpasswd
    Require valid-user
    DirectoryIndex smokeping.fcgi
    </Directory>
    View Code

    16、创建登录smokeping的账户并设置密码(可省略)

    [root@LNMP ~]# htpasswd -c /usr/local/smokeping/htdocs/htpasswd admin

    17、编写一个smokeping启动脚本(可省略)

      1 #!/bin/bash
      2 PIDFILE=/usr/local/smokeping/var/smokeping.pid
      3 SMOKEPING=/usr/local/smokeping/bin/smokeping
      4 ERROR=0
      5 RUNNING=0
      6 ARGV="$@"
      7 if [ "x$ARGV" = "x" ] ; then
      8 ARGS=help
      9 fi
     10 for ARG in $@ $ARGS
     11 do
     12 if [ -f $PIDFILE ] ; then
     13 PID=`cat $PIDFILE`
     14 if kill -0 $PID 2>/dev/null ; then
     15 # smokeping is running
     16 RUNNING=1
     17 else
     18 # smokeping not running but PID file exists => delete PID file
     19 rm -f $PIDFILE
     20 RUNNING=0
     21 fi
     22 else
     23 # smokeping (no pid file) not running
     24 RUNNING=0
     25 fi
     26 case $ARG in
     27 start)
     28 if [ $RUNNING -eq 0 ] ; then
     29 if $SMOKEPING > /dev/null; then
     30 echo "$0 $ARG: smokeping started"
     31 else
     32 echo "$0 $ARG: smokeping could not be started"
     33 ERROR=1
     34 fi
     35 else
     36 echo "$0 $ARG: smokeping is running with PID $PID"
     37 ERROR=2
     38 fi
     39 ;;
     40 stop)
     41 if [ $RUNNING -eq 1 ] ; then
     42 if kill $PID ; then
     43 echo "$0 $ARG: smokeping ($PID) stopped"
     44 rm $PIDFILE
     45 else
     46 echo "$0 $ARG: smokeping could not be stopped"
     47 ERROR=3
     48 fi
     49 else
     50 echo "$0 $ARG: smokeping not running"
     51 ERROR=4
     52 fi
     53 ;;
     54 restart)
     55 if [ $RUNNING -eq 1 ] ; then
     56 if $SMOKEPING --restart > /dev/null; then
     57 echo "$0 $ARG: smokeping restarted"
     58 else
     59 echo "$0 $ARG: smokeping could not be started"
     60 ERROR=5
     61 fi
     62 else
     63 $0 start
     64 fi
     65 ;;
     66 strace_debug)
     67 rm -f /tmp/strace_smokeping
     68 if [ $RUNNING -eq 1 ] ; then
     69 if strace -o/tmp/strace_smokeping $SMOKEPING --restart >/dev/null; then
     70 echo "$0 $ARG: smokeping restarted with strace debug in /tmp/strace_smokeping"
     71 else
     72 echo "$0 $ARG: smokeping strace debug could not be started"
     73 ERROR=6
     74 fi
     75 else
     76 if strace -o/tmp/strace_smokeping $SMOKEPING >/dev/null; then
     77 echo "$0 $ARG: smokeping started with strace debug in /tmp/strace_smokeping"
     78 else
     79 echo "$0 $ARG: smokeping strace debug could not be started"
     80 ERROR=7
     81 fi
     82 fi
     83 ;;
     84 status)
     85 if [ $RUNNING -eq 1 ] ; then
     86 echo "$0 $ARG: smokeping is running with PID ($PID)"
     87 else
     88 echo "$0 $ARG: smokeping is not running"
     89 fi
     90 ;;
     91 *)
     92 echo "usage: $0 (start|stop|restart|status|strace_debug|help)"
     93 cat <<EOF
     94 start - start smokeping
     95 stop - stop smokeping
     96 restart - restart smokeping if running or start if not running
     97 status - show status if smokeping is running or not
     98 help - this screen
     99 EOF
    100 ;;
    101 esac
    102 done
    103 exit $ERROR
    View Code

    添加执行权限

    # chmod +x /etc/init.d/smokeping

    18、解决目录安全并启动smokeping、httpd服务

    [root@LNMP local]# chcon -R -t httpd_sys_content_t /usr/local/smokeping/
    [root@LNMP local]#iptables -I INPUT -p tcp --dport 80 -j ACCEPT
     
    检测smokeping配置
    [root@LNMP ~]# /usr/local/smokeping/bin/smokeping --check
    [root@LNMP ~]# echo "/usr/local/smokeping/bin/smokeping --logfile=/var/log/smokeping.log 2>&1 &" >> /etc/rc.local
    #/etc/init.d/smokeping restart
    # service httpd restart 
    # service php-fpm restart 
    19、访问smokeping页面
  • 相关阅读:
    How to convert VirtualBox vdi to KVM qcow2
    (OK)(OK) adb -s emulator-5554 shell
    (OK)(OK) using adb with a NAT'ed VM
    (OK) How to access a NAT guest from host with VirtualBox
    (OK) Creating manually one VMs from an existing VDI file in CLI (VBoxManage) in Fedora 23
    (OK)(OK) Creating VMs from an existing VDI file in CLI (VBoxManage) in Fedora 23
    (OK) Creating_VMs_from_an_existing_VDI_file.txt
    (OK) Creating VMs from an existing VDI file —— in OS X
    (OK) install_IBM_SERVER.txt
    (OK) install chrome & busybox in android-x86_64 —— uninstall chrome
  • 原文地址:https://www.cnblogs.com/woodman/p/6137164.html
Copyright © 2011-2022 走看看