天天看点

使用smokeping监测机房网络质量

smokeping服务端测试:

1、调整防火墙的设置

<code>[root@C65-A1 ~]</code><code># /etc/init.d/iptables stop</code>

<code>iptables: Setting chains to policy ACCEPT: filter          [  OK  ]</code>

<code>iptables: Flushing firewall rules:                         [  OK  ]</code>

<code>iptables: Unloading modules:                               [  OK  ]</code>

<code>[root@C65-A1 ~]</code><code># chkconfig iptables off</code>

<code>[root@C65-A1 ~]</code><code># getenforce </code>

<code>Enforcing</code>

<code>[root@C65-A1 ~]</code><code># setenforce 0</code>

<code>[root@C65-A1 ~]</code><code># vim /etc/sysconfig/selinux</code>

<code>将“SELINUX=enforcing”改为“SELINUX=disabled”</code>

2、修改yum安装源

<code>[root@C65-A1 ~]</code><code># vim /etc/sysconfig/selinux </code>

<code>[root@C65-A1 ~]</code><code># rpm -Uvh http://apt.sw.be/redhat/el6/en/x86_64/rpmforge/RPMS/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm</code>

<code>Retrieving http:</code><code>//apt</code><code>.sw.be</code><code>/redhat/el6/en/x86_64/rpmforge/RPMS/rpmforge-release-0</code><code>.5.3-1.el6.rf.x86_64.rpm</code>

<code>warning: </code><code>/var/tmp/rpm-tmp</code><code>.7A2TOZ: Header V3 DSA</code><code>/SHA1</code> <code>Signature, key ID 6b8d79e6: NOKEY</code>

<code>Preparing...                </code><code>########################################### [100%]</code>

<code>   </code><code>1:rpmforge-release       </code><code>########################################### [100%]</code>

3、安装rrdtool与依赖库

<code>[root@C65-A1 ~]</code><code># 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</code>

4、安装smokeping

<code>[root@C65-A1 ~]</code><code># tar zxvf smokeping-2.6.9.tar.gz</code>

<code>[root@C65-A1 ~]</code><code># cd smokeping-2.6.9</code>

<code>出现问题是因为需要安装perl的模块,所以运行下面内容即可</code>

<code>[root@C65-A1 ~]</code><code># ./setup/build-perl-modules.sh /usr/local/smokeping/thirdparty</code>

<code>[root@C65-A1 ~]</code><code># ./configure --prefix=/usr/local/smokeping</code>

<code>[root@C65-A1 ~]</code><code># /usr/bin/gmake install</code>

5、配置smokeping

<code>[root@C65-A1 smokeping-2.6.9]</code><code># cd /usr/local/smokeping/</code>

<code>[root@C65-A1 smokeping]</code><code># mkdir -p var cache data</code>

<code>[root@C65-A1 smokeping]</code><code># touch /var/log/smokeping.log</code>

<code>[root@C65-A1 smokeping]</code><code># chown apache:apache var cache data</code>

<code>[root@C65-A1 smokeping]</code><code># chown apache:apache /var/log/smokeping.log </code>

<code>[root@C65-A1 smokeping]</code><code># ls</code>

<code>bin  cache  data  etc  htdocs  lib  share  thirdparty  var</code>

<code>[root@C65-A1 smokeping]</code><code># cd /usr/local/smokeping/htdocs/</code>

<code>[root@C65-A1 htdocs]</code><code># ls</code>

<code>cropper  smokeping.fcgi.dist</code>

<code>[root@C65-A1 htdocs]</code><code># cp -p smokeping.fcgi.dist /tmp/</code>

<code>[root@C65-A1 htdocs]</code><code># mv smokeping.fcgi.dist smokeping.fcgi</code>

<code>[root@C65-A1 htdocs]</code><code># cd /usr/local/smokeping/etc/</code>

<code>[root@C65-A1 etc]</code><code># ls</code>

<code>basepage.html.dist  examples        smokeping_secrets.dist</code>

<code>config.dist         smokemail.dist  tmail.dist</code>

<code>[root@C65-A1 etc]</code><code># cp -p config.dist /tmp/</code>

<code>[root@C65-A1 etc]</code><code># mv config.dist config</code>

<code>[root@C65-A1 etc]</code><code># vim config </code>

<code>a. 将“cgiurl   = http:</code><code>//some</code><code>.url</code><code>/smokeping</code><code>.cgi”修改为“cgiurl   = http:</code><code>//192</code><code>.168.1.14</code><code>/smokeping</code><code>.cgi”</code>

<code>b. 将 *** Database *** 中的“step     = 300”修改为</code><code>"step     = 60"</code><code>,每分钟取样一次</code>

<code>      </code><code>step     = 300</code>

<code>      </code><code>pings    = 20</code>

<code>[root@C65-A1 etc]</code><code># chmod 600 /usr/local/smokeping/etc/smokeping_secrets.dist</code>

<code>备注:修改密码文件权限</code>

6、调整apache的配置

<code>[root@C65-A1 etc]</code><code># vim /etc/httpd/conf/httpd.conf</code>

<code>添加如下信息:</code>

<code>###set for smokeping###</code>

<code>Alias </code><code>/cache</code> <code>"/usr/local/smokeping/cache/"</code>

<code>Alias </code><code>/cropper</code> <code>"/usr/local/smokeping/htdocs/cropper/"</code>

<code>Alias </code><code>/smokeping</code> <code>"/usr/local/smokeping/htdocs/smokeping.fcgi"</code>

<code>&lt;Directory </code><code>"/usr/local/smokeping"</code><code>&gt;</code>

<code>AllowOverride None</code>

<code>Options All</code>

<code>AddHandler cgi-script .fcgi .cgi</code>

<code>AllowOverride AuthConfig</code>

<code>Order allow,deny</code>

<code>Allow from all</code>

<code>AuthName </code><code>"Smokeping"</code>

<code>AuthType Basic</code>

<code>AuthUserFile </code><code>/usr/local/smokeping/htdocs/htpasswd</code>

<code>Require valid-user</code>

<code>DirectoryIndex smokeping.fcgi</code>

<code>&lt;</code><code>/Directory</code><code>&gt;</code>

<code>[root@C65-A1 etc]</code><code># cd /usr/local/smokeping/htdocs/</code>

<code>[root@C65-A1 htdocs]</code><code># htpasswd -c /usr/local/smokeping/htdocs/htpasswd admin</code>

<code>New password: </code>

<code>Re-</code><code>type</code> <code>new password: </code>

<code>Adding password </code><code>for</code> <code>user admin</code>

7、设置smokeping开机启动

<code>[root@C65-A1 etc]</code><code># echo "/usr/local/smokeping/bin/smokeping --logfile=/var/log/smokeping.log 2&gt;&amp;1 &amp;" &gt;&gt; /etc/rc.local</code>

8、添加smokeping开机脚本

在/etc/init.d目录下新建smokeping的文件,内容如下:

<code>#!/bin/bash</code>

<code>#</code>

<code># chkconfig: 2345 80 05</code>

<code># Description: Smokeping init.d script</code>

<code># Hacked by : jeff kang - http://www.jffnms.net</code>

<code># Get function from functions library</code>

<code>. </code><code>/etc/init</code><code>.d</code><code>/functions</code>

<code># Start the service Smokeping</code>

<code>start() {</code>

<code>echo</code> <code>-n </code><code>"Starting Smokeping: "</code>

<code>/usr/local/smokeping/bin/smokeping</code> <code>&gt;</code><code>/dev/null</code> <code>2&gt;&amp;1</code>

<code>### Create the lock file ###</code>

<code>touch</code> <code>/var/lock/subsys/smokeping</code>

<code>success $</code><code>"Smokeping startup"</code>

<code>echo</code>

<code>}</code>

<code># Restart the service Smokeping</code>

<code>stop() {</code>

<code>echo</code> <code>-n </code><code>"Stopping Smokeping: "</code>

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

<code>### Now, delete the lock file ###</code>

<code>rm</code> <code>-f </code><code>/var/lock/subsys/smokeping</code>

<code>success $</code><code>"Smokeping shutdown"</code>

<code>### main logic ###</code>

<code>case</code> <code>"$1"</code> <code>in</code>

<code>start)</code>

<code>start</code>

<code>;;</code>

<code>stop)</code>

<code>stop</code>

<code>status)</code>

<code>status Smokeping</code>

<code>restart|reload|condrestart)</code>

<code>*)</code>

<code>echo</code> <code>$</code><code>"Usage: $0 {start|stop|restart|reload|status}"</code>

<code>exit</code> <code>1</code>

<code>esac</code>

<code>exit</code> <code>0</code>

9、开启smokeping服务

[root@C65-A1 init.d]# chmod +x smokeping

[root@C65-A1 init.d]# /etc/init.d/smokeping start

Starting Smokeping:                                        [  OK  ]

[root@C65-A1 init.d]# ps -ef | grep smokeping 

root       9670      1  0 17:42 ?        00:00:00 /usr/local/smokeping/bin/smokeping [FPing]

root       9673   1264  0 17:42 pts/0    00:00:00 grep smokeping

然后我们可以通过http://192.168.1.144/smokeping.cgi,输入用户名和密码进入smokeping了

10、smokeping里面开启中文支持并安装中文字体

<code>[root@C65-A1 htdocs]</code><code># vim /usr/local/smokeping/etc/config </code>

<code>如果需要在网页里展示中文,修改</code><code>/usr/local/smokeping/etc/config</code><code>文件</code>

<code>*** Presentation ***</code>

<code>charset = utf-8 </code><code>//</code><code>注:在这里添加</code>

<code>[root@C65-A1 htdocs]</code><code># yum -y install wqy*</code>

11、添加监控信息,重启服务,使配置生效

<code>[root@C65-A1 htdocs]</code><code># /etc/init.d/smokeping stop</code>

<code>Stopping Smokeping:                                        [  OK  ]</code>

<code>[root@C65-A1 htdocs]</code><code># /etc/init.d/smokeping start</code>

<code>Starting Smokeping:                                        [  OK  ]</code>

<code>[root@C65-A1 htdocs]</code><code># ps -ef | grep smokeping</code>

<code>root       9861      1  0 18:04 ?        00:00:00 </code><code>/usr/local/smokeping/bin/smokeping</code> <code>[FPing]</code>

<code>root       9864   1442  0 18:04 pts</code><code>/1</code>    <code>00:00:00 </code><code>grep</code> <code>smokeping</code>

12、其它资料

检查smokeping的配置文件

<code>[root@C65-A1 htdocs]</code><code># /usr/local/smokeping/bin/smokeping --check</code>

<code>Configuration </code><code>file</code> <code>'/usr/local/smokeping/bin/../etc/config'</code> <code>syntax OK.</code>

<code>[root@C65-A1 htdocs]</code><code># /usr/local/smokeping/bin/smokeping --help</code>

<code>说明:</code>

<code>+ Gansu </code><code>//</code><code>注意,这里加号后面的必须是英文,不能是中文</code>

<code>menu = 甘肃</code>

<code>title = 甘肃</code>

<code>++ Daliang </code><code>//</code><code>同样,这里‘++’后面的必须是英文,+和++后面的内容是不会被现实的,只是起一个命名的作用。</code>

<code>menu =大梁</code>

<code>title =大梁:10.138.1.11</code>

<code>host = 10.138.1.11</code>

<code>alerts = someloss</code>

<code>一级、二级、三级目录的结构:</code>

<code>+ yiji</code>

<code>menu = 一级</code>

<code>title = 一级</code>

<code>++ erji</code>

<code>menu = 二级</code>

<code>title = 二级</code>

<code>+++ sanji</code>

<code>menu = sanji</code>

<code>title =sanji:10.138.16.54</code>

<code>host = 10.138.16.54</code>

说明:title代表的是右边图片显示的标题,memu代表的是左边的菜单

13、监控显示界面

<a href="https://s1.51cto.com/wyfs02/M01/8F/94/wKiom1jl217DmnUlAAEXEX2cvjw780.jpg" target="_blank"></a>

<a href="http://down.51cto.com/data/2366561" target="_blank">附件:http://down.51cto.com/data/2366561</a>

本文转自 冰冻vs西瓜 51CTO博客,原文链接:http://blog.51cto.com/molewan/1913395,如需转载请自行联系原作者