smokeping簡介:linux
smokeping是rrdtool的做者Tobi Oetiker的做品,因此它在圖形顯示方面有很大優點,也是一個頗有特色的opensource工具:多種探測方式,包括fping、echoping、dig、curl等;能夠在多個節點收集同一個監測點的數據;頗有特點的alert設置,不僅是簡單的設置一個閥值;apache
Smokeping 是一款用於網絡性能監測的監控軟件,經過它能夠在本身公司IDC的網絡情況,如延時,丟包率,是否BGP多線等,經過rrdtool製圖方式,圖形化地展現網絡的時延狀況,進而可以清楚的判斷出網絡的即時通訊狀況,能夠監視www服務器性能,監視dns查詢性能,監視ssh性能等vim
安裝配置smokeping瀏覽器
[root@smokeping ~]# cat /etc/redhat-release CentOS release 6.5 (Final) [root@smokeping ~]# uname -a Linux smokeping 2.6.32-431.el6.x86_64 #1 SMP Fri Nov 22 03:15:09 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
安裝依賴包bash
yum install -y perl perl-Net-Telnet perl-Net-DNS perl-LDAP perl-libwww-perl perl-IO-Socket-SSL perl-Socket6 perl-Time-HiRes perl-ExtUtils-MakeMaker rrdtool rrdtool-perl curl 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 popt popt-devel libidn libidn-devel
上傳下面三個軟件服務器
[root@smokeping ~]# ls echoping-6.0.2.tar.gz fping-3.10.tar.gz smokeping-2.6.10.tar.gz
編譯、安裝fping和echoping網絡
[root@smokeping ~]# tar xf fping-3.10.tar.gz -C /usr/src/ [root@smokeping ~]# cd /usr/src/fping-3.10/ [root@smokeping fping-3.10]# ./configure [root@smokeping fping-3.10]# make [root@smokeping fping-3.10]# make install [root@smokeping fping-3.10]# tar xf /root/echoping-6.0.2.tar.gz -C /usr/src/ [root@smokeping fping-3.10]# cd ../echoping-6.0.2/ [root@smokeping echoping-6.0.2]# yum -y install popt popt-devel [root@smokeping echoping-6.0.2]# yum -y install libidn libidn-devel [root@smokeping echoping-6.0.2]# ./configure && make && make install 如報錯: configure: error: Missing popt library, get it from ftp://ftp.rpm.org/pub/rpm/dist/rpm-x.y.z 解決辦法: yum install -y popt-devel 繼續報錯: configure: error: Get the GNU libidn library (http://www.josefsson.org/libidn/) in order to use Unicode - multi-script - domain names or use --without-libidn to disable it 解決辦法: ./configure --prefix=/usr/local/echoping --with-ssl --without-libidn 報錯: configure: error: Get the OpenSSL library (http://www.openssl.org/) 解決辦法: yum install -y openssl openssl-devel
安裝smokepingdom
[root@smokeping echoping-6.0.2]# tar xf /root/smokeping-2.6.9.tar.gz -C /usr/src/ [root@smokeping echoping-6.0.2]# cd ../smokeping-2.6.9/ [root@smokeping smokeping-2.6.9]# mkdir -p /usr/local/smokeping/thirdparty [root@smokeping smokeping-2.6.9]# ./setup/build-perl-modules.sh /usr/local/smokeping/thirdparty [root@smokeping smokeping-2.6.9]# ./configure --prefix=/usr/local/smokeping/ [root@smokeping smokeping-2.6.9]# /usr/bin/gmake install
配置smokepingssh
[root@smokeping smokeping-2.6.9]# cd /usr/local/smokeping/ [root@smokeping smokeping]# mkdir cache data var [root@smokeping smokeping]# touch /var/log/smokeping.log [root@smokeping smokeping]# chown apache:apache cache data var [root@smokeping smokeping]# chown apache:apache /var/log/smokeping.log [root@smokeping smokeping]# chmod 600 /usr/local/smokeping/etc/smokeping_secrets.dist [root@smokeping smokeping]# cd /usr/local/smokeping/htdocs/ [root@smokeping htdocs]# mv smokeping.fcgi.dist smokeping.fcgi [root@smokeping htdocs]# cd /usr/local/smokeping/etc/ [root@smokeping etc]# mv config.dist config [root@smokeping etc]# vim /usr/local/smokeping/etc/config 修改以下: 14 cgiurl = http://192.168.8.30/smokeping.cgi 33 *** Database *** 34 35 step = 60 #建議爲60 一分鐘採集一次數據 36 pings = 20 #建議爲20 每20秒測試一次
109 binary = /usr/local/sbin/fping
編輯Apache配置文件curl
[root@smokeping etc]# vim /etc/httpd/conf/httpd.conf ServerName 192.168.8.30 在文件最後加入 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 DirectoryIndex smokeping.fcgi </Directory>
調整字體庫
圖像界面的中文支持
[root@smokeping etc]# yum -y install wqy-zenhei-fonts.noarch [root@smokeping etc]# vim /usr/local/smokeping/etc/config 50 charset = utf-8 #添加此行 [root@smokeping etc]# vim /usr/local/smokeping/lib/Smokeping/Graphs.pm 148 '--font TITLE:20:"WenQuanYi Zen Hei Mono"', 添加此行
配置測試數據,進行監測
[root@smokeping etc]# vim /usr/local/smokeping/etc/config 在配置文件最後添加: + 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 = 黑龍江電信 alerts = someloss host = 219.147.198.242 +++ dianxin-tj menu = 天津電信 title = 天津電信 alerts = someloss host = 219.150.32.132 +++ dianxin-sc menu = 四川電信 title = 四川電信 alerts = someloss host = 61.139.2.69 +++ dianxin-sh menu = 上海電信 title = 上海電信 alerts = someloss host = 116.228.111.118 +++ dianxin-gz menu = 廣東電信 title = 廣東電信 alerts = someloss 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 = 北京聯通 alerts = someloss host = 61.135.169.121 +++ liantong-hlj menu = 黑龍江聯通 title = 黑龍江聯通 alerts = someloss host = 202.97.224.69 +++ liantong-tj menu = 天津聯通 title = 天津聯通 alerts = someloss host = 202.99.96.68 +++ liantong-sc menu = 四川聯通 title = 四川聯通 alerts = someloss host = 119.6.6.6 +++ liantong-sh menu = 上海聯通 title = 上海聯通 alerts = someloss host = 210.22.84.3 +++ liantong-gz menu = 廣東聯通 title = 廣東聯通 alerts = someloss 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 = 北京移動 alerts = someloss host = 221.130.33.52 +++ yidong-hlj menu = 黑龍江移動 title = 黑龍江移動 alerts = someloss host = 211.137.241.35 +++ yidong-tj menu = 天津移動 title = 天津移動 alerts = someloss host = 211.137.160.5 +++ yidong-sc menu = 四川移動 title = 四川移動 alerts = someloss host = 218.201.4.3 +++ yidong-sh menu = 上海移動 title = 上海移動 alerts = someloss host = 117.131.19.23 +++ yidong-gz menu = 廣東移動 title = 廣東移動 alerts = someloss host = 211.136.192.6
啓動服務
[root@smokeping etc]# echo 'export PATH=/usr/local/smokeping/bin/:$PATH' >> /etc/profile [root@smokeping etc]# /etc/init.d/httpd start 正在啓動 httpd: [肯定] [root@smokeping etc]# /usr/local/smokeping/bin/smokeping WARNING: Hostname 'james.address' does currently not resolve to an IPv6 or IPv4 address Note: logging to syslog as local0/info. Daemonizing /usr/local/smokeping/bin/smokeping ... #warning可忽略
瀏覽器訪問 http://IP地址/smokeping
效果展現:
最後附上smokeping的圖標參數說明: