rrdtool ±Ð¾Ç
ÅwªïÂà¸ü ,¦ý¦³¥ô¦ó­×§ï½Ð¨Ó«H§iª¾,¤£±o§@¬°°Ó·~¥Î³~
§@ªÌ: abelyang <abelyang{at}twnic{dot}net{dot}tw>
version: 0.3
³Ì«á­×¥¿®É¶¡: 2003/08/27 00:10
Âà¸ü®É½Ð«O«ù¦¹¤@«Å§i

«e¨¥
(http://www.rrdtool.org)
¤°»ò¬O rrdtool ©O ? ¨ä¹ê¥L©M mrtg ¬O¦P¤@®a±Ú, ¥D­n³£¬O¦b²£¥Í time-series ªº¹ÏÀÉ(¦p¬y¶q,­t¸ü,·Å«×,¤H¼Æ.....),¤£¹L¦]¬° mrtg ·íªìªº¦Ò¶q¬Oµe¨âºØ¸ê®Æ¦b¹Ï¤W(©Î¥|­Ó­È),«á¨Ó­ì§@ªÌı±o¤£¨¬,©Ò¥H¥t¥~¤S¶}µo¤F rrdtool, rrdtool ¥»¨­¥i©M mrtg µ²¦X,¦ý¨äµ²¦X°ò¥»¤W¶È¦b©ó±N mrtg ªº¤å¦rÀɪºlog Âন rrd Àx¦s®æ¦¡,³q±` user ©|»Ý­n mrtg-rrd/rrdcgi ¥hÂà´«,¤£¹LÁ`ı±o¬ü¤¤¤£¨¬,¦]¬°³Ì²×¨ä¹ê§A¥Î¨ìªºÁÙ¬O rrdtool,ÁöµMÁÙ¦³¹³ my14all (http://my14all.sourceforge.net/) ³oÃþªº tools ¥i¥HÂà´«¨Ãµe¹Ï,¦ý¨ä°l®Ú¨s©³ ÁÙ¬O¥H rrdtool ¬° base, ©Ò¥H rrdtool Åܦ¨¤F³Ì²×¤]¬O³Ì¦nªº¿ï¾Ü¡C

¥­¤ß¦Ó½× rrdtool ªº¾Ç²ß»·¤ñ mrtg ¨Ó±o§xÃø,¥B¬ÛÃö¤å¥ó¸ê®Æ¤]¨S¦³ mrtg¦h,¨ä¤¤¤¤¤åªº°Ñ¦Ò¤S´X¥G¨S¦³,¦pªG¨S¦³¸û²`«pªº Linux °ò¦(¤×¨ä¬O Shell Script) ©Î¤F¸Ñ SNMP,À´±o­^¤å¤Î¦n¾Çªº¤ß,§_«h¬O¤£«Øij¾Ç²ß rrdtool ªº.¦]¬°§A¥i¯à«ÜÃø¥h±±¨î©ÎÀò±o§A©Ò­nªº¸ê®Æ,¥ç¥i¯àÃø©óªí²{¹ÏÀÉ¡C

·íµM,¨C­Ó¤H¬Ýªk¤£¨£±o¬Û¦P,§¹¥þ¬Ý­Ó¤H»Ý­n¦Ó©w,´N¹³¥Î mrtg µe CPU Load, Memory Usage,HTTP Client, Process...., ¯Â¨Ï¥Î mrtg ¬O¸û²³æ¥B¦n¥Îªº,¦ý¬O§A­n°µ«Ü¦h¹Ï,¨C±i¹Ï¤§¶¡ªºÃöÁp¥Í°ò¥»¤W¥i¯à»Ý­n§A¥Î²´·ú¥h§PÂ_.¦ý¦pªG¨Ï¥Îrrdtool ¥i¥HÅý§A¥|±iÅ|¦¨¤@±i,¦p¦¹¤]¸û¦n¤ñ¸û¥X¨ä¤¤ªº¦]ªGÃö«Y,¤£¹L¦¹®É§A±oÀ´±o±±¨î¹Ïªºªí²{¤è¦¡¨Ó¹F¨ìÅã¥Ü¤W³Ì¦nªºµ²ªG.°ò¥»¤W¾Ç rrdtool §¹¥þ¤£»Ý­n¦³ mrtg ªº¸gÅç. ¦ý³Ì¦n¹ï¨t²Î¸ê°TÀò±oªº¤èªk(cmd/ snmp/Shell Script )¼ô¤@ÂI·|¸û¦n³B²z.


³Ì¤j CPU ¯Â¨t²Î­t¸ü; 27.0 % ¥­§¡ CPU ¯Â¨t²Î­t¸ü;5.0 % ¥Ø«e CPU ¯Â¨t²Î­t¸ü; 0.0 %
³Ì¤j CPU ¨Ï¥ÎªÌ­t¸ü; 2.0 % ¥­§¡ CPU ¨Ï¥ÎªÌ­t¸ü;0.0 % ¥Ø«e CPU ¨Ï¥ÎªÌ­t¸ü; 0.0 %


³Ì¤j RAM ¨t²Î­t¸ü; 16.0 % ¥­§¡ RAM ¨t²Î­t¸ü; 4.0 % ¥Ø«e RAM ¨t²Î­t¸ü; 3.0 %
³Ì¤j RAM ¨Ï¥ÎªÌ­t¸ü; 1.0 % ¥­§¡ RAM ¨Ï¥ÎªÌ­t¸ü; 0.0 % ¥Ø«e RAM ¨Ï¥ÎªÌ­t¸ü; 0.0 %


³Ì¤j ³s½u¼Æ¥Ø : 91.0 % ¥­§¡ ³s½u¼Æ¥Ø : 3.0 % ¥Ø«e ³s½u¼Æ¥Ø : 1.0 %
³Ì¤j ¤W½u¤H¼Æ : 6.0 % ¥­§¡ ¤W½u¤H¼Æ : 0.0 % ¥Ø«e ¤W½u¤H¼Æ : 0.0 %

¨Ï¥Î rrdtool ¶×¾ã:

ºñ¦â¬° RAM ¤§¨Ï¥Î²v,ÂŦ⬰ CPU ­t¸ü,¦Ó¬õ¦â¨t«h¬°³s½u¼Æ,¦p¦¹,¥H¤T¦X¤@ªº¤è¦¡,§ó¯àÅã¥Ü³s½u¼Æ»P¨t²ÎªºÃö«Y(³o±i¹Ï¥i¥H¬Ý¥X¨ä¨S¦³¤Ó¤j¬ÛÃö)


¤U¸ü»P¦w¸Ë
¥h©xºô¤U¸ü tarball ©Î Google §ä RPM ¬Ò¥i,­Ó¤H³£²ßºD¥Î tarball ¸Ë,¦w¸Ë¤èªk¦P¤@¯ëªºµ{¦¡
$>./configure --prefix=/usr/local
$>make
$>make install

Complier ¹Lµ{¤¤·|¦³´X­Ó Warning,¦ý¬O¹ï¾ã­ÓÀô¹Ò¨Ã¨S¦³¼vÅT.°ò¥»¤W¦w¸Ë³¡¥÷³£¤£·|¦³¤°»ò°ÝÃD, rrdtool ªº tarball ¤º§Y¥iªþ¤F libgd,zlib µ¥¦Û¥Îªº lib,¤£·|¹³ mrtg FAQ ¤@¼Ë¸Ë¦n¤F¸Õ¤@¤U¥´ rrdtool ,¬Ý·|¤£·|¥X²{Ãþ¦ü°T®§

[root@pc071 study]# rrdtool
RRDtool 1.0.42 Copyright 1997-2001 by Tobias Oetiker <tobi@oetiker.ch>
Usage: rrdtool [options] command command_options
Valid commands: create, update, graph, dump, restore,
last, info, fetch, tune, resize, xport
RRDtool is distributed under the Terms of the GNU General
Public License Version 2. (www.gnu.org/copyleft/gpl.html)
For more information read the RRD manpages

¥i¥H¬Ý¥X¨Ó rrdtool ¦³ 11 ­Ó options, ¦¹³B¤¶²Ð create/update/graph ¨ä¾lªº³¡¥÷¸ûÄÝ©ó RRD File ªº³Æ¥÷/¦^¦s¤Î¸ê°TÅã¥Üµ¥,»P§Ú­Ì¥DÃD¸ûµLÃö.¥t¥~¹³ rrdcgi ©Î rrd ªº perl module ¬Ò¤£¦b§Ú­Ìªº¤¶²Ð½d³ò¤º,¦³¿³½ì¤§¤H¦Û¥i¦Ü©x¤èºô¯¸¬d¬Ý.

«Ø¥ß RRD ÀÉ
«Ø¥ß RRD file ªº«ü¥O¤Î·N¸q§A¤@©w­n§ËÀ´,¦p¦¹¹Ï¤~¯àµeªº¦n,¤£¹L°ß¦³¹ê§@§A¤~¯àÅé·|ªº²`, ¥u¦³¬Ý¹L¬O¤£°÷ªº.¬Û«H¦³¤£¤Ö¤H¬Ý¹L rrdtool ºô¯¸¤Wªº»¡©ú,­Ó¤Hı±o¤W­±¦³´X­Ó³¡¥÷ ­^¤åÆZÃøªº(§Aı¤£Ä±±o§Ú´N¤£ª¾¤F)...
¦A»¡©ú¤§«e§Ú­Ì¥ý¤F¸Ñ mrtg log ªºÀx¦s®æ¦¡...¥H¤@¯ë¦Ó¨¥ mrtg ¤j®a²ßºD³£¬O 5m °µ ¤@¦¸,¨º¤@¤Ñ­n°µ 288 ¦¸, §Aªº mrtg ¶]¤@¦~¤£´N¦³ 10 ¸U¦æªº¸ê®Æ¤F,¦ý¹ê»Ú¤Wmrtg log ¬O·|°µ¤@¨Ç³B²zªº ¹ê»Úªºª¬ªp¬O
¨C¤­ÄÁ­È¦s 603 µ§,¦A¨Ó¬O
30 ¤ÀÄÁ¦s 603 µ§
2 ¤p®É­È¦s 603 µ§
¤@¤Ñ­È¦s 800 µ§
µù:¸Ô²Ó¤º®e½Ð°Ñ¦Ò±z¦Û¨­ªº mrtg log ÀÉ

mrtg ªºÀuÂI
­Ó¤H·Pı§Y¬OÅÓ³æ¦Ó¦n¥Î,¯à²Å¦X¦h¼Æ¤Hªº»Ý¨D.
mrtg ªº¯ÊÂI
¨Ì¦¹,¸ê®Æ³B²zªº¤èªk·|¸û©T©w,¥Blog Àɤ~¤£·|¤Ó¤j,µe d w m y ¹Ï®É¤~·|§Ö,¤£¹L§A¥i¥H·Q¹³,§Aªº¨C¤­¤ÀÄÁ¸ê®Æ¹L¤F 50 ­Ó¤p®É«á´N·|Åܦ¨ 30 ¤ÀÄÁ¥­§¡­È....,·í±z»Ý­n¤@­Ó¤ë«e¨C¤­¤ÀÄÁ­È,¥HµLªk¦A±q mrtg ¤¤§ä¨ì.
mrtg ¥t¥~ªº­­¨î¬OµLªk²£¥Í»¡§Ú­n³Ìªñ3¤Ñ,³Ì«á¤T­Ó¤ë,ªñ¤Q¦~¨Óµ¥¸ê®Æ,¸ê®Æªº¹Bºâ³B²z¤W¤]¸û¤Ö,¨ä¶È¯à²£¥Í¤é¶g¤ëµ¥¸û©T©wªº¸ê®Æ.
¨S¦³(ÅÞ¿è)¹Bºâ¦¡ (+,-,*,/,%,IF,¤j©ó,¤p©ó....,) µ¥....,¦pªG¥Î rrdtool ³o³\¦h°ÝÃD³£¥i¥H¸Ñ¨M¤F

¹Bºâ¦¡
¦pªG§A¦³¨â­Ó¸ê®Æ,¤@­Ó¬O Web ³s½u¼Æ,¤@­Ó¬O Web ¸ê®Æ¶Ç¿é¶q,¦¹®É§A­n±N³o¨â­Ó­Èµe¦b mrtg ¤W,§A·|µo²{,³s½u¼Æªº½u¹Ï±N¤p±o´X¥G¬Ý¤£¨£,¦]¬°¶Ç¿é¶qªº­È¤Ó¤j¤F,¥H­P©ó¤£¯à©ó¹Ï¤W¥R¥÷ªí²{¥X¨Ó.°£«D§Aªº script ¥ý°µ¤F¾A·íªº¹Bºâ,¦p¶Ç¿é¶q¥H K ºâ,¦A¿é¥X. (µù:mrtg Áö¥iÅý§A¥Î K ­È·í Y ¶b,¦ý¬O¦¹®É³s½u¼Æªº½u­È¬Ý°_¨Ó´N©M0¤@¼Ë¤F)


eth0 ¬y¶q:ÂŽu¬° tx,ºñ½u¬° tr,¦ý¦¹®É tr ¬Ý°_¨Ó´X¥G·Pı¤£¨ì¥Lªº¦s¦b
(¤£ª¾¤°»ò¬O TR/TX «Øij±z¤£­n¬Ý¤U¥h¤F)

ÅÞ¿è¹Bºâ¦¡
¦pªG±zªº¹Ïªí¤W¬ðµM¦³¤@­Ó«Ü¤jªº­È,¦¹®É,mrtg ªº¹ÏÀÉ­ì¸ê®Æ¦] Y ¶bªº¸ê®Æ³£±N¦]¦¹¦ÓÀ£ÁY,¨Ï¥Î rrdtool ¥i¥H¥Î GE (¤j©ó),LE(¤p©ó)¡Kµ¥¹Bºâ¦¡,Åý±z±N³o­Ó­È§ï¦¨¨ä¥Lªº­È(¦³¨S¦³·N¸q»Ýµø±z¦Û¨­ªº»Ý­n¦Ó©w)


rrdtool «ØÀÉ»yªk
rrdtool create filename
[--start|-b start time]
[--step|-s step]
[DS:ds-name:DST:heartbeat:min:max]
[RRA:CF:xff:steps:rows]



¬Ý°_¨Ó»yªk¦n¹³¤£¦h(¦]¬°¤£¦h©Ò¥HÅý«Ü¦h¤H¬Ý¤£À´),¦ý¨ä¹ê¦³ÂIºë²`,³o­Ó«ØÀɪº°Ê§@¨ä¹ê´N¹³«Ø¥ß mrtg ªº log ÀÉ,¦ý¬O rrd Åý§A¥i¥H¦Û­q¤­¤ÀÄÁ¸ê®Æµ§¼Æ,¥­§¡­È¬°¦h¤Ö®É¶¡³æ¦ì,³Ì¤j­È¬°¦h¤Ö®É¶¡³æ¦ì,­n¦s´Xµ§¸ê®Æ,§Y¨Ï¥Î¨Æ«áµo²{¤£¨¬©Î¦³°ÝÃD,¨ÌµM¥i¨Ï¥Î tune ¨Ó½Õ¾ã.

create ÅU¦W«ä¸q,§Y«ØÀÉ
filename ÀH§A¨ú,²ßºD¤W·|¥H .rrd µ²§À
--start ³o­Ó filename ªº¸ê®Æ°O¿ý°_©l¤é´Á ,¥H 1970 ¦~¦Ü¤µªº¬í¼Æ (¹w³]¬O²{¦b)
--step ¸ê®Æªº¶¡®æ®É¶¡,²ßºD¤W§Ú­Ì·|³] 300 (¬í),±z¥iµø¦Û¤vªº»Ý¨D¦Ó©w

¤U­±ªº³¡¥÷Ãø¤@ÂI¤F®@~~­n¥J²ÓÅé·|¤F,ª½±µ¥H¨Ò¤l°µ»¡©ú,¤ñ¦p»¡§Ú­Ì­n´ú eth0 ¤Wªº ¬Y¨Ç udp/tcp port ªº¬y¶q¤Î Á`¬y¶q(IP ¼h¥H¤W):

DS:telnet:COUNTER:600:0:100000000 \
DS:smtp:COUNTER:600:0:100000000 \
DS:domain:COUNTER:600:0:100000000 \
DS:http:COUNTER:600:0:100000000 \
DS:total:COUNTER:600:0:100000000 \

DS Data Source DS "«Å§i" ªº·N«ä
telnet ¬O DSN (name) , Äæ¦ì¦WºÙ,·N§Y"ÅܼƦWºÙ"
COUNTER ¬ODST(type),²ßºD¤W±`¥Î GAUGE(­Ó§O­È,¹³CPU loading) ¤ÎCOUNTER (²Ö­p­È,¹³¬y¶q¸ê®Æ) ¦b²£¥Í¹ÏÀÉ®É, GAUGE ¬O 100 ´Nµe¦b Y ¶b 100 ¤W,¦ý¦pªG¬O COUNTER , «e¤@­È¬O 98,«h·|µe 2
600 ¬O¦³®Ä´Á(heartbeat),¦pªG³sÄò¦pªG­ì¨Ó¦b 12:00 ­n²£¥Í¸ê®Æ¦Ó¨S¦³²£¥Í,«e«á 300 ¬í (¦@ 600 ¬í)ªº¥­§¡­È·|ºâ¦¨ 12:00 ªº­È,¦pªG³£¨S¦³­È,«h·|¦¨¬° "UNKNOWN" (UN,´N¹³ mrtg ¨S¦³¸ê®Æ®É,·|µe¤@¥­½uªºª¬ªp¤@¼Ë),UN ¦b rrdtool ùØ­±ÁÙ¬O¦³§@¥Î
0:100000000 ¬O»¡ DSN ªº¼Æ­È¦³®Ä½d³ò,¦pªG¶W¥X³o­Ó­È,¬Òµø¬° UN,³oùؤ]¥i¥H¼g¦¨ U:U ¥Nªí¤£­­½d³ò

DS ªº³¡¥÷­è¶}©l¤@©w°O¤£¼ô,¤£¹L¥Î¤[¤F´N¤£·|¦³¤Ó¤j°ÝÃD¤F,¤@­Ó¦n°Oªº¤è¦¡§Y "¤T¤å¦r,¤T¼Æ¦r".

RRA ¥i¯à¹ï¤~¼Æ¤H¤£®e©ö²z¸Ñ,¨ä¹ê´N¬O¤°»ò¸ê®Æ­n¦s´Xµ§
RRA:AVERAGE:0.5:1:603 \
RRA:AVERAGE:0.5:6:603 \
RRA:AVERAGE:0.5:24:603 \
RRA:AVERAGE:0.5:288:800 \
RRA:MAX:0.5:1:603 \
RRA:MAX:0.5:6:603 \
RRA:MAX:0.5:24:603 \
RRA:MAX:0.5:288:800

RRA §Y Round Robin Archive,§A¥i¥H§â¥¦¬Ý¦¨¹³ DS,¦ý¬O³oùØ¥D­n¦b³B²z¸ê®Æµ§¼Æ
AVERAGE ¦b rrd ºÙ¬° CF (consolidation function),¦¹³B§Ú­Ì¨Ï¥Î¥­§¡¼Æ,¦@¦³¥|ºØÃþ§O : AVERAGE, MIN, MAX, LAST ·N§Y¥­§¡­È¡A³Ì¤j­È¡A³Ì¤p­È¡A³Ì«á¤@µ§
0.5:1:603 ¦]¬°§Ú­Ì±N step ©w¬° 300 ¬í¬O«ü­Y­ì­pºâ®É¶¡ÂI¬° 12:00 ªº¸Ü¡A°O¿ý®É­n¥H 11:57:30~12:02:30 ªº¥­§¡­È¬°¥D¡A³o­Ó­È­Y¦b¦¹®É¶¡ÂI¤º¥u¦³¤@µ§¸ê®Æªº¸Ü¡A¨ä·N§Y¬O¥­§¡­È¡A©Ò¥H¦¹¤@­È§Yªí­ì telnet/smtp¡Kµ¥¦@­n°O¿ý´Xµ§(­Y mrtg ¦¹­È¬° 603)¡A603 ¬O«ü­n¦s 603 µ§ (¦¹³B¬G·N»P mrtg ¦P,¥H§Q¤j®a§PÂ_),¶W¹L603µ§¡A«h³Ì¦­¤§¤@µ§±N³Q²¾¥X.
0.5:6:603 ¶È´N 6 ¸ÑÄÀ,¨ú 6 µ§¸ê®Æ(¨Cµ§¬° step ­È¡A¦b¦¹·N§Y¢´¤ÀÄÁ)¬°¥­§¡­È( 30 ¤ÀÄÁ), ¦s 603 µ§
0.5:24:603 24 §Y¤G¤p®É
0.5:288:800 288 §Y¤@¤Ñ

½Ðª`·N,¤£¬O 0.5:1:603 ¤¤ªº1 ´N¬O¤­¤ÀÄÁ,¨ä¤D¨Ì¾Ú§Aªº --step ­È¦Ó©w,¦pªG --step 3600 , ¨º 0.5:6:603 ³o¤@¦æ´N¬O¤»¤p®É¦X°_¨Óªº¥­§¡­È¤F.
­Y±N AVERAGE ´«¦¨MIN/MAX ªº·N¸q«h¬O¨ú¸Ó®É¶¡ÂI¤¤ (¦p¤W¨Ò¤§5min/30min/2hr..)¤§³Ì¤j­È©Î³Ì¤p­È¡A¦Ó³q±`¦bºÊ´ú¨t²Î®É³Ì¤j­È»P¥­§¡­È¬O¸û¦³¹ê»Ú·N¸qªº.

RRA ¦A¸ÑÄÀ¤@¤U¤j®a·|¸û²M·¡:


¨Ã¤£·|«ÜÃø~~¨ä¹êÀ´¤F·N¸q´N®e©ö¤F¡A¤£¹L·í¥X§Ú¦b K ¸ê®Æ®É¡A¨ì¬O¦³¤£¤Ö­^¤å»P²z¸Ñ¤Wªº°ÝÃD©O!ÁÙ±o¦b google §ä³\¦h¸ê®Æ¨Ó°Ñ¦Ò.¦Ü¤Ö§A²{¦b¬Ýªº¬O¤¤¤å,­n²z¸Ñ,¤£¯à±j°O.¤j·§ªº­«ÂI§Ú·Q§Ú³£«ü¥X¨Ó¤F.


¦^·Q¤@¤U¡A¤U¦Cªº«ü¥O·N¸q§AÁÙ°O±o¦h¤Ö?

rrdtool create /root/study/tcpdump.rrd -s 300 -b `date -d "-1 month" +%s` \
DS:telnet:GAUGE:600:0:10000000 \
DS:smtp:GAUGE:600:0:10000000 \
DS:domain:GAUGE:600:0:10000000 \
DS:http:GAUGE:600:0:10000000 \
DS:pop3:GAUGE:600:0:10000000 \
DS:total:GAUGE:600:0:10000000 \
RRA:AVERAGE:0.5:1:603 \
RRA:AVERAGE:0.5:6:603 \
RRA:AVERAGE:0.5:24:603 \
RRA:AVERAGE:0.5:288:800 \
RRA:MAX:0.5:1:603 \
RRA:MAX:0.5:6:603 \
RRA:MAX:0.5:24:603 \
RRA:MAX:0.5:288:800




-b ³B§ÚÅý¥L«Ø¥ß¤@­Ó¤@¤ë«e¬°°_©lªº¸ê®Æ,³oùاڴ£¨Ñ¤@­Ó rrdtool update ªº½d¨ÒÀÉ
°Oª`·N,¦pªG§A¤x·s¼W¤F 12:00 ªº¸ê®Æ, 12:00 ¤§«eªº¸ê®Æ§A´N¤£¯à¦A§ó·s¤F¡Arrdtool ·|©M§A»¡ timestamp ¤p©ó³Ì«á¤@µ§.


2.·s¼W¸ê®Æ
rrdtool update filename [--template|-t ds-name[:ds-name]...] N|timestamp:value[:value...]
³o­Ó«Ü¦n²z¸Ñ,°ò¥»¤W´N¬O®Ú¾Ú DS¨Ó§ó·s¸ê®Æ,¦p¤W­z¤§ tcpdump.rrd,­Y¦³»Ý­n§ó·s®É¤Î®É
$>rrdtool update tcpdump.rrd 1061811856:114:0:50:1199:0:821073
¤W­±ªº 1061811856 §Y®É¶¡­È,¦pªG´N¬O­n²{¦bªº®É¶¡­È,«h¥i¥H N ¥Nªí,¦ý­nÂà´«¦¨¬í­È,³q±`§Ú­Ì³£·|¥H
$>timestamp=`date +%s `
¨ÓÂà²{¦b¬í¼Æ,¦pªG¬O¬Y¨Ç¯S©w®É¶¡,«h¥i¥H
$>timestamp=`date -d "2003/08/15 12:00" +%s`

³q±`³oùاA±o¼g­Ó¤pµ{¦¡¨ú¼Æ¾Ú,©Î¥Î snmpget/snmpwalk §ì¸ê®Æ¨Ó°µ rrdtool update¡A¦A¥Î crontab ®Ú¾Ú§A¦b rrdtool create ®Éªº step ¨Ó¨M©w°õ¦æ±Æµ{ªº®É¶¡ÂI
http://211.72.210.199/tcpdump.txt ³oùØ´£¨Ñ¤@­Ó update ½d¨ÒÀɵ¹¤j®a¡A¨ä®É¶¡½d³ò¬° 2003/08/15~2003/08/25,step ¬° 300s,®Ú¾Ú³o­ÓÀɱz¦Û¤v¥i¾A®Éªº«Ø¥ß¦Û¤vªº rrd file,³Ì¦n¤£­n§Û¤W­±¤~¦n(©ñ¤£¶i¥h rrdfile,½Ð¦A±N create «ü¥O¦A¬Ý¤@¦¸,¤@©w¬O§Aº|¤F¤°»ò¤F).


3. µe¹Ï
¥ý¥Î²³æ½d¨Ò,¤Þ°_§Aªº¿³½ì... (¬Ý°_¨Ó¦n½ÆÂø¡K)

#¤T½u¹Ï (LINE1 ¬O²Ó½u,©|¦³ LINE2,LINE3 (²Ê½u±ø) µ¥)
RRD_FILE=/root/study/tcpdump.rrd
rrdtool graph html/example.png \
--title "Host Port Traffic " \
DEF:t1=$RRD_FILE:telnet:AVERAGE \
DEF:t2=$RRD_FILE:smtp:AVERAGE \
DEF:t3=$RRD_FILE:domain:AVERAGE \
LINE3:t1#ff0000:"telnet" \
LINE2:t2#00ff00:"smtp" \
LINE1:t3#0000ff:"domain" \
-h 200 -w 480 -s `date -d "-1 week" +%s` \
-v "Bytes per second"

µ²ªG¹Ïªí (¤T½u,LINE3 ³Ì²Ê, LINE1 ³Ì²Ó)


¥Ñ³o±i¹Ï¥i¥H¬Ý¥X¨Ó,¥H¤T±ø½u¨Óªí¥Ü¤T­Ó port ®É,½u§Î¦³²Ê²Ó¤§¤À¡]¦Û¤v»Ý©w¸q¡^¡A¤£¹L¦¹®É¦]¨C­Ó®É¶¡ÂI¤£¦P¦Ó¦³¥i¯à¥æ¤e,¥i¯à¼W¥[¤F§Ú­Ì¾\Äý®Éªº§xÃø.

¦]¬°¥H½u¨Óªí¥Ü¸ûÃø¬Ý¥XÁ`¦X±¡ªp,©Ò¥H§Ú­Ì­n±N¨C±ø½uÅ|°_¨Ó§Î¦¨¤@­Ó°ïÂSªº¹Ï,¦p¦¹´N¬Ý¥X¨Ó¾ã­Ó¾÷¾¹³o´X­Ó port ªºª¬ªp

#©Î¦p¤U (µe¥X®É,¤Ñ,¶g,ªº¬y¶q¹Ï)
#filename: tcpdump-graph.sh
RRD_PATH="/root/study/tcpdump.rrd"
image_path="/root/study/html"
image_path=/home/httpd/html/enum/study
now=`date "+%Y/%m/%d %H:%M:%S"`
start_time=`date -d "2003/08/12 19:00" +%s`
time="hour day week "
for t in $time
do
/usr/local/bin/rrdtool graph $image_path/example-$t.png \
--title "¥»¾÷­«­n port ¬y¶q²Î­p" \
DEF:t1=$RRD_PATH:telnet:AVERAGE \
DEF:t2=$RRD_PATH:smtp:AVERAGE \
DEF:t3=$RRD_PATH:domain:AVERAGE \
DEF:t4=$RRD_PATH:http:AVERAGE \
DEF:t5=$RRD_PATH:total:AVERAGE \
CDEF:v1=t1,t2,t3,t4,+,+,+ \
CDEF:v2=t1,t2,t3,+,+ \
CDEF:v3=t1,t2,+ \
CDEF:v4=t1 \
CDEF:v5=t5,1024,/ \
AREA:v1#339966:"HTTP" \
AREA:v3#FF0000:"SMTP" \
AREA:v4#0000ff:"TELNET" \
LINE2:v5#000000:"Total(Kb)" \
COMMENT:"\n" \
COMMENT:"Last Updated: $now" \
-v "per second (bytes)" -M -U 10 \
-Y -X b -h 200 -w 480 -s `date -d "-1 $t" +%s` -b 1024
done

¬y¶q¤p®É¹Ï:


¬y¶q¤é¹Ï


¬y¶q¶g¹Ï


¤W­z¤T¹Ï§Ú­Ì¬O¥H°ÏæÇ(AREA)¨Óµe¥X,¦ý¬O­ì¸ê®Æ¦pªG§Ú­Ì¥HAREA¨Óµe±N¥X²{¤¬¬ÛÂл\ªº±¡ªp,©Ò¥H±o°µ¤@¨Ç¹B§@(CDEF ¨º¤@¬q),±N¾A·íªº¥[Á`¥t¥~µ¹¤©¥t¥~¤@ÅܼÆ,¦Ó Total ¤§­È¦]¬°¹L¤j,¦pªG§Ú­Ì¥H­ì­Èµe©ó¹Ï¤W±N³y¦¨ HTTP/SMTP/TELNET ªº¹Ï§ÎµLªk¾A·í¤ÏÀ³,©Ò¥H±N¨ä°£¥H 1024,¦Ó¥H Kbytes ¨Óªí¥Ü. Rrdtool ¬O¤£¬O«Ü¬¡©O?¤£¹L¤]¦]¬°¨ä¸ûÆF¬¡©Ò¥H§A¦h¤Ö±oªá³\¦h®É¶¡¦Û¤v¥hÅé·|.
­Ó¤Hı±o­è¶}©l¾Ç®É¤£®e©ö´x´¤¨ì­nºò,¥u¦³¾a½m²ß¤~¯à¥Í¥©,rrd µe¥X¨Óªº¹Ïı±o¤ñ mrtg ¨Ó±o¦³ÅܤÆ,¤]§ó®e©ö "Customize",¦ý mrtg ¬O¸û¦n¾Ç²ßªº. ­YµL¯S®í»Ý­nªº½T¤£»Ý­n¥t¾Ç rrd.
(µù:mrtg 3.x À³·|§ï¥Î rrd , ¤§«e¦³¬Ý¨ì¹L³o¼Ë¤å³¹,§Ú¤]¬O¥ý mrtg->mrtf-rrd->rrd )

rrdtool graph ²³æ¤¶²Ð
§A­Y·Qª¾¹D±o«Ü²M·¡«Øij±z¨ìhttp://people.ee.ethz.ch/~oetiker/webtools/rrdtool/manual/rrdgraph.html
°Ñ¦Ò¨ä¸Ô²Ó»yªk,¤£¥²¶O¤ß§ä¨ä¥Lªº³sµ²,¦]¬°§Úı±o¨ä¤x¸g«Ü¸Ô²Ó¤F.

§Ú¶È¦C¥X§Ú­n¤¶²Ðªº³¡¥÷¨Ñ¤j®a°Ñ¦Ò,§AºCºC¥hÅé·|Åo
rrdtool graph image-filename
-s ø¹Ï¸ê®Æªº°_©l®É¶¡,¹w³]¬O¤@¤Ñ«e,¥i°Ñ¦Ò¤W­±ªº script ,-s `date ¡K` ªºÀ³¥Î
-e ø¹Ï¸ê®Æªºµ²§ô®É¶¡,¹w³]¬O²{¦b,¥ç¥i¨Ï¥Î date ¤è¦¡¨Ó¹F¨ì«e¤T¤Ñ¦Ü¬Q¤Ñ¹ÏÀÉ
--no-minor ¤£­n°Æ®æ½u
-t ¹ÏÀɼÐÃD
-v Y ¶b»¡©ú
-w ¸ê®Æ°Ïªº¼e«×,¸ê®Æ°Ï«üªº¬O¼Æ¾ÚÅã¥Üªº³¡¥÷,¦Ó«D»¡©ú©Î¹Ï¨Ò
-h ¸ê®Æ°Ïªº°ª«×
-u Y ¶b¥¿­È°ª«×
-l Y ¶b­t­È°ª«×
DEF ­«­nªº¦a¤è,¨ä»yªk¬° DEF:your_var:rrd_filename:DS_name:[AVERAGE|MAX..]
½Ð°Ñ¦Ò¤W­±ªº tcpdump-graph.sh
CDEF ¤@­ÓµêÀÀªºÅܼÆ,¨ä­È¬° DEF ªº¬Y¨Ç¹Bºâ,¨ä¹Bºâ¦¡»Ý¼g¦¨«á§Ç
EX: a=1+3 ¼g¦¨ a=1,3 +
http=(smtp+http+telnet)/1024 ¼g¦¨ http=1024,smtp,http,telnet,+,+,/
¤£À´ ? http://people.ee.ethz.ch/~oetiker/webtools/rrdtool/tutorial/ ³oùØ¥i¥H°Ñ¦Ò

LINE{1|2|3}:vname[#rrggbb[:legend]]
AREA:vname[#rrggbb[:legend]]
STACK:vname[#rrggbb[:legend]]
LINE1:your_var#rgbÃC¦â­È:»¡©ú,³o­Ó your_var »Ý¦s¦b DEF ©Î CDEF ªº«Å§i¤¤,
AREA «h¬Oµe¥X¸ê®Æ¼Æ­È¦Ü 0 ¤§¶¡ªº°ÏæǹÏ
STACK «h¬Oµe¥X¸ê®Æ¼Æ­È¦Ü¨ä¤Wªº¼Æ­È,¤]´N¬O­n¦³¸ê®Æ¼Æ­È¦b STACK ¼Æ­È¤§¤W
½Ðª`·N,¦pªG¨Ï¥Î AREA/STACK ®É»Ý¯S§Oª`·N¹Ï»\¹Ïªº°ÝÃD,¤@©w­n¥ýµe¤jªº­È,¦Aµe¤pªº­È,¤~·|¦³¼h¦¸ªº®ÄªG,¤£µM,³Ì¤jªº¼Æ¾Ú­Y³Ì«áµe,¬Oª½±µÀ£¹L¥h®@
COMMENT »¡©úÄæ¦r,¦p COMMENT:"Last Updated" ±N¦b¹Ï¤W²£¥Í¸Ó¤å¦r,¥i¥H¥Î \n µ¥´«¦æ²Å¸¹
GPRINT GPRINT:vname:CF:format vname §YDEF ¤¤ªº your_var,¦Ó CF ¬Ý§A­n¿é¥Xªº¤å¦r¬OAVERAGE/MAX/MIN/LAST µ¥¼Æ­È,format ¦p¦P printf ¤¤ªº®æ¦¡,
EX:
GPRINT:telnet:AVERAGE:"%10.0lf \n"
·N§Y­n¿é¥X³o¬q®É¶¡¤¤ (-s ~ -e ¤¤,telnetªº¥­§¡­È,%10.0lf «h¬O¬°¤F¦nºâ¦ì¸m)
¦pªG§A¤£À´ printf, man ¤@¤U·|¤ñ§Ú¸ÑÄÀ¤@¤j°ï¨Ó±o§Ö.


¨ä¥L¨S¦³¤¶²Ðªº°Ñ¼Æ´N¦³«Ý§A¦Û¤v¥hµo±¸¤F,ÁÙ¦³«Ü¦h¨S¦³Á¿¨ìªº,¤£¹L§Ú³£Á¿§¹´N¨S¦³·N«ä¤F.
¨Ì¾Ú³oùتº¤¶²Ð,§Ú­Ì¦A±N¬y¶q¹Ï¬ü¤Æ¨Ç,Åý¥¦¥i¥H²£¥Í»¡©ú¤å¦r,§ó¦³§U©ó§Ú­Ìªº§PŪ,¨Ã±N¦p¦ó update ¸ê®Æ¤]¤@¨Ö¥[¤J:

¥N½X:
#tcpdump.sh
RRD_PATH="/root/study/tcpdump.rrd"
image_path="/root/study/html"
sec=300
killall tcpdump
mv ip.packet ip.packet.1
tcpdump -w ip.packet  tcp or udp or icmp &
scan_port="23 25 53 80 110"
rrd_data=""
for sport in $scan_port
do
        port=`tcpdump -r ip.packet.1 port $sport -v | sed -e 's/.*, len \(.*\))/
\1/g' |  tr '\n' '+'`
        port=`echo ${port}0| bc`
        port=`expr $port / $sec`
        rrd_data="$rrd_data$port:"
done
total=`tcpdump -r ip.packet.1 -v  |grep -v 'config'| sed -e 's/.*, len \(.*\))/\
1/g'  |  tr '\n' '+'`
total=` echo ${total}0 | bc`
now=`date +%s`
echo "rrdtool update tcpdump.rrd $now:$rrd_data$total" >>tcpdump.cmd
rrdtool update tcpdump.rrd $now:$rrd_data$total

image_path=/home/httpd/html/enum/study
now=`date "+%Y/%m/%d %H:%M:%S"`
start_time=`date -d "2003/08/12 19:00" +%s`
time="hour day week month year"
for t in $time
do
/usr/local/bin/rrdtool graph $image_path/example-$t.png \
--title "¥»¾÷­«­n port ¬y¶q"   \
DEF:t1=$RRD_PATH:telnet:AVERAGE \
DEF:t2=$RRD_PATH:smtp:AVERAGE \
DEF:t3=$RRD_PATH:domain:AVERAGE \
DEF:t4=$RRD_PATH:http:AVERAGE \
DEF:t5=$RRD_PATH:total:AVERAGE \
CDEF:v1=t1,t2,t3,t4,+,+,+ \
CDEF:v2=t1,t2,t3,+,+ \
CDEF:v3=t1,t2,+ \
CDEF:v4=t1 \
CDEF:v5=t5,1024,/ \
COMMENT:"¦U PORT ¬y¶q²Î­p---³Ì¤j------¥­§¡-------³Ì¤p-------?#123;¦b\n"    \
AREA:v1#339966:"HTTP" \
GPRINT:t4:MAX:"      %12.0lf "  \
GPRINT:t4:AVERAGE:"%12.0lf "            \
GPRINT:t4:MIN:"%12.0lf "                \
GPRINT:t4:LAST:"%12.0lf \n"               \
AREA:v2#ffff00:"DNS"        \
GPRINT:t3:MAX:"       %12.0lf "  \
GPRINT:t3:AVERAGE:"%12.0lf "            \
GPRINT:t3:MIN:"%12.0lf "                \
GPRINT:t3:LAST:"%12.0lf \n"               \
AREA:v3#FF0000:"SMTP"        \
GPRINT:t2:MAX:"      %12.0lf "  \
GPRINT:t2:AVERAGE:"%12.0lf "            \
GPRINT:t2:MIN:"%12.0lf "                \
GPRINT:t2:LAST:"%12.0lf \n"               \
AREA:v4#0000ff:"TELNET"        \
GPRINT:t1:MAX:"    %12.0lf "  \
GPRINT:t1:AVERAGE:"%12.0lf "            \
GPRINT:t1:MIN:"%12.0lf "                \
GPRINT:t1:LAST:"%12.0lf \n"               \
LINE2:v5#000000:"¥þ³¡(Kb)"        \
GPRINT:v5:MAX:"  %12.0lf "  \                             
GPRINT:v5:AVERAGE:"%12.0lf "            \
GPRINT:v5:MIN:"%12.0lf "                \
GPRINT:v5:LAST:"%12.0lf \n"               \
COMMENT:"\n" \
COMMENT:"\n" \
COMMENT:"    Last Updated:  $now" \
-v "per second (bytes)" -M -U 10 \
-Y -X b -h 200 -w 480 -s `date -d "-1 $t" +%s`
done


hour:


day:


week:


¥[¤W¼Æ­ÈªºÅã¥Ü¬O¤£¬O§ó²M·¡¤F©O ?¤£¹L½Ðª`·N rrdtool ¬O¤£¤ä´©¤¤¤åªº,½Ð±z¥Î­^¤å¨Óªí¥Ü§Aªº¸ê®Æ§Y¥i.
¶â~¦pªG§Aı±o«Ü½ÆÂø¨º¬O¥¿±`ªº,¦ý¬O¨ä¹ê¥J²ÓÆ[¹î§A¥i¥Hµo²{,¨ä¹ê«Ü¦h¦a¤è³£«ÜÃþ¦ü,§Úªº·Pı¬O¦bªì¾Ç®É¤~ı±o½ÆÂø,µ¥°µ¹L¤F¤@¨â­Ó¦¨¥\ªº¨Ò¤l«á´Nı±o«Ü²³æ¤F,¾Ç¥ô¦óªF¦è¤£¤]³£¬O¦p¦¹¶Ü ?
¶â~tcpdump §ì«Ê¥]¨º¤@¬q¤£¦b§Úªº¤¶²Ð½d³ò¤º,¦³¿³½ìªº¤H¦Û¥i man tcpdump ¦Û¤v¾Ç²ß¤@µf,©Î¬O¦³¤H­n°^Äm¤@¤U¤]¬O«Ü¦nªº.

´£¨Ñ¤j®a§Úªº´X­Ó½d¨Ò·í°Ñ¦Ò,¾Ç²ßªº¹Lµ{¤¤½d¨Ò¨ä¹ê«Ü­«­nªº,¦ý rrdtool ªº½d¨Ò¨ä¹ê¤£¦h,¤£µM´N³£¬O­^¤åªº

Question1: §ÚªºÃ±¦WÀÉ°µªk
¥N½X:
#«Ø rrd file
rrdtool create /root/study/study-area.rrd -s 300 \
DS:post:GAUGE:600:0:10000 \
DS:welcome:GAUGE:600:0:10000 \
DS:post_c:COUNTER:600:0:10000 \
DS:welcome_c:COUNTER:600:0:10000 \
RRA:AVERAGE:0.5:1:9600  \
RRA:AVERAGE:0.5:6:4800          \
RRA:AVERAGE:0.5:24:1200         \
RRA:AVERAGE:0.5:288:600       

#§ÚªºÃ±¦WÀÉ
image_path=/root/study/html
rrd_file=/root/study/study-area.rrd
RRD_PATH=$rrd_file

#³oùاڥεL­­°j°é°µ,«D crontab
sec=300
while [ 1 ]
do
# ¨ú±o¦Û¤v©Ò post ªº¬Y¤@½g¤å³¹
wget http://phorum.study-area.org/viewtopic.php?t=18410 -O study-area.html
#§ì¤å³¹¤¤ªº¤å³¹Á`¼Æ¤Î¤H®ð«ü¼Æ
rrd_data=`cat study-area.html | grep 'abelyang' | tail -1 | sed -e 's/.*¤å³¹: \(
.*\)<br \/><br.*#FF6633">\(.*\)<\/font><\/b>.*/\1:\2/g'`
post=`echo $rrd_data| cut -f 1 -d':'`
welcome=`echo $rrd_data| cut -f 2 -d':'`
now=`date +%s`
echo rrdtool update study-area.rrd $now:$rrd_data:$rrd_data >>study-area_rrd.cmd
rrdtool update $rrd_file $now:$rrd_data:$rrd_data

##############################################

/usr/local/bin/rrdtool graph $image_path/study-area.png \
--title "¤å³¹¼Æ/¤H®ð«ü¼Æ" \
DEF:v1=$RRD_PATH:post:AVERAGE \
DEF:v2=$RRD_PATH:welcome:AVERAGE \
DEF:v3=$RRD_PATH:post_c:AVERAGE \
DEF:v4=$RRD_PATH:welcome_c:AVERAGE \
LINE2:v1#000080:"Á`¼Æ($post)" \
LINE2:v2#0000FF:"¤H®ð«ü¼Æ($welcome)" \
-v "Value" -M -U 10 -s `date -d "2003/08/14 15:00" +%s` \
-Y -X b --no-minor
#±N¹Ï¥Î«ü¥OÁY¤p¦¨ 250 pixel
convert -scale 250 $image_path/study-area.png $image_path/study-area1.png
sleep $sec
done

µ²ªG:



Question: ¦p¦ó§ì CISCO Switch ¨C­Ó port ¬y¶q©O ?

¥N½X:
#«Ø rrdfile
rrdtool create C2900.rrd -s 300 \
DS:ifInOctets1:COUNTER:600:U:U \
DS:ifInOctets2:COUNTER:600:U:U \
DS:ifInOctets3:COUNTER:600:U:U \
DS:ifInOctets4:COUNTER:600:U:U \
DS:ifInOctets5:COUNTER:600:U:U \
DS:ifInOctets6:COUNTER:600:U:U \
DS:ifInOctets7:COUNTER:600:U:U \
DS:ifInOctets8:COUNTER:600:U:U \
DS:ifInOctets9:COUNTER:600:U:U \
DS:ifInOctets10:COUNTER:600:U:U \
DS:ifInOctets11:COUNTER:600:U:U \
DS:ifInOctets12:COUNTER:600:U:U \
DS:ifInOctets13:COUNTER:600:U:U \
DS:ifInOctets14:COUNTER:600:U:U \
DS:ifInOctets15:COUNTER:600:U:U \
DS:ifInOctets16:COUNTER:600:U:U \
DS:ifInOctets17:COUNTER:600:U:U \
DS:ifInOctets18:COUNTER:600:U:U \
DS:ifInOctets19:COUNTER:600:U:U \
DS:ifInOctets20:COUNTER:600:U:U \
DS:ifInOctets21:COUNTER:600:U:U \
DS:ifInOctets22:COUNTER:600:U:U \
DS:ifInOctets23:COUNTER:600:U:U \
DS:ifInOctets24:COUNTER:600:U:U \
DS:ifInOctets25:COUNTER:600:U:U \
DS:ifInOctets26:COUNTER:600:U:U \
DS:ifOutOctets1:COUNTER:600:U:U \
DS:ifOutOctets2:COUNTER:600:U:U \
DS:ifOutOctets3:COUNTER:600:U:U \
DS:ifOutOctets4:COUNTER:600:U:U \
DS:ifOutOctets5:COUNTER:600:U:U \
DS:ifOutOctets6:COUNTER:600:U:U \
DS:ifOutOctets7:COUNTER:600:U:U \
DS:ifOutOctets8:COUNTER:600:U:U \
DS:ifOutOctets9:COUNTER:600:U:U \
DS:ifOutOctets10:COUNTER:600:U:U \
DS:ifOutOctets11:COUNTER:600:U:U \
DS:ifOutOctets12:COUNTER:600:U:U \
DS:ifOutOctets13:COUNTER:600:U:U \
DS:ifOutOctets14:COUNTER:600:U:U \
DS:ifOutOctets15:COUNTER:600:U:U \
DS:ifOutOctets16:COUNTER:600:U:U \
DS:ifOutOctets17:COUNTER:600:U:U \
DS:ifOutOctets18:COUNTER:600:U:U \
DS:ifOutOctets19:COUNTER:600:U:U \
DS:ifOutOctets20:COUNTER:600:U:U \
DS:ifOutOctets21:COUNTER:600:U:U \
DS:ifOutOctets22:COUNTER:600:U:U \
DS:ifOutOctets23:COUNTER:600:U:U \
DS:ifOutOctets24:COUNTER:600:U:U \
DS:ifOutOctets25:COUNTER:600:U:U \
DS:ifOutOctets26:COUNTER:600:U:U \
DS:gabege:COUNTER:600:U:U \
RRA:AVERAGE:0.5:1:4800  \
RRA:AVERAGE:0.5:6:2400 \
RRA:AVERAGE:0.5:24:1200 \
RRA:AVERAGE:0.5:288:600


¬Ý¤£À´½Ð¦^ÀY¦A¬Ý create ªº¤å¦r¸ÑÄÀ,³Ì«á¦h¤@­Ó gabege Äæ¦ì¬O¬°¤F¦n³B²z¥Î, ¥B³oùاڨS¦³¥Î¨ì MAX ªº RRA,§A¥iµø¦Û¤vªºª¬ªp.³oùاڬO¥Î Cisco2950-24,¥ý¦b Switch ¤W¶} snmp-server
¨Ã°µ¦n Access Control

¥N½X:
Switch(config)#snmp-server community Your_community_string RO Access-List-ID


§ì¸ê®Æ,«Øij¥ý¬Ý³o¤@½g,¤F¸Ñ­ì²z
http://phorum.study-area.org/viewtopic.php?t=18410



¥N½X:

#¨ú±o 24 Port (In/Out) ©Ò¦³¬y¶q°O¿ý
ITEM="ifInOctets ifOutOctets"
export MIBS=CISCO-C2900-MIB
rrd_data=""
for oid in $ITEM
do
#¨ú±o Switch ¨C¤@­Ó Port ªº In/Out ¬y¶q
rrd_data=`snmpwalk -v 2c Your_Switch_IP Your_community_string $oid | sed -e 's/.*:\(.*\)$/\1/' | tr '\n' ':'`$rrd_data
done
now=`date +%s`
echo "rrdtool update seednet_C2900.rrd $sec:${rrd_data}0" >> C2900_rrd.cmd
rrdtool update C2900.rrd $now:${rrd_data}0       


¿é¤J¸ê®Æ³£¬O«Ü®e©ö³B²zªº.µe¹Ï...¶â~~³o¬O¦³ÂI½ÆÂø...§A¥i¥H¥ý¥H¤W­± tcpdump ¬°¨Ò³æ¿W¥ýµe¥X¨C­Ó port ¬y¶q, ºCºC½m²ß¥[¤@­Ó port,¨Ã¤F¸Ñ°ÝÃD©Ò¦b,¦p¦¹¤~¯àÅé·|ªº¨ì®@!§O·Q¤@¨Bµn¤Ñ,¦p¦¹¥u·|®{®ö¶O®É¶¡¦b¾Ç²ß¤W¦Ó¥H!

¤U¹Ï¬°¦U port ªº°ïÅ|¹Ï (¥¿±`Ãö³¬¬Oø¹Ï«e¥H snmp ¨ú±o port status )

_________________


abelyang ¦b ¬P´Á¤T ¤K¤ë 27, 2003 12:57 am §@¤F²Ä 6 ¦¸­×§ï



­ì¤å¥X³B¡Ghttp://phorum.study-area.org/viewtopic.php?t=18496