基于Linux的性能監(jiān)測(cè)比拼和實(shí)現(xiàn)攻略
性能監(jiān)測(cè)的基本概念:
當(dāng)今企業(yè)對(duì)關(guān)鍵服務(wù)效能和穩(wěn)定性方面的要求不斷提高,所以如何科學(xué)以及準(zhǔn)確地獲得服務(wù)運(yùn)行方面的綜合信息顯得越來越重要。于是企業(yè)在部署服務(wù)的同時(shí)也都會(huì)通過各種各樣的方式和手段來部署對(duì)服務(wù)以及其外圍環(huán)境資源的監(jiān)測(cè)。監(jiān)測(cè)的對(duì)象除服務(wù)本身之外還包括服務(wù)所運(yùn)行的基本環(huán)境,如CPU、內(nèi)存、I/O、存儲(chǔ)空間、網(wǎng)絡(luò)吞吐量等使用情況。通過對(duì)這種長(zhǎng)期監(jiān)測(cè)所收集到的數(shù)據(jù)來使用不同的圖形化分析軟件進(jìn)行整理和分析,我們不難判斷出服務(wù)在當(dāng)前以及長(zhǎng)期所運(yùn)行的情況,并為以后的性能調(diào)優(yōu)以及系統(tǒng)排錯(cuò)建立參考的依據(jù)。
基于Linux上性能監(jiān)測(cè)的基本原理以及種類:
在Linux系統(tǒng)上的性能監(jiān)測(cè)所采用的方式基本上有兩種:
第一種,通過snmp + 數(shù)據(jù)采集軟件來實(shí)現(xiàn):
通過在Linux服務(wù)器上啟動(dòng)snmp簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議來動(dòng)態(tài)采集服務(wù)器在軟件甚至硬件各方面的運(yùn)行參數(shù),這樣服務(wù)器就成為了一個(gè)被監(jiān)測(cè)的節(jié)點(diǎn)。然后在其它的網(wǎng)管工作站上一部分的客戶端軟件能夠采集snmp數(shù)據(jù)并動(dòng)態(tài)生成可以通過Web頁面訪問的HTML信息,而另外一部分的客戶端軟件本身集成了更強(qiáng)大的數(shù)據(jù)采集以及繪圖功能,結(jié)合到一起可以生成更加直觀和具體的web頁面。這種類型的監(jiān)測(cè)所獲得的數(shù)據(jù)格式標(biāo)準(zhǔn)而且全面,配置簡(jiǎn)單,所以從綜合監(jiān)測(cè)的角度看是一個(gè)不錯(cuò)的方案。
第二種,通過性能監(jiān)測(cè)命令編寫script + 數(shù)據(jù)采集軟件來實(shí)現(xiàn):
在某些情況下snmp協(xié)議的配置相對(duì)比較麻煩,但是系統(tǒng)本身提供了很多諸如sar,iostat以及free等不同的可以周期和規(guī)律性執(zhí)行的性能監(jiān)測(cè)命令,這就給監(jiān)測(cè)提供了相當(dāng)?shù)谋憷R驗(yàn)榭梢詫⑦@些命令嵌入到腳本中以周期性生成性能監(jiān)測(cè)軟件所需要的數(shù)據(jù),最終一樣可以通過這些數(shù)據(jù)繪制出直觀的統(tǒng)計(jì)圖。這種類型的監(jiān)測(cè)所獲得的信息更加靈活和精確,對(duì)于一些熟悉scripts編程的用戶來說,使用起來相當(dāng)?shù)眯膽?yīng)手。
除此之外,利用命令監(jiān)測(cè)可以無限制擴(kuò)展,用戶可以通過各種管道來獲得和定制自己的監(jiān)測(cè)腳本。所以綜上所述,這兩種監(jiān)測(cè)的方案各有其優(yōu)勢(shì)。因此我們會(huì)在下文中針對(duì)兩種方案各提供一部分案例由簡(jiǎn)單到復(fù)雜,一步步對(duì)各種方案的操作方法予以說明和講解。
在更多的情況下很多企業(yè)都傾向于選擇通過SNMP來獲取服務(wù)器運(yùn)行的各種信息,因此我們花點(diǎn)時(shí)間來介紹一下SNMP協(xié)議的基本概念以及工作原理。
簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議SNMP是一種廣泛用于監(jiān)測(cè)網(wǎng)絡(luò)設(shè)備(計(jì)算機(jī)、路由器)甚至其它設(shè)備(例如UPS)的網(wǎng)絡(luò)協(xié)議,也是專門設(shè)計(jì)用于在IP網(wǎng)絡(luò)管理網(wǎng)絡(luò)節(jié)點(diǎn)(包括服務(wù)器、工作站、路由器、交換機(jī)及 HUBS 等)的一種標(biāo)準(zhǔn),屬于應(yīng)用層協(xié)議。SNMP使網(wǎng)絡(luò)管理員能夠管理網(wǎng)絡(luò)效能,發(fā)現(xiàn)并解決網(wǎng)絡(luò)問題以及規(guī)劃網(wǎng)絡(luò)增長(zhǎng)。通過 SNMP 接收隨機(jī)消息(及事件報(bào)告),網(wǎng)絡(luò)管理系統(tǒng)將獲知網(wǎng)絡(luò)出現(xiàn)的各種問題。
SNMP 管理的網(wǎng)絡(luò)有三個(gè)主要組成部分:被管理的設(shè)備(Managed Device)、代理(Agent)和網(wǎng)絡(luò)管理系統(tǒng)(Network Management Station即NMS)。
被管理的設(shè)備是一個(gè)網(wǎng)絡(luò)節(jié)點(diǎn),包含ANMP代理并處在管理網(wǎng)絡(luò)之中,有時(shí)也稱為網(wǎng)絡(luò)單元,用于收集并存儲(chǔ)網(wǎng)絡(luò)信息,通過SNMP、NMS能得到這些信息。被管理的設(shè)備可能是路由器、訪問服務(wù)器,交換機(jī)和網(wǎng)橋、HUBS、主機(jī)或打印機(jī)等。
SNMP代理是被管理設(shè)備上的一個(gè)網(wǎng)絡(luò)管理軟件模塊。SNMP代理擁有本地的相關(guān)管理信息,并將它們轉(zhuǎn)換成與SNMP兼容的格式。
NMS運(yùn)行應(yīng)用程序以實(shí)現(xiàn)監(jiān)測(cè)被管理設(shè)備。此外,NMS還為網(wǎng)絡(luò)管理提供了大量的處理程序及必須的儲(chǔ)存資源。任何受管理的網(wǎng)絡(luò)至少需要一個(gè)或多個(gè)NMS。
目前,SNMP有3種不同的版本:SNMPv1、SNMPv2和SNMPv3。第1版和第2版沒有太大差距,但SNMPv2是增強(qiáng)版本,包含了其它協(xié)議操作。前兩種snmp協(xié)議主要使用基于團(tuán)體名稱(community)的方式來實(shí)現(xiàn)網(wǎng)管工作站對(duì)代理的訪問認(rèn)證,與前兩種相比SNMPv3則包含更多安全和遠(yuǎn)程配置,在認(rèn)證方面可以使用基于某種對(duì)稱和非對(duì)稱加密協(xié)議來加密的用戶名和密碼來實(shí)現(xiàn)網(wǎng)管工作站對(duì)代理的訪問認(rèn)證。而且為解決不同SNMP版本間的不兼容問題,RFC3584定義了三者共存策略。
另外SNMP協(xié)議包括了四種基本的動(dòng)作:
Get:如果網(wǎng)絡(luò)管理系統(tǒng)需要獲得被監(jiān)測(cè)的設(shè)備信息,則會(huì)執(zhí)行g(shù)et動(dòng)作。
GetNext:如果要獲得的某個(gè)項(xiàng)目信息是一個(gè)項(xiàng)目列表中多個(gè)項(xiàng)目之一,網(wǎng)絡(luò)管理系統(tǒng)會(huì)執(zhí)行g(shù)etnext獲得相關(guān)所有項(xiàng)目信息。
Set:網(wǎng)絡(luò)管理系統(tǒng)使用set命令來改變被管理項(xiàng)目的某個(gè)值。
Trap:如果被管理設(shè)備需要通知網(wǎng)絡(luò)管理系統(tǒng)某些信息,需要執(zhí)行trap命令。
最后在Red Hat中的SNMP相關(guān)包,在該包中提供了MIB,其信息文件是/usr/share/snmp/mibs。MIB是關(guān)于某個(gè)設(shè)備層次化的數(shù)據(jù)庫(Management Information Base)。對(duì)于這個(gè)設(shè)備的每個(gè)值都采用唯一的Object Identifier即OID表示,OID格式包括可用名稱,前綴或者數(shù)字。
如果在系統(tǒng)中安裝了net-snmp-utils包,則snmp中的MIB和OID信息可以通過snmptranslate命令來顯示出整個(gè)MIB樹以及其上OID的信息,snmptranslate主要用于轉(zhuǎn)換以文字名稱或者數(shù)字ID顯示的OID信息以及列出snmp的MIB結(jié)構(gòu)樹。
相關(guān)文章:
1. 世界上最流行的操作系統(tǒng)不是Linux或者Windows,而是MINIX2. linux端口映射命令是什么?使用iptables做端口映射shell的方法3. Linux下Web服務(wù)器環(huán)境搭建LNMP一鍵安裝包 v2.6[20141224更新]4. 怎樣在1秒內(nèi)啟動(dòng)Linux5. Linux下能用AMD Vega顯卡嗎6. WindowsXP Secure CRT登錄Linux亂碼問題7. 搭建Linux和Windows雙重系統(tǒng)8. Linux 5.10.10正式發(fā)布:修復(fù) NULL 指針不正確等9. 另辟蹊徑 實(shí)現(xiàn)Linux與Windows資源共享10. Linux性能監(jiān)控工具nmon安裝及使用教程解析

網(wǎng)公網(wǎng)安備