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服务以及一些库文件
 # 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

 [root@LNMP wang]# tar zxvf rrdtool-1.4..tar.gz
[root@LNMP rrdtool-1.4.]# cd rrdtool-1.4.
[root@LNMP rrdtool-1.4.]# ./configure --prefix=/usr/local/rrdtool
[root@LNMP rrdtool-1.4.]#make
[root@LNMP rrdtool-1.4.]#make install
[root@LNMP rrdtool-1.4.]#/usr/local/rrdtool/bin/rrdtool -v
RRDtool 1.4. Copyright - by Tobias Oetiker
.........(省略N行)......

4、安装CGILIB

 [root@LNMP wang]# tar zxvf cgilib-0.5.tar.gz
[root@LNMP cgilib-0.5]# cd cgilib-0.5
[root@LNMP cgilib-0.5]# make
[root@LNMP cgilib-0.5]# cp libcgi.a /usr/local/lib64
[root@LNMP cgilib-0.5]# cp cgi.h /usr/include

5、安装FPING-2.4B_TO

 [root@LNMP wang]# tar zxvf fping.tar.gz
[root@LNMP wang]# cd fping-.4b2_to4-ipv6/
[root@LNMP fping-.4b2_to4-ipv6]# ./configure
[root@LNMP fping-.4b2_to4-ipv6]# make
[root@LNMP fping-.4b2_to4-ipv6]# make check
[root@LNMP fping-.4b2_to4-ipv6]# make install

6、安装echoping

 [root@LNMP ~]# yum install popt popt-devel gettext libidn libidn-devel
[root@LNMP wang]# tar zxvf echoping-6.0..tar.gz
[root@LNMP wang]# cd echoping-6.0.
[root@LNMP echoping-6.0.]# ./configure
[root@LNMP echoping-6.0.]# make
[root@LNMP echoping-6.0.]# make install

7、安装FCGI

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

8、安装MOD_FASTCGI

 [root@LNMP wang]# tar zxvf mod_fastcgi-2.4..tar.gz
[root@LNMP wang]# cd mod_fastcgi-2.4.
[root@LNMP mod_fastcgi-2.4.]# apxs -o mod_fastcgi.so -c *.c
[root@LNMP mod_fastcgi-2.4.]# apxs -i -a -n fastcgi .libs/mod_fastcgi.so

9、安装smokeping

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

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

[root@LNMP smokeping-2.6.]# cd /usr/local/smokeping/
[root@LNMP smokeping]# ls
bin etc htdocs lib share thirdparty

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/

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  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秒ping20个包
pings =
*** Presentation ***
template = /usr/local/smokeping/etc/basepage.html.dist
charset=UTF- 新添加的一行内容
+ FPing 修改fping的路径(whereis fping)
binary = /usr/local/sbin/fping
packetsize =
末行添加
++ CQDX menu = CQDX
title = CQDX
alerts = someloss
#slaves = boomer slave2
host = 61.128.128.68
[root@LNMP ~]# vi /usr/local/smokeping/bin/smokeping
注释#“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
在# 加入'--font TITLE:20:"WenQuanYi Zen Hei Mono"',
if ($mode =~ /[anc]/){
my $val = ;
for my $host (@hosts){
my ($graphret,$xs,$ys) = RRDs::graph
("dummy",
'--start', $tasks[][],
'--end', $tasks[][],
'--font TITLE:20:"WenQuanYi Zen Hei Mono"',
"DEF:maxping=$cfg->{General}{datadir}${host}.rrd:median:AVERAGE",

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 -host 127.0.0.1: -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>

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

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

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

 #!/bin/bash
PIDFILE=/usr/local/smokeping/var/smokeping.pid
SMOKEPING=/usr/local/smokeping/bin/smokeping
ERROR=
RUNNING=
ARGV="$@"
if [ "x$ARGV" = "x" ] ; then
ARGS=help
fi
for ARG in $@ $ARGS
do
if [ -f $PIDFILE ] ; then
PID=`cat $PIDFILE`
if kill - $PID >/dev/null ; then
# smokeping is running
RUNNING=
else
# smokeping not running but PID file exists => delete PID file
rm -f $PIDFILE
RUNNING=
fi
else
# smokeping (no pid file) not running
RUNNING=
fi
case $ARG in
start)
if [ $RUNNING -eq ] ; then
if $SMOKEPING > /dev/null; then
echo "$0 $ARG: smokeping started"
else
echo "$0 $ARG: smokeping could not be started"
ERROR=
fi
else
echo "$0 $ARG: smokeping is running with PID $PID"
ERROR=
fi
;;
stop)
if [ $RUNNING -eq ] ; then
if kill $PID ; then
echo "$0 $ARG: smokeping ($PID) stopped"
rm $PIDFILE
else
echo "$0 $ARG: smokeping could not be stopped"
ERROR=
fi
else
echo "$0 $ARG: smokeping not running"
ERROR=
fi
;;
restart)
if [ $RUNNING -eq ] ; then
if $SMOKEPING --restart > /dev/null; then
echo "$0 $ARG: smokeping restarted"
else
echo "$0 $ARG: smokeping could not be started"
ERROR=
fi
else
$ start
fi
;;
strace_debug)
rm -f /tmp/strace_smokeping
if [ $RUNNING -eq ] ; 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=
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=
fi
fi
;;
status)
if [ $RUNNING -eq ] ; 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

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 -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页面

Smokeping安装教程的更多相关文章

  1. Linux+apache+mono+asp.net安装教程

    Linux+apache+mono+asp.net安装教程(CentOS上测试的) 一.准备工作: 1.安装linux系统(CentOS,这个就不多讲了) 2.下载所需软件 http-2.4.4.ta ...

  2. Greenplum 源码安装教程 —— 以 CentOS 平台为例

    Greenplum 源码安装教程 作者:Arthur_Qin 禾众 Greenplum 主体以及orca ( 新一代优化器 ) 的代码以可以从 Github 上下载.如果不打算查看代码,想下载编译好的 ...

  3. git 安装教程

    昆,简单说下安装教程1,安装Git2,安装TortoiseGit3,打开第一步安装的git工具GIT BASH

  4. Docker和Docker-compose安装教程以及docker-elk,docker-storm安装教程

    此安装教程仅供我自己安装配置时查看,其他的人不可以偷看!!! 安装Docker 1. Update package information, ensure that APT works with th ...

  5. RHEL 6.3 详细安装教程

    以前刚接触linux时,什么都不懂,为了学习,在电脑上安装双系统(原系统为Win7),吃过不少苦头,在网上搜教程,很多都是语焉不详,导致安装过程中战战兢兢.最近朋友面试运维,面试官有考他对linux安 ...

  6. Android Studio的下载和安装教程(从ADT到AS)

    之前一直使用的是Android development tools(简称ADT),后来说是google对ADT不再提供支持,然后一直在考虑是否把自己电脑换成Android Studio(简称AS),从 ...

  7. mysql快速导出数据库ER图和数据字典(附navicat11安装教程及资源)

    ♣ mysql使用navicat11快速导出数据库ER图 ♣ mysql使用navicat11快速导出数据库数据字典 ♣ navicat11 for mysql (这里是mysql5.7.12)专业版 ...

  8. (二)ADS1.2的安装教程以及使用 调试 (不会 AXD 调试工具)

    安装教程: 参考百度 http://jingyan.baidu.com/article/cdddd41c7db85253cb00e1ae.html 具体使用看: 杨铸的那本书(嵌入式底层软件驱动开发) ...

  9. hadoop 安装教程 转载

    hadoop2.2安装教程:http://www.aboutyun.com/thread-7684-1-1.html hadoop2.X使用手册1:通过web端口查看主节点.slave1节点及集群运行 ...

随机推荐

  1. 用VBox虚拟机安装Android 屏幕90度翻转竖屏设置

    在虚拟机中安装好Android之后,有一些Android应用(比如UC浏览器.UC桌面)不能安装.但更有一些程序是可以安装,却自动顺时间旋转了90度,操作和看起来非常不爽! 这个情况下,在Androi ...

  2. 2.goldengate日常维护命令(转载)

    goldengate日常维护命令 发表于 2013 年 7 月 4 日 由 Asysdba 1.查看进程状态 GGSCI (PONY) 2> info all 2.查看进程详细状态,有助于排错 ...

  3. 【leetcode】Search for a Range

    题目描述: Given a sorted array of integers, find the starting and ending position of a given target valu ...

  4. JS控制按钮不能连续被点击

    将下面代码拷贝进一个html文件中就可以运行查看效果. function downLoad(evt) { disabledButton(); MyPeriodicalExecuter(evt); } ...

  5. 【Exception—WebForm】当应用程序不是以 UserInteractive 模式运行时显示模式对话框或窗体是无效操作。请指定 ServiceNotification 或 DefaultDesktopOnly 样式,以显示服务应用程序发出的通知。

    最近做的项目现在发布到服务器上开始测试了,本地好好的程序,到服务器上却报异常了: 当应用程序不是以 UserInteractive 模式运行时显示模式对话框或窗体是无效操作.请指定 ServiceNo ...

  6. dedecms在列表或首页取得文章首图的功能改进

    在网上找过资料,效果不是很满意,第一个是原理说的不对,第二个是后缀写死. 原文大致如下: 当文章缩略图是自动选取文章内第一个图片裁减所得时 他的命名规则是有规律的 比如原文是1.jpg 它对应的缩略图 ...

  7. Linux 下MySql 重置密码

    1.首先确认服务器出于安全的状态,也就是没有人能够任意地连接MySQL数据库. 因为在重新设置MySQL的root密码的期间,MySQL数据库完全出于没有密码保护的 状态下,其他的用户也可以任意地登录 ...

  8. 编译原理-词法分析03-DFA

    0.术语 DFA Deterministic finite automation,确定性有穷自动机.一般用于翻译正则表达式. 状态state DFA中的圆圈,表示模式在识别过程中的位置. 转换tran ...

  9. 最全html5 meta设置详解 (转)

    meta 详解,html5 meta 标签日常设置   <!DOCTYPE html> <!-- 使用 HTML5 doctype,不区分大小写 --> <html la ...

  10. Eclipse 报java.lang.OutOfMemoryError: PermGen space错

    这块内存主要是被JVM存放Class和Meta信息的,Class在被Loader时就会被放到PermGen space中,它和存放类实例(Instance)的Heap区域不同,GC(Garbage C ...