[root @tsai
/root]# cd /usr/local/src
[root @tsai src]# cp /root/ucd-snmp-4.2.1.tar.gz . [root @tsai src]# tar -zxvf ucd-snmp-4.2.1.tar.gz [root @tsai src]# cd ucd-snmp-4.2.1 [root @tsai ucd-snmp-4.2.1]# ./configure --prefix=/usr/local/snmp .......(过程我就省略了) ************** Configuration Section **************
You are about to be prompted by a series of questions. Answer
After the configure script finishes, you can browse the newly
-Press return to continue- (这里按 enter 吧) disabling above
prompt for future runs... yes
*** System Contact Information:
Describes who should be contacted about the host the agent is
System Contact
Information (root@):root@tsai.adsldns.org (这里输入你的
e-mail)
*** System Location:
Describes the location of the system. This information is
System Location
(Unknown):RedHat 6.1 (这里可以随便输入,不正确也没关系)
*** Logfile location:
Enter the default location for the snmpd agent to dump
Location to
write logfile (/var/log/snmpd.log):(按 enter
即可)
*** snmpd persistent storage location:
Enter a directory for the snmp library to store persistent
Location to write persistent information (/var/ucd-snmp):(按 enter 即可) [root @tsai
ucd-snmp-4.2.1]# make
|
[root
@tsai /root]# cd /usr/local/src
[root @tsai src]# cp /root/mrtg-2.9.17.tar.gz . [root @tsai src]# tar -zxvf mrtg-2.9.17.tar.gz [root @tsai src]# cd mrtg-2.9.17 [root @tsai mrtg-2.9.17]# ./configure --prefix=/usr/local/mrtg-2 \ > --with-gd=/usr/include \ > --with-gd-lib=/usr/lib \ > --with-gd-inc=/usr/include \ > --with-png=/usr/include \ > --with-zlib=/usr/include [root @tsai
mrtg-2.9.17]# make; make install
|
[root @tsai
mrtg-2.9.17]# cd /usr/local/mrtg-2/bin
[root @tsai bin]# ./cfgmaker --output=/usr/local/apache/htdocs/mrtg/net/mrtg.cfg \ > public@vbird.adsldns.org 上面这个步骤会在你的主机上面制造一个参数文件, 而你未来的设定都会自动的在这个参数档中设定完成了! [root @tsai
bin]# vi /usr/local/apache/htdocs/mrtg/net/mrtg.cfg
[root @tsai
bin]# ./mrtg /usr/local/apache/htdocs/mrtg/net/mrtg.cfg
[root @tsai
bin]# ./indexmaker \
|
[root @tsai
bin]# vi /etc/crontab
#1. Runing The
MRTG Net Flow Control
|
- Target[装置名称]:
- Target[vbird.adsldns.org_2]: 2: public@192.168.1.2
上面是一般的用法,其中半括号内的是装置的名称,同一个装置的各参数中,这个名称要一致!
- Target[vbird.adsldns.org_3]:`/usr/local/apache/htdocs/mrtg/cpu/mrtg.cpu`
后面接的是一个自订的加挂的可执行档案,这个档案执行之后,会显示四个数据,这样就可以绘图了!在绘制非 MRTG 程序的预设咚咚中,这个是最常使用的方法了!
- MaxBytes[装置名称]:
- MaxBytes[vbird.adsldns.org_2]: 1250000
后面的数字代表数据监测时,最大的传送速率,使用 bytes,所以 10Mbps 则为 1.25MBytes,大约是 1250000 Bytes。这个数值程序会自动判断啦!不过你也可以自己修改,用到这个数字的时候是在你的图表下方,每一个说明后面的(xx%)时用到的。
- MaxBytes[vbird.adsldns.org_3]: 100
如果你的数据并不是 Bytes 时,例如监测 CPU 负载率时,那这个数值就需要改变啦!
- Options[装置名称]:
- Options[vbird.adsldns.org_2]: growright, bits (用在网络流量中)
- Options[vbird.adsldns.org_3]: growright, nopercent, gauge (用在 CPU 负载中)
growright:将数据随时间变化的顺序以右而左绘图;
bits:数据单位为 bits;
nopercent:在图下方的说明文字中,不显示百分比;
gauge:图表的上限固定!
[root @tsai
cpu]# vi mrtg.cpu
---- 档案开始
----
# 2. 列出四个数据(前两个为数字)
[root @tsai
cpu]# chmod 755 mrtg.cpu (设定成可执行)
|
[root @tsai
cpu]# vi mrtg.cfg.cpu
---- 档案开始
----
Target[localhost]:
`/usr/local/apache/htdocs/mrtg/cpu/mrtg.cpu`
|
这样就OK了,直接将 Web 指向 http://your.host.domain/mrtg/cpu/localhost.html
重点说完了!再来说说 sar 吧!基本上, sar 可以用来侦测很多的咚咚,例如:
- sar -u 1 5 :每一秒钟测一次 cpu ,共计五次后算平均;
- sar -r 3 3:每三秒看一次实体与虚拟内存用量,三次后算平均!
- 其它的功能有待你的发掘啰!
[root @tsai
root]# netstat -a | more
Active Internet connections (including servers) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 *:ftp *:* LISTEN tcp 0 0 *:telnet *:* LISTEN tcp 0 0 *:pop-2 *:* LISTEN tcp 0 0 *:pop-3 *:* LISTEN tcp 0 0 *:imap2 *:* LISTEN tcp 0 0 *:smtp *:* LISTEN tcp 0 0 *:www *:* LISTEN tcp 0 0 tsai.adsldns.org:www 211.72.119.19:58298 SYN_RECV tcp 0 0 *:mysql *:* LISTEN tcp 0 0 *:netbios-ssn *:* LISTEN tcp 0 57920 tsai.adsldns.org:www 211.75.193.100:2965 ESTABLISHED tcp 0 57920 tsai.adsldns.org:www 211.75.193.100:2966 ESTABLISHED tcp 0 57920 tsai.adsldns.org:www 211.75.193.100:2967 ESTABLISHED tcp 0 57920 tsai.adsldns.org:www 211.75.193.100:2968 ESTABLISHED tcp 0 57920 tsai.adsldns.org:www 211.75.193.100:2969 ESTABLISHED tcp 0 1 tsai.adsldns.org:www 202.98.131.11:4374 FIN_WAIT1 tcp 0 1 tsai.adsldns.org:www 202.98.131.11:4404 FIN_WAIT1 tcp 0 1 tsai.adsldns.org:www 202.98.131.11:4413 FIN_WAIT1 tcp 0 1 tsai.adsldns.org:www 202.98.131.11:4453 FIN_WAIT1 以下省略! |
我们可以很清楚的发现:使用 netstat 可以查到 WWW 的联机数目,那只要将这些数目作一些重复性分析,以去除重复的 IP 网址后,不就可以知道以 WWW 方法上网联机的实时人数了嘛!这就是我们侦测的主要原理了!
[root @tsai
root]# vi mrtg.person.sh
档案开始: #!/bin/bash # 这个程序主要在计算有多少人以 WWW 的方式联机进我们的主机! # 1. 计算联机的数目
# 2. 计算联机人数:
# 3. 输出时间咚咚
|
在上面的式子中,你可以执行出你所需要的咚咚啰!你也可以将 mrtg.person.sh 这个档案捉下去直接修改!所需要变更的就只有 最后一行的 your.host.name 要改啰!改成您的主机名称吧!并且将这个档案改成可以执行的状态:
[root @tsai
root]# vi mrtg.cfg.person
档案开始: # Created by # VBird 2001/10/29 ### Global Config
Options
### CPU Loading
detecting ...
|
要注意的仅是 `/usr/local/mrtg-2/bin/mrtg.person.sh` 这一行字!这个就是我们刚刚才写成的 scripts 啦!然后同样的,执行
[root@vbird mrtg]# /usr/local/mrtg-2/bin/cfgmaker public@192.168.1.11 > mrtg.cfg.vbird |
注意啰! public 是预设的指令,后面接的是你的 IP
(当然也可以是 domain 说)。这样一来,就可以做出一个参数档案,名称为 mrtg.cfg.vbird,我们来看一看这个档案的大概内容吧!
[root@vbird
mrtg]# vi mrtg.cfg.vbird
# Created by # /usr/local/mrtg-2/bin/cfgmaker public@192.168.1.11 ### Global Config Options WorkDir: /usr/local/apache/htdocs/mrtg/ Options[_]: growright, bits Target[192.168.1.11_16777219]:
16777219:public@192.168.1.11:
|
MRTG 流量侦测到此为止介绍的都是属于 NT 或者是 Linux 上面的讯息,那要如何侦测 Windows 98 的系统呢?毕竟使用这个系统的用户并不少呀!OK!侦测 Windows 系统,最主要的就是要有 snmp 啦!只要有 snmp 之后,往后的工作就都完全一模一样了!哪我们就在 Windows98 上面安装 snmp 的服务吧!其实, snmp 套件已经在 windows 98 的原版光盘中了,你可以到原版 98 光盘的 /tools/reskit/netadmin/snmp 这个路径下找到以下仅提供 snmp 在 windows98 下的安装方法,至于侦测的方法则与 Windows 2000 的情况一模一样!目前我已经在 Linux 上以 MRTG 成功的将研究室所有的计算机之网络卡流量侦测了!往后将可便利于管理整个研究室的网络流量,并可以藉以分析是否有不明人士乱玩网络.....
- 你可以在 windows 98 下按下『开始』>『控制台』>『网络』,或者是在桌面的『网络上的芳邻』按『右键』选『内容』,会出现如下方框:
![]()
- 请按下『新增』之后,出现:
![]()
- 选择『服务』的项目后,并按下『新增』:
![]()
- 然后再选择『从磁盘安装』这一项!并将你的 snmp 套件指向你的原版 windows 98 光盘!
![]()
- 按下确定之后,再按一次确定!即可安装 snmp 套件啰!
![]()
- 就像这样,出现了这个东西!按下确定吧!开始安装啰!
![]()
- 有没有看到如下图所示! Microsoft SNMP agent 已经出现了!表示安装完毕!
在写出这一篇文章之后,收到网友们的热情支持!让小弟不甚惶恐!不过,这里面也出现了一些问题是当初所没有发现的!以下就来说说问题的所在吧!
- 我的 Red Hat 本身就有 snmp 了,可不可以不要安装 ucd-snmp 这个套件呢?
当然了,Red Hat 本身就有 snmp 这个通讯服务存在了,可能的话当然就不要去动他比较好啰!不过,要让你的 Red Hat 预设的 snmp 能动,那就一定需要修改 /etc/snmp/snmpd.conf 这个档案!不过,小弟对于 snmpd.conf 的设定还不是很了解!因此,就会直接建议您,干脆移除预设的 ucd-snmp 之后,重新安装新版的吧!设定上比较简单啦!当然,如果您英文不错的话, /etc/snmp/snmpd.conf 这个档案可要多看一些喔!
- 为何作完了 ./cfgmaker 这个动作之后,再执行 ./mrtg 时,会出现:『ERROR: Line 9 』的问题?
这个是大家最容易犯的错了,其实,就是在 public@your.hosts.name 这一个地方写错了!请千万注意, public 是有意义的代码,请不要将这一行写成你的 e-mail 了!不然就会造成错误情况发生!