天天看點

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開機腳本

<code>在</code><code>/etc/init</code><code>.d目錄下建立smokeing的檔案,内容如下:</code>

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

<code> </code><code>#</code>

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

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

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

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

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

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

<code> </code><code>start() {</code>

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

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

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

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

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

<code> </code><code>echo</code>

<code> </code><code>}</code>

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

<code> </code><code>stop() {</code>

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

<code> </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> </code><code>### Now, delete the lock file ###</code>

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

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

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

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

<code> </code><code>start)</code>

<code> </code><code>start</code>

<code> </code><code>;;</code>

<code> </code><code>stop)</code>

<code> </code><code>stop</code>

<code> </code><code>status)</code>

<code> </code><code>status Smokeping</code>

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

<code> </code><code>*)</code>

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

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

<code> </code><code>esac</code>

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

9、開啟smokeping服務

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

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

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

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

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

<code>然後我們可以通過http:</code><code>//192</code><code>.168.1.144</code><code>/smokeping</code><code>.cgi,輸入使用者名和密碼進入smokeping了</code>

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>[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、其它資料

<code>檢查smokeping的配置檔案</code>

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

<code>title代表的是右邊圖檔顯示的标題,memu代表的是左邊的菜單</code>

本文轉自 冰凍vs西瓜 51CTO部落格,原文連結:http://blog.51cto.com/molewan/1764246,如需轉載請自行聯系原作者