在一個(gè)IT環(huán)境中會(huì)存在各種各樣的設(shè)備,例如,硬件設(shè)備、軟件設(shè)備,其系統(tǒng)的構(gòu)成也是非常復(fù)雜的。
明溪網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián)公司,明溪網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為明溪近1000家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\成都外貿(mào)網(wǎng)站建設(shè)公司要多少錢,請(qǐng)找那個(gè)售后服務(wù)好的明溪做網(wǎng)站的公司定做!
多種應(yīng)用構(gòu)成復(fù)雜的IT業(yè)務(wù)系統(tǒng),保證這些資源的正常運(yùn)轉(zhuǎn),是一個(gè)公司IT部門的職責(zé)。而要讓這些應(yīng)用能夠穩(wěn)定地運(yùn)行,則需要專業(yè)IT人員進(jìn)行設(shè)計(jì)、架構(gòu)、維護(hù)和調(diào)優(yōu)。在這個(gè)過(guò)程中,為了及時(shí)掌控基礎(chǔ)環(huán)境和業(yè)務(wù)應(yīng)用系統(tǒng)的可用性,需要獲取各個(gè)組建的運(yùn)行狀態(tài),如CPU的利用率、系統(tǒng)的負(fù)載、服務(wù)的運(yùn)行、端口的連通、帶寬流量、網(wǎng)站訪問(wèn)狀態(tài)碼等信息。而這一切都離不開(kāi)監(jiān)控系統(tǒng)。
一個(gè)監(jiān)控系統(tǒng)的組成大題可以分為兩部分:數(shù)據(jù)采集部分(客戶端)和數(shù)據(jù)存儲(chǔ)分析告警展示部分(服務(wù)器端)。這兩部分構(gòu)成了監(jiān)控系統(tǒng)的基本模型。
數(shù)據(jù)采集的工作模式可以分為被動(dòng)模式(服務(wù)端到客戶端采集數(shù)據(jù))和主動(dòng)模式(客戶端主動(dòng)上報(bào)數(shù)據(jù)到服務(wù)端)。通常,大多數(shù)監(jiān)控系統(tǒng)應(yīng)該能同時(shí)支持這兩種模式。被動(dòng)模式對(duì)服務(wù)器的開(kāi)銷較大,適合小規(guī)模的監(jiān)控環(huán)境;主動(dòng)模式對(duì)服務(wù)器的開(kāi)銷較小,適合大規(guī)模的監(jiān)控環(huán)境。
采集數(shù)據(jù)的協(xié)議方式可以分為兩種:專用客戶端采集和公用協(xié)議采集(SNMP/SSH/Telnet等)。
對(duì)于采集到的監(jiān)控?cái)?shù)據(jù),可以將其存儲(chǔ)到數(shù)據(jù)庫(kù)或者文本或者其他方式,具體采用哪一種,應(yīng)根據(jù)實(shí)際需求來(lái)決定。
對(duì)于一般的監(jiān)控環(huán)境,被監(jiān)控的節(jié)點(diǎn)不多,產(chǎn)生的數(shù)據(jù)較少,采用C/S(Client/Server,客戶端/服務(wù)端)架構(gòu)就足夠了,這種架構(gòu)適合于規(guī)模較小、處于同一地域的環(huán)境。
對(duì)于大規(guī)模的監(jiān)控環(huán)境,被監(jiān)控的節(jié)點(diǎn)多,且監(jiān)控類型多,監(jiān)控產(chǎn)生的數(shù)據(jù)和網(wǎng)絡(luò)連接開(kāi)銷會(huì)非常巨大,而且由于跨地域等多種因素,需要分布式的解決方案,常見(jiàn)的方式為C/P/S(Client/Proxy/Server,客戶端/代理端/服務(wù)端)架構(gòu),采用中間代理將大大提高監(jiān)控服務(wù)端的處理速度,從而能支撐構(gòu)建大型分布式監(jiān)控的環(huán)境。
監(jiān)控系統(tǒng)更重要的功能是告警和故障處理,這對(duì)及時(shí)解決問(wèn)題和故障自愈非常重要。告警的時(shí)候,需要考慮到故障的有效匯報(bào)和集中匯報(bào),防止出現(xiàn)“告警洪水”,即同一類告警信息重復(fù)大量地發(fā)送。
支持多種方式,如短信、郵件、IM和其他接口。具備可定制化功能,對(duì)第三方告警介質(zhì)提供可編程接口。這一點(diǎn)在很多場(chǎng)合非常重要,例如,將告警結(jié)果發(fā)送到專用的告警分析系統(tǒng)。
支持對(duì)告警內(nèi)容的分析自動(dòng)處理,防止誤報(bào)、漏報(bào),以及防止抖動(dòng)。這一點(diǎn)對(duì)大多數(shù)監(jiān)控系統(tǒng)都是一個(gè)值得挑戰(zhàn)和研究的課題。例如,一個(gè)機(jī)房網(wǎng)絡(luò)發(fā)生故障,按照常規(guī)警告內(nèi)容,會(huì)收到無(wú)數(shù)條告警信息,內(nèi)容是每個(gè)設(shè)備的故障,而對(duì)于更高級(jí)的告警信息,我們希望收到的是“某機(jī)房存在網(wǎng)絡(luò)故障,受影響的設(shè)備的IP是x.x.x.x~x.x.x.x,受影響的業(yè)務(wù)是xxx”,這樣做的目的是讓告警信息更智能、更有效,防止“告警×××”的產(chǎn)生。
在監(jiān)控軟件中,開(kāi)源的解決方案有流量監(jiān)控(MRTG、Cacti、SmokingPing、Graphite等)和性能警告(Nagios、Zabbix、Zenoss Core、Ganglia、OpenTSDB等)可供選擇,并且每種軟件都有自己的特點(diǎn)和功能,各自的側(cè)重點(diǎn)和目標(biāo)不完全相同,在設(shè)計(jì)理念和實(shí)現(xiàn)方法上大同小異,但都具有共同特征,例如,采集數(shù)據(jù)、分析展示、告警以及簡(jiǎn)單的故障自動(dòng)處理。最終都能達(dá)到對(duì)IT系統(tǒng)服務(wù)可用性的一個(gè)完全展示。
Cacti是一套基于PHP、MySQL、SNMP和RRDtool開(kāi)發(fā)的網(wǎng)絡(luò)流量監(jiān)測(cè)圖形分析工具。它通過(guò)snmpget來(lái)獲取數(shù)據(jù),使用RRDtool繪圖,但使用者無(wú)須了解RRDtool復(fù)雜的參數(shù)。他提供了非常強(qiáng)大的數(shù)據(jù)和用戶管理功能,可以指定每一個(gè)用戶能查看樹(shù)狀結(jié)構(gòu)、主機(jī)設(shè)備以及任何一張圖,還可以與LDAP結(jié)合進(jìn)行用戶認(rèn)證,同時(shí)也能自定義模版,在歷史數(shù)據(jù)的展示監(jiān)控方面,其功能相當(dāng)不錯(cuò)。
Cacti通過(guò)添加模版,使不通設(shè)備的監(jiān)控添加具有可復(fù)用性,并且具備可自定義繪圖的功能,具有強(qiáng)大的運(yùn)算能力(數(shù)據(jù)的疊加)。
Nagios是一個(gè)企業(yè)級(jí)的監(jiān)控系統(tǒng),可監(jiān)控服務(wù)的運(yùn)行狀態(tài)和網(wǎng)絡(luò)信息等,并能監(jiān)視所指定的本地或遠(yuǎn)程主機(jī)參數(shù)及服務(wù),同時(shí)提供異常告警通知功能等。
Nagios可運(yùn)行在Linux和Unix平臺(tái)上,同時(shí)提供一個(gè)可選的基于瀏覽器的Web界面,以方便系統(tǒng)管理人員查看網(wǎng)絡(luò)狀態(tài)、各種系統(tǒng)問(wèn)題,以及日志等。
Nagios的功能側(cè)重于監(jiān)控服務(wù)的可用性,能及時(shí)根據(jù)處罰條件告警。
目前Nagios也占領(lǐng)了一定的市場(chǎng)份額,不過(guò)Nagios并沒(méi)有與時(shí)俱進(jìn),已經(jīng)不能滿足于多遍的監(jiān)控需求,架構(gòu)的擴(kuò)展性和使用的便捷性有待增強(qiáng),其高級(jí)功能集成在商業(yè)版當(dāng)中。
Zabbix是一個(gè)分布式監(jiān)控系統(tǒng),支持多種采集方式和采集客戶端,有專用的Agent,也可以支持SNMP、IPMI、JMX、Telnet、SSH等多種協(xié)議,它講采集到的數(shù)據(jù)存放到數(shù)據(jù)庫(kù),然后對(duì)其進(jìn)行分析整理,達(dá)到條件觸發(fā)警告。其靈活的擴(kuò)展性和豐富的功能是其他監(jiān)控系統(tǒng)所不能比的。相對(duì)來(lái)說(shuō),它的總體功能做得非常優(yōu)秀。
隨著云計(jì)算、虛擬化的大規(guī)模應(yīng)用,以及未來(lái)移動(dòng)互聯(lián)網(wǎng)、物聯(lián)網(wǎng)等的興起,Zabbix的使用將越來(lái)越廣泛,引用場(chǎng)合也越來(lái)越多。目前,不少互聯(lián)網(wǎng)公司、云計(jì)算公司、系統(tǒng)集成軟件公司、外包服務(wù)公司等,都有對(duì)Zabbix進(jìn)行二次開(kāi)發(fā)和大規(guī)模使用。
Zabbix適合中小型企業(yè)、大中型企業(yè)的用戶使用。單個(gè)Server節(jié)點(diǎn)可以支持上萬(wàn)臺(tái)設(shè)備,每秒可以處理1.5萬(wàn)次請(qǐng)求,理論上可以支持5萬(wàn)臺(tái)設(shè)備。
Zabbix是一個(gè)企業(yè)級(jí)的高度集成開(kāi)源監(jiān)控軟件,提供分布式監(jiān)控解決方案,可以用來(lái)監(jiān)控設(shè)備、服務(wù)等的可用性和性能,其產(chǎn)品部分企業(yè)版和社區(qū)版,是一個(gè)真正的源代碼開(kāi)放產(chǎn)品,用戶可以自由下載并使用該軟件。
Zabbix SIA公司是Zabbix的官方技術(shù)團(tuán)隊(duì)成立的公司,其運(yùn)作模式是商業(yè)軟件的開(kāi)源——軟件的使用免費(fèi),服務(wù)收費(fèi)。其為用戶提供咨詢、技術(shù)支持服務(wù)(定制開(kāi)發(fā)、解決方案、人員培訓(xùn)等)。
對(duì)比同類監(jiān)控產(chǎn)品,有以下理由選擇使用Zabbix。
1. Zabbix是一個(gè)自由開(kāi)放源碼的產(chǎn)品,用戶可以對(duì)源代碼進(jìn)行任意修改和二次開(kāi)發(fā)。
2. 安裝和配置簡(jiǎn)單,用戶僅僅需要一些簡(jiǎn)單的學(xué)習(xí),即可完成監(jiān)控的搭建工作。
3. 搭建環(huán)境簡(jiǎn)單,基于開(kāi)源軟件構(gòu)建平臺(tái),僅需要Linux、Apache/Nginx、MySQL/PostgreSQL/Oracle、PHP即可,無(wú)須專用操作系統(tǒng)支持,也無(wú)須專用硬件。
4. Zabbix-Agent完全支持Linux、Unix、Windows、AIX、BSD和Solaris的監(jiān)控,Server和Agent都采用C語(yǔ)言編碼,對(duì)系統(tǒng)的資源占用非常小,數(shù)據(jù)采集的性能和速度非??臁?/p>
5. 將數(shù)據(jù)采集持久存儲(chǔ)到數(shù)據(jù)庫(kù),便于對(duì)監(jiān)控?cái)?shù)據(jù)的二次分析。
6. 非常豐富的擴(kuò)展能力,很輕松地自定義監(jiān)控項(xiàng)和實(shí)現(xiàn)數(shù)據(jù)采集,幾乎能監(jiān)控所有的數(shù)據(jù)。例如,可以監(jiān)控網(wǎng)站的訪問(wèn)次數(shù),監(jiān)控UPS和天氣溫度等。毫不夸張的說(shuō),在Zabbix的世界里,往往有你想不到的事情,沒(méi)有辦不到的事情。
7. 開(kāi)源社區(qū)的運(yùn)作模式,有各種論壇、郵件列表、IM及時(shí)溝通等。
因此,如果你是一個(gè)系統(tǒng)管理員、網(wǎng)絡(luò)管理員和運(yùn)維人員,想要構(gòu)建一套自己的監(jiān)控系統(tǒng)環(huán)境,Zabbix將會(huì)是最佳的選擇。如果你是開(kāi)發(fā)人員,想基于開(kāi)源軟件開(kāi)發(fā)一套屬于自己的監(jiān)控系統(tǒng),Zabbix也是比較好的選擇。
Zabbix支持多種網(wǎng)絡(luò)方式下的監(jiān)控,可通過(guò)分布式的方式部署和安裝監(jiān)控代理,整個(gè)架構(gòu)如下圖所示。
Zabbix有常見(jiàn)的商業(yè)監(jiān)控軟件所具備的功能,如主機(jī)的性能監(jiān)控、網(wǎng)絡(luò)設(shè)備性能監(jiān)控、數(shù)據(jù)庫(kù)性能監(jiān)控、FTP等通用協(xié)議監(jiān)控、多種告警方式、詳細(xì)的暴表圖表繪制、分布式、可擴(kuò)展能力、API等。
數(shù)據(jù)收集
l 支持Agent、SNMP、IPMI、JMX、SSH、Telnet等。
l 自定義的檢測(cè)。
l 自定義收集數(shù)據(jù)的頻率。
靈活的觸發(fā)器
l 可以定義非常靈活的告警閥值和多種告警相關(guān)聯(lián)的條件。
高度可定制的警告
l 發(fā)送通知,可定制包括告警級(jí)別、動(dòng)作升級(jí)、收件人和媒體類型。
l 通知可以使用全局宏變量和自定義變量。
l 自動(dòng)處理功能包括遠(yuǎn)程命令的自動(dòng)調(diào)用和執(zhí)行。
實(shí)時(shí)繪圖功能
l 監(jiān)控項(xiàng)將數(shù)據(jù)實(shí)時(shí)繪制在圖形上。
Web監(jiān)控能力
l Zabbix可以模擬瀏覽器請(qǐng)求一個(gè)網(wǎng)站,并檢查返回值和響應(yīng)時(shí)間。
多種可視化展示
l 可以自定義監(jiān)控的展示圖,將多種監(jiān)控?cái)?shù)據(jù)集中展示到一張圖中。
l 網(wǎng)絡(luò)拓?fù)鋱D。
l 自定義的Screens和Slide shows可以將多種圖形集中展示。
l 報(bào)表功能。
l 資源使用情況的監(jiān)控展示。
歷史數(shù)據(jù)的存儲(chǔ)
l 數(shù)據(jù)存儲(chǔ)在數(shù)據(jù)庫(kù)中。
l 歷史數(shù)據(jù)的存放周期可配置。
l 定期刪除過(guò)期的歷史數(shù)據(jù)。
配置非常容易
配置比較簡(jiǎn)單,只需要以下兩步即可。
第一步:添加設(shè)備。
第二步:應(yīng)用模版即可完成監(jiān)控。
使用模版
l 模版可以分組。
l 模版具有可繼承性。
網(wǎng)絡(luò)發(fā)現(xiàn)
l 支持自動(dòng)發(fā)現(xiàn)網(wǎng)絡(luò)設(shè)備和服務(wù)器。
l Agent自動(dòng)注冊(cè)。
快速的訪問(wèn)接口
l Web頁(yè)面基于PHP。
l 遠(yuǎn)程訪問(wèn)。
l 日志審計(jì)。
API功能
l 應(yīng)用API功能可以方便地和其他系統(tǒng)結(jié)合,包括手機(jī)客戶端的使用。
系統(tǒng)權(quán)限
l 不通的用戶展示監(jiān)控的資源不同。
l 對(duì)用戶的身份認(rèn)證。
程序特性
l 用C語(yǔ)言編寫,其性能和內(nèi)存開(kāi)銷非常小。
大型環(huán)境的支持
l 利用Zabbix-Proxy方式即可輕松構(gòu)建遠(yuǎn)程監(jiān)控。