• 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页面
  • 相关阅读:
    E
    D
    C
    B
    Python
    IDEA 设置资源目录
    光猫指示灯含义
    IO模型
    Linux 总目录
    Linux python 使用
  • 原文地址:https://www.cnblogs.com/woodman/p/6137164.html
Copyright © 2020-2023  润新知