天天看點

smokeping安裝部署最佳實踐chkconfig: 2345 80 05Description: Smokeping init.d scriptWrite by : linux-Leon_xiediGet function from functions libraryStart the service SmokepingRestart the service Smokeping

1.1安裝smokeping

[root@linux-node2 ~]# cat /etc/redhat-release #檢視伺服器資訊

CentOS release 6.7 (Final)

[root@linux-node2 ~]# uname -r

2.6.32-573.el6.x86_64

[root@linux-node2 ~]# yum -y install perl perl-Net-Telnet perl-Net-DNS perl-LDAP perl-libwww-perl perl-RadiusPerl perl-IO-Socket-SSL perl-Socket6 perl-CGI-SpeedyCGI perl-FCGI perl-CGI-SpeedCGI perl-Time-HiRes perl-ExtUtils-MakeMaker perl-RRD-Simple rrdtool rrdtool-perl curl fping echoping httpd httpd-devel gcc make wget libxml2-devel libpng-devel glib pango pango-devel freetype freetype-devel fontconfig cairo cairo-devel libart_lgpl libart_lgpl-devel mod_fastcgi screen #通過yum安裝所依賴的庫以及環境

[root@linux-node2 ~]# cd /usr/local/src/ #進入預設源碼包存放路徑

[root@linux-node2 src]# tar xf smokeping-2.6.9.tar.gz #解壓smokeping

[root@linux-node2 src]# cd smokeping-2.6.9 #進入smokeping目錄

[root@linux-node2 smokeping-2.6.9]# ./setup/build-perl-modules.sh /usr/local/smokeping/thirdparty #

[root@linux-node2 smokeping-2.6.9]# ./configure --prefix=/usr/local/smokeping #編譯smokeping到/usr/local

[root@linux-node2 smokeping-2.6.9]# cd /usr/local/smokeping/ #進入smokeping目錄

[root@linux-node2 smokeping]# mkdir cache data var #建立三個目錄

[root@linux-node2 smokeping]# touch /var/log/smokeping.log #建立smokeping日志檔案

[root@linux-node2 smokeping]# chown apache.apache cache/ data/ var/ /var/log/smokeping.log #授權屬主屬組為apache

[root@linux-node2 smokeping]# cd /usr/local/smokeping/htdocs/ #進入smokeping下htdocs目錄

[root@linux-node2 htdocs]# mv smokeping.fcgi.dist smokeping.fcgi #修改smokeping檔案名

[root@linux-node2 smokeping]# mv /usr/local/smokeping/etc/config.dist /usr/local/smokeping/etc/config #修改smokeping下etc目錄smokeping

1.2修改smokeping配置檔案

[root@linux-node2 smokeping]# sed -i 's#300#60#g' /usr/local/smokeping/etc/config #預設檢測時間300秒修改60秒

[root@linux-node2 smokeping]# sed -i 's#20#60#g' /usr/local/smokeping/etc/config

#預設ping20次,修改為60秒ping60次

[root@linux-node2 ~]# vim /usr/local/smokeping/etc/config #在presentation添加utf-8中文字元集

Presentation

charset = utf-8

[root@linux-node2 smokeping]# chmod 600 /usr/local/smokeping/etc/smokeping_secrets.dist #修改密碼權限為root隻讀

1.3修改apache配置檔案 

[root@linux-node2 htdocs]# htpasswd -c /usr/local/smokeping/htdocs/htpasswd darker #設定登入密碼認證 通過apache自帶驗證功能

New password:

Re-type new password:

Adding password for user darker

DocumentRoot "/var/www/html" #在這行下面添加如下---标紅的代表密碼驗證

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

AllowOverride None

Options All

AddHandler cgi-script .fcgi .cgi

Order allow,deny

Allow from all

AuthName "Smokeping"

AuthType Basic

AuthUserFile /usr/local/smokeping/htdocs/htpasswd

Require valid-user

DirectoryIndex

smokeping.fcgi

</Directory>

1.4設定smokeping啟動腳本

[root@linux-node2 ~]# cat /etc/init.d/smokeping #smokeping啟動腳本

#!/bin/bash

#

. /etc/init.d/functions

function start() {

echo -n "Starting Smokeping: "

/usr/local/smokeping/bin/smokeping >/dev/null 2>&1

success $"Smokeping startup"

echo

}

function stop() {

echo -n "Stopping Smokeping: "

kill -9 <code>ps ax |grep "/usr/local/smokeping/bin/smokeping" |&lt;br/&gt;grep -v grep | awk '{ print $1 }'</code> &gt;/dev/null 2&gt;&amp;1

rm -f /var/lock/subsys/smokeping

success $"Smokeping shutdown"

#Show status about Smokeping

function status() {

NUM="<code>ps -ef|grep smokeping|grep -v grep|wc -l</code>"

if [ "$NUM" == "0" ];then

echo "Smokeping is not run"

else

echo "Smokeping is running"

fi

case "$1" in

start)

start

stop)

status)

status

restart|reload)

;;

*)

echo $"Usage: $0

{start|stop|restart|reload|status}"

exit 1

esac

exit 0

1.5啟動服務以及通路smokeping

[root@linux-node2 ~]# chmod 755 /etc/init.d/smokeping #添加腳本755權限

[root@linux-node2 ~]# chkconfig --add smokeping #将smokeping加入開機啟動

[root@linux-node2 ~]# chkconfig smokeping on #設定smokeping為開機啟動

[root@linux-node2 ~]# chkconfig httpd on #設定apache為開機啟動

[root@linux-node2 ~]# /etc/init.d/httpd restart #重新開機apache服務

[root@linux-node2 ~]# /etc/init.d/smokeping restart #重新開機smokeping服務

1.通過浏覽器通路smokeping,如圖1-1

圖1-1

1.6添加需要監控的網站和節點

注意事項:

1)在/usr/local/smokeping/etc/config中添加

2)smokeping就這點不好,添加節點不能在前台Web頁面添加,一定要在背景的配置檔案中添加。

3)修改/usr/local/smokeping/etc/config 後,必須重新開機smokeping 程式,配置才會生效

4)smokeping 會根據配置檔案config

在/usr/local/smokeping/data 之下添加moniter檔案夾,其下包含website子檔案夾

5)用vmware

workstation的虛拟機測試有一點好處,workstation下的虛拟網卡可以設定出入的丢包率,适合smokeping做丢包測試, 經過測試smokeping檢測出的丢包率與vmware worksation虛拟網卡設定的丢包率基本相同,也就是說smokeping 能夠反應網絡的真實狀況。

Other

menu = 三大網絡監控

title = 監控統計

++ dianxin

menu = 電信網絡監控

title = 電信網絡監控清單

host = /Other/dianxin/dianxin-bj

/Other/dianxin/dianxin-hlj /Other/dianxin/dianxin-tj /Other/dianxin/dianxin-sc /Other/dianxin/dianxin-sh

/Other/dianxin/dianxin-gz

+++ dianxin-bj

menu = 北京電信

title = 北京電信

alerts = someloss

host = 202.96.199.133

+++ dianxin-hlj

menu = 黑龍江電信

title = 黑龍江電信

host = 219.147.198.242

+++ dianxin-tj

menu = 天津電信

title = 天津電信

host = 219.150.32.132

+++ dianxin-sc

menu = 四川電信

title = 四川電信

host = 61.139.2.69

+++ dianxin-sh

menu = 上海電信

title = 上海電信

host = 116.228.111.118

+++ dianxin-gz

menu = 廣東電信

title = 廣東電信

host = 113.111.211.22

++ liantong

menu = 聯通網絡監控

title = 聯通網絡監控清單

host = /Other/liantong/liantong-bj /Other/liantong/liantong-hlj

/Other/liantong/liantong-tj

/Other/liantong/liantong-sc

/Other/liantong/liantong-sh /Other/liantong/liantong-gz

+++ liantong-bj

menu = 北京聯通

title = 北京聯通

host = 61.135.169.121

+++ liantong-hlj

menu = 黑龍江聯通

title = 黑龍江聯通

host = 202.97.224.69

+++ liantong-tj

menu = 天津聯通

title = 天津聯通

host = 202.99.96.68

+++ liantong-sc

menu = 四川聯通

title = 四川聯通

host = 119.6.6.6

+++ liantong-sh

menu = 上海聯通

title = 上海聯通

host = 210.22.84.3

+++ liantong-gz

menu = 廣東聯通

title = 廣東聯通

host = 221.5.88.88

++ yidong

menu = 移動網絡監控

title = 移動網絡監控清單

host = /Other/yidong/yidong-bj

/Other/yidong/yidong-hlj /Other/yidong/yidong-tj /Other/yidong/yidong-sc /Other/yidong/yidong-sh

/Other/yidong/yidong-gz

+++ yidong-bj

menu = 北京移動

title = 北京移動

host = 221.130.33.52

+++ yidong-hlj

menu = 黑龍江移動

title = 黑龍江移動

host = 211.137.241.35

+++ yidong-tj

menu = 天津移動

title = 天津移動

host = 211.137.160.5

+++ yidong-sc

menu = 四川移動

title = 四川移動

host = 218.201.4.3

+++ yidong-sh

menu = 上海移動

title = 上海移動

host = 117.131.19.23

+++ yidong-gz

menu = 廣東移動

title = 廣東移動

host = 211.136.192.6

本文轉自 Tenderrain 51CTO部落格,原文連結:http://blog.51cto.com/tenderrain/2062721