簡介
mrtg
Multi Router Traffic Grapher------MRTG
是一個監控網路鏈路流量負載的工具軟體,通過snmp協定得到設備的流量信息,並將流量負載以包含PNG格式的圖形的HTML 文檔方式顯示給用戶,以非常直觀的形式顯示流量負載
(可以在網站http:// www.stat.ee.ethz.ch/mrtg/得到mrtg的輸出結果示例)
關於mrtg的最詳細的信息可以從 http://people.ee.ethz.ch/~oetiker/webtools/mrtg得到。
mrtg 的主頁是 http://www.mrtg.org,可以從這裡下載軟體。
mrtg特色
可移植性:目前可以運行在大多數 Unix 系統和 Windows 之上。
源碼開放:mrtg 是用 perl 編寫的,原始碼完全開放。
高可移植性的SNMP支持:mrtg 採用了 Simon Leinen 編寫的具有高可移植性的 SNMP 實現模組,從而不依賴於作業系統的SNMP模組支持。
支持SNMPv2c:MRTG 可以讀取 SNMPv2c 的64位記數器,從而大大減少了記數器迴轉次數。
可靠的接口標識:被監控設備的接口可以以IP位址、設備描述、SNMP對接口的編號 及 Mac 地址來標識。
常量大小的日誌檔案:MRTG 的日誌不會變大,因為這裡使用了獨特的數據合併算法。
自動配置功能:MRTG 自身有配置工具套件,使得配置過程非常簡單。
性能:時間敏感的部分使用 C 代碼編寫,因此具有很好的性能。
PNG格式圖形:圖形採用 GD 庫直接產生 PNG 格式。
可定製性:MRTG 產生的 web 頁面是完全可以定製的。
mrtg兼容性
mrtg軟體可以運行在以下的作業系統上:
Linux 1.2.x, 2.0.x, 2.2.x, 2.4.x (Intel and Alpha and Sparc and PowerPC)
Linux MIPS, Linux S/390
SunOS 4.1.3
Solaris 2.4, 2.5, 2.5.1, 2.6, 7, 8
AIX 4.1.4, 4.2.0.0, 4.3.2
HPUX 9,10,11
WindowsNT 3.51, 4.0, 2k, XP
IRIX 5.3, 6.2
BSDI BSD/OS 2.1, 4.x, 3.1
NetBSD 1.5.x
FreeBSD 2.1.x, 2.2.x, 3.1, 3.4, 4.x
OpenBSD 2.x
Digital Unix 4.0
SCO Open Server 5.0
Reliant UNIX
NeXTStep 3.3
OpenStep 4.2
Mac OS X 10.1
And about and other sensible Unix
可以通過mrtg監控的設備
目前市場上絕大多數產品都支持 SNMP 協定,只要支持 SNMP 協定的設備就都可以使用 MRTG 來監控
3Com NETBuilders, LANplex 6012 and 2500
3Com etherswitches and hubs
3Com Linkswitch 1000 1100 3300
3Com Superstack II switch 3900, 3300 MX
3Com 812 ADSL Router
Alantec powerhub 7000
Allied Telesyn - 8224XL and 8324XL 24 port managed switches
Annex TERMINAL SERVER
Asante Hub
Ascend (Lucent) Max 600, [24]00x, Pipeline 50, TNT, APX-8000, MAX-6000
Alcatel (Assured Access) x1600, OmniSR9, OmniCore 5022
AT&T Wave Point, Lan
BayNetworks (Wellfleet) 7.80 and up, BayStack 350T, Instant Internet, see Nortel
BreezeCom AP,SA
Cabletron ESX-820 Etherswitch, Smartswitch 2000,6000 and router
Centillion Token Ring SpeedSwtich 100 (IBM 8251 Token Ring Switch)
About every Cisco Kit there is ...
CentreCOM 8116
Compatible Systems
DECBridge 620, DEC 900EF, 900EE, Gigaswitch
ELSA Lancom L 11 (Wireless Router)
Enterasys Matrix E5, VH-4802 and VH-2402S Switche
Ericsson Tirgis Series RAS Servers
Extreme Networks -- Blackdiamond 6808 & Alpine 3808 Layer 3 Switches
Fore ASX200 ATM
FlowPoint 2200 ATM/DSL Router
Formula 8200 series
Foundry BigIron 8000 Gigabit, FastIron Switch, ServerIron Switch
Cable modems from Lancity, Terayon and DOCSIS
HP - network interfaces, disks, database Informix
HP AdvanceStack/Procurve Switch 2000 and 2524, AdvanceStack Switch 200
HP Procurve Switches , model 4000m, 2424m and 2400m
IBM 8260 swtich (with 155MB ATM blades installed), IBM 2210 ISDN Routers.
Intel switches (details) -- 510T, Intel Gigabit Server adapter
IMV Victron NetPro 3000 UPS
Kentrox Pacesetter Pro
Lantronix Bridge
Lucent/Xedia Access PointT 450, 1000
Livingston (Lucent) IRX 3.2.1R, IRX 114, PM2E(R) PM3-2E OR-U
Motorola 6560 Regional Node, SB3100 CableModem, 320, 6430 and 6455 routers
Morningstar Terminal Servers/routers
MGE (merlin Gerin) UPSes (details)
Network Appliance
Netopia R7100C SDSL
Netscreen 5 / 10 / 100
Nortel Networks, Bay Routers BCN, BLN, ASN, ARN, AN, Passport 1k and Passport 8k3 series L3 switches, BayStack 450 L2 switches.
Nortel Networks, Accelar L3 Switches
Nokia IP 330/440/650
Nbase ethernet switch
Novell 3.11, 4.11
Rmon probes
SGI-Server (Irix 5.3)
Any server server running HP-UX, ULTRIX, Solaris, SunOS, OSF, NetBSD, FreeBSD, BSDi, Linux, AIX, OpenBSD, Irix or even Windows operating systems (badly), when using NET-SNMP (former UCD-SNMP).
Apple Mac (An snmp service is included on the OS CD >= 8.5 )
Shiva Accesport
Solaris Server
Squid Web cache
US-Robotics Total Control Modemracks
Wellfleet (later Bay Networks): see Nortel routers
WaveWireless SpeedLan 8x00 RF Routers
WinNT, MS Proxy
Xylan (today Alcatel) 4024C 24port 10/100 OmniStack Switch, 9k devices, including ATM links.
Yamaha rt100i
Zyxel Prestige P310, 153X, 642.
不支持mrtg的設備:
D-Link switches (details)
SNMP簡介
一個網路管理系統一般要包含以下幾個元素:
①若干個需要被管理的網路設備節點,如路由器、伺服器等設備,每個節點上都運行著一個稱為設備代理(agent)的套用進程,其實現對被管理設備的各種被管理對象的信息如流量等的蒐集和對這些被管對象的訪問的支持;
②至少一個管理工作站,該管理站運行著管理平台套用系統,實現為管理員提供對被管設備的可視化的圖形界面,從而使管理員可以方便的進行管理;
③一個管理協定,用來定義設備代理和管理工作站之間管理信息傳送的規程。其中管理協定的操作是在管理框架下進行的,管理框架定義了和安全相關的認證,授權,訪問控制和加密策略等各種安全防護框架。
在運行 TCP/IP 協定的網際網路環境中,管理協定標準是簡單網路管理協定(Simple Network Management Protocol,SNMP),其定義了傳送管理信息的協定訊息格式及管理站和設備代理相互之間進行訊息傳送的規程。
出於業界對網路管理協定標準化的迫切要求的驅動,IETF於1990發布了SNMPv1的正式RFC 文檔;其設計思想重點放在保證協定的簡單性、靈活性和可擴展性上,並希望把SNMP作為 一個過渡性的網管協定來作為實現對互連的網路設備進行管理時遵循的標準,待OSI的網 絡管理協定—CMIP的開發、實現和標準化成熟和完善到可以在業界推廣之後,再用CMIP來替換SNMP。但是由於各種的原因,CMIP並沒有替代SNMP,而SNMP發展為業界的標準。
SNMP的主版本
分別為SNMPv1 ,SNMPv2和SNMPv3。其中SNMPv2又分為若干個子版本,其中SNMPv2c套用最為廣泛:
SNMPv1:
是第一個正式協定版本,在RFC1155-RFC1158中定義,該版本採用了基於共同體 名的安全機制
SNMPv2c:
這個版本被稱為基於共同體名的SNMPv2,使用基於共同體名的安全機制和 SNMPv2p做出的協定操作方面的擴充,由RFC1901-RFC1906定義
SNMPv3:
該協定版本採用基於用戶的安全機制,其安全機制是在SNMPv2u和SNMPv2*基礎上 進行大量的評議以後進行了更新,並且對協定機的邏輯功能模組的進行了劃分而保證了良好的可擴充性,由RFC2271-RFC2275所定義。
運行SNMP管理系統的原理及SNMP協定
使用SNMP協定的網路管理系統管理結構工作一般包括:管理進程通過定時向各個設備的設備代理進程傳送查詢請求訊息(以輪詢方式),來跟蹤各個設備的狀態;而當設備出現異常事件如設備冷啟動等時,設備代理進程主動向管理進程傳送陷阱訊息,匯報出現的異常事件。這些輪詢訊息和陷阱訊息的傳送和接受規程及其格式定義都是由SNMP協定定義的;而被管理設備將其各種管理對象的信息都存放在一個稱為管理信息庫(Management Information Base)庫結構中。
其中SNMP協定是運行在UDP協定之上,它利用的是UDP協定的161/162連線埠。其中161連線埠被設備代理監聽,等待接受管理者進程傳送的管理信息查詢請求訊息;162連線埠由管理者進程監聽等待設備代理進程傳送的異常事件報告陷阱訊息,如Trap。
設備的所有的需要被管理的信息被看作一個各種被管理對象的集合,這些被管理對象由 OSI 定義在一個被稱作管理信息庫(Management Information Base,MIB)的虛擬的信息庫中。
管理對象庫MIB
MIB是一個按照層次結構組織的樹狀結構(定義方式類似於域名系統),管理對象為定義為樹中的相應葉子節點。管理對象是按照模組的形式組織,每個對象的父節點表示該種對象屬於上層的哪一個模組。而且OSI為樹中每一層的每個節點定義唯一的一個數字標識, 每層中的該數字標識從1開始遞增,這樣樹中的每個節點都可以用從根開始到目的節點的相應的標識對應的一連串的數字來表示,如1.3.6.1.2.1.1表示了MIBII中系統組子樹,而 1.3.6.1.2.1.1.1.0表示系統組中的系統描述(sytem Descrption)對象。每個對象的一連串數字表示被稱為對象標識符(Object Indentifier,OID)。
相關的一組對象的集合被定義為一個MIB模組。這些模組使用OSI的抽象語法標記 (Abstract Syntax Notation One,ASN.1)的一個子集寫成。該子集被定義為管理信息結 構(Management Information,SMI)。
SNMP的訊息在傳送和傳輸時訊息是採用基本編碼規則(BER)對訊息進行編碼。
SNMP基本的標準MIB庫是MIBII,具體請參考RFC 1213。
SNMP協定操作
SNMP提供有三類操作,分別為Get,Set和Trap。
Get操作實現對被管理對象所表示的管理信息的讀操作。在SNMPv1中,GET操作具體一共有 兩種形式
Get和GetNext操作: Get操作指示直接讀取操作參數指定的OID所表示的被管理對象的管 理信息值。GetNext操作指示讀取操作參數指定的OID所表示的被管理對象在MIB樹中按照 字典順序的下一個被管理對象的管理信息的值。在SNMPv2中,增加了一種GetBulk操作, 其是Get和GetNext的綜合,是為了提高對被管理信息的訪問的效率而增加的。
Set操作實現對被管理對象的管理信息進行寫操作,其實現直接對操作參數指定的OID所表示的被管理對象對應的管理信息的值的設定。
前面幾種訊息是由管理工作站主動實現對被管理設備進行輪詢訪問時發出以得到被管理設 備的各種信息;而在被管理設備出現異常事件需要及時向管理工作站報告時,就需要Trap 操作,該操作實現被管理設備向管理工作站報告設備上出現的異常事件,如網路接口出現故障或恢復工作,設備重新啟動等信息。另外在SNMPv2中新增加了一種Inform操作來實現 管理站與管理站之間的通信。
其中上述操作的訊息都可以在操作參數中一次指定一個或多個管理對象OID信息,也就是說一個訊息一次可以實現對多個被管理對象的操作。
SNMPv1和SNMPv2c採用了一種簡單的基於共同體名的安全機制
管理站和被管設備上都存儲有該充當密碼作用的共同體名;訊息傳送者(一般是管理者)在 要傳送的訊息中的共同體名欄位中填入對應於接收者的共同體名,然後以明文方式在網路 上傳送訊息,接收方(被管理設備)接收到訊息以後,如果訊息格式是正確的,則讀取該字 段,與自身保存的共同體名相比較,來實現對傳送訊息者的認證。在一些實現中,對應於 每個共同體名還有一個機器地址列表,來表示只有地址在這個列表中的機器使用該共同體 名傳送的訊息才認為是可信的。這裡的共同體名就擔任密碼的作用。同時對應於每個共同 體名都有一個訪問控制許可權,可能值為讀或讀寫。只有請求的操作和使用的共同體名的權 限一致才允許進行。
詳細情況請參考RFC 1157、RFC 1902、RFC 2273、RFC 2274。
MRTG的安裝配置
安裝支持軟體
這裡以Rehat7.2為例子討論MRTG的配置和安裝。要安裝MRTG需要安裝以下軟體包:GCC、Perl、gd、libpng和zlib。可以使用下面的命令來判斷系統是否安裝有這些軟 件包:
[root@mail doc]# rpm -qa|grep gd
gd-1.8.4-4
gd-devel-1.8.4-4
[root@mail doc]# rpm -qa|grep perl
perl-5.6.0-17
mod_perl-1.24_01-3
[root@mail doc]# rpm -qa|grep libp
libpng-1.0.12-2
libpng-devel-1.0.12-2
[root@mail doc]# rpm -qa|grep zlib
zlib-1.1.3-24
zlib-devel-1.1.3-24
[root@mail doc]# rpm -qa|grep gcc
gcc-2.96-98
gcc-G77-2.96-98
gcc-c++-2.96-98
如果發現哪個軟體包沒有安裝,只需直接從redhat安裝盤安裝對應的rpm包即可,例如:
root@mail doc]# rpm -ivh zlib-1.1.3-24 zlib-devel-1.1.3-24
MRTG的安裝
此例中mrtg的版本為2.9.17:
[root@mail src]# tar xvfz mrtg-2.9.17.tar.gz
[root@mail src]# cd mrtg-2.9.17
[root@mail mrtg-2.9.17]# ./configure --prefix=/usr/local/mrtg-2
[root@mail mrtg-2.9.17]# make
[root@mail mrtg-2.9.17]# make install
到現在就已經正確地安裝了MRTG系統。
配置SNMP服務
對於不同的設備,配置SNMP支持的方法是不一致的,具體請參考設備的隨機文檔,一般裡面都有詳細的介紹。這裡討論在Linux環境下配置SNMP伺服器,以實現對本機流出流入數據的分析和報表。
在linux環境下安裝snmp軟體包是很容易的,只需要安裝相應的軟體包即可:
[root@mail doc]# rpm -qa|grep snmp
ucd-snmp-4.2.1-7
ucd-snmp-utils-4.2.1-7
ucd-snmp-devel-4.2.1-7
運行下面的命令:
[root@mail doc]# /etc/rc.d/init.d/snmpd start
Starting snmpd: [ OK ]
如果命令輸出如上所示,就表示snmp伺服器啟動正常。
為了配合mrtg使用,還要修改snmpd的配置,以使其允許mrtg讀取其interface(網路接口) 流量數據。
vi /etc/snmp/snmpd.conf
將
#view SystemView included mib2
的內容修改為:
view mib2 included .iso.org.dod.internet.mgmt.mib-2 fc
然後將
access notConfigGroup "" any noauth exact systemview none none
修改為:
access notConfigGroup "" any noauth exact mib2 none none
然後再重新啟動snmpd:
/etc/rc.d/init.d/snmpd restart
配置MRTG
下一步就是要配置mrtg,實現對網路設備的監控。mrtg的配置信息都是保存在mrtg.cfg檔案中的,創建該檔案並且在其中定義希望的監控特性。幸運的是一般不需要直接手工編輯該配置檔案,因為mrtg軟體包提供有cfgmaker配置工具,這是一個腳本檔案,根據運行參數可以自動生成mrtg.cfg配置檔案。在mrtg源碼目錄的bin子目錄下可以得到該工具。
首先在www伺服器的DocumentRoot目錄下創建一個子目錄用來存放mrtg生成的統計檔案,這裡假設apache是默認安裝,因此DocumentRoot在/var/www/html目錄下,在該目錄下創建子目錄mrtg:
mkdir /var/www/html/mrtg
這裡的/var/www/html/mrtg就是mrtg的工作目錄。下面就生成mrtg配置檔案:
cfgmaker --global "WorkDir: /var/www/html/mrtg"
--global "Options[_]: growright,bits"
--ifref=ip
--output /etc/mrtg.cfg
[email protected]
這裡的--global參數表示後面的選項是對後面指定的設備都是有效的(如果希望對多個設 備進行監控時,該參數就會發生作用)。WorkDir用來指示mrtg的工作目錄;Options用來 指定一些特定的選項,這裡的growright,bits是用來指定默認options配置的,對於常見 的套用來說默認options配置就可以滿足需求了。ifref用來指示用什麼選項來標識設備接 口,這裡指定使用IP位址來標識網路設備接口。ifref可以指定為 nr、ip、eth、descr、name。nr表示用接口在MIBII庫中Interface接口的ifIndex來識別 接口;IP表示使用ip地址識別接口;eth表示使用接口的物理地址標識接口;descr表示使 用接口的描述信息來標識接口;name表示使用接口名來標識接口。一般來說ip地址是唯一 的,但是有些情況下接口是沒有IP位址的,例如交換機就會出現這種情況。對於接口來說 nr(接口號)是唯一的,因此對於一般情況使用IP位址就可以了,而對於其他一些情況則需 要採用nr了。"--output /etc/mrtg.cfg"標識將生成的配置檔案存放在/etc/目錄 下。"[email protected]"表示監控IP位址為192.168.0.1的設備,採用public作為共同 體名通過snmp協定來監控設備192.168.0.1。
對於希望使用mrtg來對多個設備進行監控的情況,舉例如下:
cfgmaker --global "WorkDir: /var/www/html/mrtg"
--global "Options[_]: growright,bits"
--ifref=descr
--ifdesc=alias
[email protected]
[email protected]
--global "Options[_]: growright"
--ifref=name
--ifdesc=descr
[email protected]
--ifdesc=name
[email protected] > mrtg.cfg
這裡指示監控四個設備:router1.place.xyz、router2.place.xyz、switch1.place.xyz
和switch2.place.xyz,所有的設備都採用共同體名public來進行監控。並且兩個路由器 採用descr來作為設備的描述信息,而兩個交換機則採用alias作為設備描述(這兩者是不 同的,例如對於cisco路由器來說,對於descr來說設備描述為"Serial0",而對於aliasl 來說則為"Link to HQ")。
對於我這裡的套用環境來說,生成的mrtg.cfg內容如下:
# Created by
# /usr/local/mrtg-2/bin/cfgmaker --global WorkDir: /var/www/html/mrtg --global Options[_]: growright,bits
--output /etc/mrtg.cfg --ifref=ip [email protected]
### Global Config Options
# for UNIX
# WorkDir: /home/http/mrtg
# or for NT
# WorkDir: c:mrtgdata
### Global Defaults
# to get bits instead of bytes and graphs growing to the right
# Options[_]: growright, bits
WorkDir: /var/www/html/mrtg
Options[_]: growright,bits
######################################################################
# System: 192.168.0.1
# Description: Linux 192.168.0.1 2.4.7-10smp #1 SMP Thu Sep 6 17:09:31 EDT 2001 i686
# Contact: Root (configure /etc/snmp/snmp.local.conf)
# Location: Unknown (edit /etc/snmp/snmpd.conf)
######################################################################
### Interface 1 >> Descr: lo | Name: | Ip: 127.0.0.1 | Eth: ###
### The following interface is commented out because:
### * it is a Software Loopback interface
#
# Target[192.168.0.1_127.0.0.1]: /127.0.0.1:[email protected]:
# setenv[192.168.0.1_127.0.0.1]: MRTG_INT_IP="127.0.0.1" MRTG_INT_DESCR="lo"
# MaxBytes[192.168.0.1_127.0.0.1]: 1250000
# Title[192.168.0.1_127.0.0.1]: Traffic Analysis for 127.0.0.1 -- 192.168.0.1
# PageTop[192.168.0.1_127.0.0.1]:
Traffic Analysis for 127.0.0.1 -- 192.168.0.1
#
#
#
#
#
#
#
#
#
System:
192.168.0.1 in Unknown (edit /etc/snmp/snmpd.conf)
Maintainer:
Root (configure /etc/snmp/ snmp.local.conf)
Description:
lo
ifType:
softwareLoopback (24)
ifName:
Max Speed:
10.0 Mbits/s
Ip:
127.0.0.1 (localhost)
### Interface 2 >> Descr: eth0 | Name: | Ip: 211.99.43.111 | Eth:
Target[192.168.0.1_211.99.43.158]: /211.99.43.158:[email protected]:
SetEnv[192.168.0.1_211.99.43.158]: MRTG_INT_IP="211.99.43.158" MRTG_INT_DESCR="eth0"
MaxBytes[192.168.0.1_211.99.43.158]: 1250000
Title[192.168.0.1_211.99.43.158]: Traffic Analysis for 211.99.43.158 -- 192.168.0.1
PageTop[192.168.0.1_211.99.43.158]:
Traffic Analysis for 211.99.43.158 - - 192.168.0.1
System:
192.168.0.1 in Unknown (edit /etc/snmp/snmpd.conf)
Maintainer:
Root (configure /etc/snmp/ snmp.local.conf)
Description:
eth0
ifType:
ethernetCsmacd (6)
ifName:
Max Speed:
10.0 Mbits/s
Ip:
211.99.43.158 (192.168.0.1)
### Interface 3 >> Descr: eth1 | Name: | Ip: 192.168.0.1 | Eth:
Target[192.168.0.1_192.168.0.1]: /192.168.0.1:[email protected]:
SetEnv[192.168.0.1_192.168.0.1]: MRTG_INT_IP="192.168.0.1" MRTG_INT_DESCR="eth1"
MaxBytes[192.168.0.1_192.168.0.1]: 1250000
Title[192.168.0.1_192.168.0.1]: Traffic Analysis for 192.168.0.1 -- 192.168.0.1
PageTop[192.168.0.1_192.168.0.1]:
Traffic Analysis for 192.168.0.1 -- 192.168.0.1
>
System:
192.168.0.1 in Unknown (edit /etc/snmp/snmpd.conf)
Maintainer:
Root (configure /etc/snmp/ snmp.local.conf)
Description:
eth1
ifType:
ethernetCsmacd (6)
ifName:
Max Speed:
10.0 Mbits/s
Ip:
192.168.0.1 (192.168.0.1)
運行mrtg
一旦生成正確的配置檔案,就運行下面的命令:
/usr/local/mrtg-2/bin/mrtg /etc/mrtg.cfg
這將查詢被監控的設備並在工作目錄下創建初始的流量圖和web頁面,在前三次運行時可 能會報告遺失日誌檔案的告警信息,不要理睬這些信息,只需要連續運行三次以後再運行 就不會產生告警信息了。如果仍然出現告警那么就需要察看問題出在哪裡了。
使用手工運行mrtg並不能定時產生適當的統計信息,因此最好還是定時自動運行mrtg來生 成統計信息,默認為五分鐘運行一次。作為root身份crontab -e進入編輯狀態,添加內容如下:
*/5 * * * * /usr/local/mrtg-2/bin/mrtg /etc/mrtg.cfg
或者在配置檔案中加入:RunAsDaemon: yes以守護進程的方式運行,自動五份鍾生成一次,就不用加ctrontab了。
然後就可以通過瀏覽器訪問地址http://192.168.0.1/mrtg/選擇適當的接口地址察看流量信息了。如果希望生成類似於http://www.stat.ee.ethz.ch/mrtg/的信息,就需要自己手工編輯一個index.html文檔存放在/var/www/html/mrtg目錄下,內容為接口說明以及該接口的日統計信息的圖即可。
顯示中方時錯誤處理方法:
A.
看詳細頁時流量那裡顯示$1$2/秒。
在英文下:
In 935.6 kb/s (0.9%)
Out 5306.4 kb/s (5.3%)
可是在中文下顯示:
流入 935.6 $1$2/秒 (0.9%)
流出 5306.4 $1$2/秒 (5.3%)
vi /usr/local/mrtg/lib/mrtg2/locales_mrtg.pm
找到sub gb2312下面:
'([kMG]?)([bB])/s' => '\$1\$2/秒',
'([kMG]?)([bB])/min' => '\$1\$2/分',
'([kMG]?)([bB])/h' => '$1$2/時',
改成:
'([kMG]?)([bB])/s' => '$1$2/秒',
'([kMG]?)([bB])/min' => '$1$2/分',
'([kMG]?)([bB])/h' => '$1$2/時',
重新運行一次:
env LANG=C /usr/local/mrtg/bin/mrtg /etc/mrtg/mrtg.cfg
再看:
流入 935.6 kb/秒 (0.9%)
流出 5306.4 kb/秒 (5.3%)