2018-01-06

監(jiān)控的意義

監(jiān)控是整個運維乃至整個產(chǎn)品生命周期中最重要的一環(huán)衬潦,事前及時預警發(fā)現(xiàn)故障,事后提供詳實的數(shù)據(jù)用于追查定位問題植酥。

嚴格意義上來說镀岛,線上的服務(wù)器沒有監(jiān)控弦牡,是不允許上線的。

常用的開源監(jiān)控

  • 老牌監(jiān)控:

MRTGMulti Route Trffic Grapher)是一套可用來繪制網(wǎng)絡(luò)流量圖的軟件漂羊,由瑞士奧爾滕的Tobias OetikerDave Rand所開發(fā)驾锰,以GPL授權(quán)。 MRTG最好的版本是1995年推出的走越,用perl語言寫成椭豫,可跨平臺使用,數(shù)據(jù)采集用SNMP協(xié)議旨指,MRTG將手機到的數(shù)據(jù)通過Web頁面以GIF或者PNG格式繪制出圖像赏酥。

Grnglia是一個跨平臺的、可擴展的淤毛、高性能的分布式監(jiān)控系統(tǒng)今缚,如集群和網(wǎng)格。它基于分層設(shè)計低淡,使用廣泛的技術(shù)姓言,用RRDtool存儲數(shù)據(jù)。具有可視化界面蔗蹋,適合對集群系統(tǒng)的自動化監(jiān)控何荚。其精心設(shè)計的數(shù)據(jù)結(jié)構(gòu)和算法使得監(jiān)控端到被監(jiān)控端的連接開銷非常低。目前已經(jīng)有成千上萬的集群正在使用這個監(jiān)控系統(tǒng)猪杭,可以輕松的處理2000個節(jié)點的集群環(huán)境餐塘。

Cacti(英文含義為仙人掌)是一套基于PHP、MySQL皂吮、SNMP和RRDtool開發(fā)的網(wǎng)絡(luò)流量監(jiān)測圖形分析工具戒傻,它通過snmpget來獲取數(shù)據(jù)使用RRDtool繪圖,但使用者無須了解RRDtool復雜的參數(shù)蜂筹。提供了非常強大的數(shù)據(jù)和用戶管理功能需纳,可以指定每一個用戶能查看樹狀結(jié)構(gòu)、主機設(shè)備以及任何一張圖艺挪,還可以與LDAP結(jié)合進行用戶認證不翩,同時也能自定義模板。在歷史數(shù)據(jù)展示監(jiān)控方面麻裳,其功能相當不錯口蝠。 Cacti通過添加模板,使不同設(shè)備的監(jiān)控添加具有可復用性津坑,并且具備可自定義繪圖的功能妙蔗,具有強大的運算能力(數(shù)據(jù)的疊加功能)

Nagios是一個企業(yè)級監(jiān)控系統(tǒng),可監(jiān)控服務(wù)的運行狀態(tài)和網(wǎng)絡(luò)信息等疆瑰,并能監(jiān)視所指定的本地或遠程主機狀態(tài)以及服務(wù)眉反,同時提供異常告警通知功能等狞谱。 Nagios可運行在Linux和UNIX平臺上。同時提供Web界面禁漓,以方便系統(tǒng)管理人員查看網(wǎng)絡(luò)狀態(tài)、各種系統(tǒng)問題孵睬、以及系統(tǒng)相關(guān)日志等 Nagios的功能側(cè)重于監(jiān)控服務(wù)的可用性播歼,能根據(jù)監(jiān)控指標狀態(tài)觸發(fā)告警。目前Nagios也占領(lǐng)了一定的市場份額掰读,不過Nagios并沒有與時俱進秘狞,已經(jīng)不能滿足于多變的監(jiān)控需求,架構(gòu)的擴展性和使用的便捷性有待增強蹈集,其高級功能集成在商業(yè)版Nagios XI中烁试。

Smokeping主要用于監(jiān)視網(wǎng)絡(luò)性能,包括常規(guī)的ping拢肆、www服務(wù)器性能减响、DNS查詢性能、SSH性能等郭怪。底層也是用RRDtool做支持支示,特點是繪制圖非常漂亮,網(wǎng)絡(luò)丟包和延遲用顏色和陰影來標示鄙才,支持將多張圖疊放在一起颂鸿,其作者還開發(fā)了MRTG和RRDtll等工具。
Smokeping的站點為:http://tobi.oetiker.cn/hp

開源監(jiān)控系統(tǒng)OpenTSDB用Hbase存儲所有時序(無須采樣)的數(shù)據(jù)攒庵,來構(gòu)建一個分布式嘴纺、可伸縮的時間序列數(shù)據(jù)庫。它支持秒級數(shù)據(jù)采集浓冒,支持永久存儲栽渴,可以做容量規(guī)劃,并很容易地接入到現(xiàn)有的告警系統(tǒng)里裆蒸。 OpenTSDB可以從大規(guī)模的集群(包括集群中的網(wǎng)絡(luò)設(shè)備熔萧、操作系統(tǒng)、應(yīng)用程序)中獲取相應(yīng)的采集指標僚祷,并進行存儲佛致、索引和服務(wù),從而使這些數(shù)據(jù)更容易讓人理解辙谜,如Web化俺榆、圖形化等。

  • 王牌監(jiān)控

Zabbix是一個分布式監(jiān)控系統(tǒng)装哆,支持多種采集方式和采集客戶端罐脊,有專用的Agent代理定嗓,也支持SNMP、IPMI萍桌、JMX宵溅、Telnet、SSH等多種協(xié)議上炎,它將采集到的數(shù)據(jù)存放到數(shù)據(jù)庫恃逻,然后對其進行分析整理,達到條件觸發(fā)告警藕施。其靈活的擴展性和豐富的功能是其他監(jiān)控系統(tǒng)所不能比的寇损。相對來說,它的總體功能做的非常優(yōu)秀裳食。
從以上各種監(jiān)控系統(tǒng)的對比來看矛市,Zabbix都是具有優(yōu)勢的,其豐富的功能诲祸、可擴展的能力浊吏、二次開發(fā)的能力和簡單易用的特點,讀者只要稍加學習烦绳,即可構(gòu)建自己的監(jiān)控系統(tǒng)卿捎。

小米的監(jiān)控系統(tǒng):open-falcon。open-falcon的目標是做最開放径密、最好用的互聯(lián)網(wǎng)企業(yè)級監(jiān)控產(chǎn)品午阵。

OWL是TalkingData公司推出的一款開源分布式監(jiān)控系統(tǒng)OWLgithub地址

  • 三方監(jiān)控

現(xiàn)在市場上有很多不錯的第三方監(jiān)控,比如:監(jiān)控寶享扔、監(jiān)控易底桂、聽云、還有很多云廠商自帶監(jiān)控惧眠,但是在這里我們不打算著重介紹籽懦,如果想了解三方監(jiān)控可自行上官網(wǎng)咨詢。

Zabbix的功能和特性

  • 安裝配置簡單氛魁。
  • 可視化web管理界面
  • 免費開源
  • 支持中文
  • 自動發(fā)現(xiàn)
  • 分布式監(jiān)控
  • 實時繪圖

Zabbix架構(gòu)及工作流程

zabbix架構(gòu) 如圖所示:

image.png

Zabbix工作流程
1.數(shù)據(jù)采集: Zabbix通過SNMP暮顺、Agent、ICMP秀存、SSH捶码、IPMI等對系統(tǒng)進行數(shù)據(jù)采集
2.數(shù)據(jù)存儲: Zabbix存儲在MySQL上,也可以存儲在其他數(shù)據(jù)庫服務(wù)
3.數(shù)據(jù)分析: 當我們事后需要復盤分析故障時或链,zabbix能給我們提供圖形以及時間等相關(guān)信息惫恼,方面我們確定故障所在。
4.數(shù)據(jù)展示: web界面展示澳盐、(移動APP祈纯、java_php開發(fā)一個web界面也可以)
5.監(jiān)控報警:電話報警令宿、郵件報警、微信報警腕窥、短信報警粒没、報警升級機制等(無論什么報警都可以)
6.報警處理:當接收到報警,我們需要根據(jù)故障的級別進行處理簇爆,比如:重要緊急革娄、重要不緊急,等冕碟。根據(jù)故障的級別,配合相關(guān)的人員進行快速處理匆浙。

Zabbix的軟件組成

默認情況下zabbix包含5個程序:zabbix_agentd安寺、zabbix_get、zabbix_proxy首尼、zabbix_sender挑庶、zabbix_server,另外一個zabbix_java_gateway是可選软能,這個需要另外安裝迎捺。下面來分別介紹下他們各自的作用。

  • zabbix_agentd:客戶端守護進程查排,此進程收集客戶端數(shù)據(jù)凳枝,例如cpu負載、內(nèi)存跋核、硬盤使用情況等岖瑰。
  • zabbix_get:zabbix工具,單獨使用的命令砂代,通常在server或者proxy端執(zhí)行獲取遠程客戶端信息的命令蹋订。通常用戶排錯。例如在server端獲取不到客戶端的內(nèi)存數(shù)據(jù)刻伊,我們可以使用zabbix_get獲取客戶端的內(nèi)容的方式來做故障排查露戒。
  • zabbix_sender:zabbix工具,用于發(fā)送數(shù)據(jù)給server或者proxy捶箱,通常用于耗時比較長的檢查智什。很多檢查非常耗時間,導致zabbix超時讼呢。于是我們在腳本執(zhí)行完畢之后撩鹿,使用sender主動提交數(shù)據(jù)。
  • zabbix_server:zabbix服務(wù)端守護進程悦屏。zabbix_agentd节沦、zabbix_get键思、zabbix_sender、zabbix_proxy甫贯、zabbix_java_gateway的數(shù)據(jù)最終都是提交到server

備注:當然不是數(shù)據(jù)都是主動提交給zabbix_server,也有的是server主動去取數(shù)據(jù)吼鳞。

  • zabbix_proxy:zabbix代理守護進程。功能類似server叫搁,唯一不同的是它只是一個中轉(zhuǎn)站赔桌,它需要把收集到的數(shù)據(jù)提交/被提交到server里。
  • zabbix_java_gateway:zabbix2.0之后引入的一個功能渴逻。顧名思義:Java網(wǎng)關(guān)疾党,類似agentd,但是只用于Java方面惨奕。需要特別注意的是雪位,它只能主動去獲取數(shù)據(jù),而不能被動獲取數(shù)據(jù)梨撞。它的數(shù)據(jù)最終會給到server或者proxy雹洗。

Zabbix的邏輯關(guān)系圖

image.png

Zabbix監(jiān)控環(huán)境中相關(guān)術(shù)語

1、主機host):要監(jiān)控的網(wǎng)絡(luò)設(shè)備卧波,可由IP或DNS名稱指定时肿;
2、主機組host group):主機的邏輯容器港粱,可以包含主機和模板螃成,但同一個組織內(nèi)的主機和模板不能互相鏈接;主機組通常在給用戶或用戶組指派監(jiān)控權(quán)限時使用查坪;
3锈颗、監(jiān)控項item):一個特定監(jiān)控指標的相關(guān)的數(shù)據(jù);這些數(shù)據(jù)來自于被監(jiān)控對象咪惠;item是zabbix進行數(shù)據(jù)收集的核心击吱,相對某個監(jiān)控對象,每個item都由”key”標識遥昧;
4覆醇、觸發(fā)器trigger):一個表達式,用于評估某監(jiān)控對象的特定item內(nèi)接收到的數(shù)據(jù)是否在合理范圍內(nèi)炭臭,也就是閾值永脓;接收的數(shù)據(jù)量大于閾值時,觸發(fā)器狀態(tài)將從”O(jiān)K”轉(zhuǎn)變?yōu)椤盤roblem”鞋仍,當數(shù)據(jù)再次恢復到合理范圍常摧,又轉(zhuǎn)變?yōu)椤監(jiān)K”;
5、事件event):觸發(fā)一個值得關(guān)注的事情落午,比如觸發(fā)器狀態(tài)轉(zhuǎn)變谎懦,新的agent或重新上線的agent的自動注冊等;
6溃斋、動作action):指對于特定事件事先定義的處理方法界拦,如發(fā)送通知,何時執(zhí)行操作梗劫;
7享甸、報警升級escalation):發(fā)送警報或者執(zhí)行遠程命令的自定義方案,如每隔5分鐘發(fā)送一次警報梳侨,共發(fā)送5次等蛉威;
8、媒介media):發(fā)送通知的手段或者通道走哺,如Email瓷翻、Jabber或者SMS等;
9割坠、通知notification):通過選定的媒介向用戶發(fā)送的有關(guān)某事件的信息;
10妒牙、遠程命令remote command):預定義的命令彼哼,可在被監(jiān)控主機處于某特定條件下時自動執(zhí)行;
11湘今、模板template):用于快速定義被監(jiān)控主機的預設(shè)條目集合敢朱,通常包含了item、trigger摩瞎、graph拴签、screen、application以及l(fā)ow-level discovery rule旗们;模板可以直接鏈接至某個主機蚓哩;
12、應(yīng)用application):一組item的集合上渴;
13岸梨、web場景web scennario):用于檢測web站點可用性的一個活多個HTTP請求;
14稠氮、前端frontend):Zabbix的web接口曹阔;

Zabbix各邏輯組件關(guān)系圖

image.png

Zabbix的生產(chǎn)監(jiān)控架構(gòu)

常用的監(jiān)控架構(gòu)平臺

  • server-agentd模式
    由zabbix server向zabbix agent發(fā)出指令獲取數(shù)據(jù),即zabbix agent被動的去獲取數(shù)據(jù)并返回給zabbix server隔披,zabbix server周期性的向agent 索取數(shù)據(jù)赃份,這總模式的最大問題就是會加大zabbix server的工作量,在數(shù)百臺服務(wù)器的環(huán)境下zabbix server不能及時獲取到最新數(shù)據(jù)奢米,但這也是默認的工作方式抓韩。

    這個是最簡單的架構(gòu)了纠永,常用于監(jiān)控主機比較少的情況下。

  • server-proxy-agentd模式:

這個常用于比較多的機器园蝠,使用proxy進行分布式監(jiān)控渺蒿,有效的減輕server端的壓力。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末彪薛,一起剝皮案震驚了整個濱河市茂装,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌善延,老刑警劉巖少态,帶你破解...
    沈念sama閱讀 210,978評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異易遣,居然都是意外死亡彼妻,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,954評論 2 384
  • 文/潘曉璐 我一進店門豆茫,熙熙樓的掌柜王于貴愁眉苦臉地迎上來侨歉,“玉大人,你說我怎么就攤上這事揩魂∮牡耍” “怎么了?”我有些...
    開封第一講書人閱讀 156,623評論 0 345
  • 文/不壞的土叔 我叫張陵火脉,是天一觀的道長牵舵。 經(jīng)常有香客問我,道長倦挂,這世上最難降的妖魔是什么畸颅? 我笑而不...
    開封第一講書人閱讀 56,324評論 1 282
  • 正文 為了忘掉前任,我火速辦了婚禮方援,結(jié)果婚禮上没炒,老公的妹妹穿的比我還像新娘。我一直安慰自己犯戏,他們只是感情好窥浪,可當我...
    茶點故事閱讀 65,390評論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著笛丙,像睡著了一般漾脂。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上胚鸯,一...
    開封第一講書人閱讀 49,741評論 1 289
  • 那天骨稿,我揣著相機與錄音,去河邊找鬼。 笑死坦冠,一個胖子當著我的面吹牛形耗,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播辙浑,決...
    沈念sama閱讀 38,892評論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼激涤,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了判呕?” 一聲冷哼從身側(cè)響起倦踢,我...
    開封第一講書人閱讀 37,655評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎侠草,沒想到半個月后辱挥,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,104評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡边涕,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,451評論 2 325
  • 正文 我和宋清朗相戀三年晤碘,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片功蜓。...
    茶點故事閱讀 38,569評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡园爷,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出式撼,到底是詐尸還是另有隱情童社,我是刑警寧澤,帶...
    沈念sama閱讀 34,254評論 4 328
  • 正文 年R本政府宣布端衰,位于F島的核電站,受9級特大地震影響甘改,放射性物質(zhì)發(fā)生泄漏旅东。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,834評論 3 312
  • 文/蒙蒙 一十艾、第九天 我趴在偏房一處隱蔽的房頂上張望抵代。 院中可真熱鬧,春花似錦忘嫉、人聲如沸荤牍。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,725評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽康吵。三九已至,卻和暖如春访递,著一層夾襖步出監(jiān)牢的瞬間晦嵌,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,950評論 1 264
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留惭载,地道東北人旱函。 一個月前我還...
    沈念sama閱讀 46,260評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像描滔,于是被迫代替她去往敵國和親棒妨。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,446評論 2 348

推薦閱讀更多精彩內(nèi)容

  • Zabbix簡介 Zabbix官方網(wǎng)站Zabbix中文文檔 本文系統(tǒng)環(huán)境是CentOS7x86_64, Zabbi...
    Zhang21閱讀 7,968評論 0 37
  • 一含长、Nagios簡介 Nagios是一款開源的電腦系統(tǒng)和網(wǎng)絡(luò)監(jiān)視工具券腔,能有效監(jiān)控Windows、Linux和Uni...
    1b3bd36d9d21閱讀 8,147評論 3 13
  • 當你聽說 我要離開的時候 親愛的人 你不一定非哭不可 當我想說 我去淋雨的時候 親愛的人 你不一定非鬧不可...
    comdemnmetodeat閱讀 369評論 0 1
  • 猜字謎 今天我和爸爸散步的時候茎芋,突然有一位老爺爺就在后面問我想不想和我做個游戲叫“猜字謎”我說好呀好呀颅眶!然后爺爺就...
    犇犇狗閱讀 165評論 0 0
  • 作者:明至 你的爪子刺進我鎖骨, 從此烙印在我生命里田弥。 我無法與現(xiàn)實相抗衡涛酗, 只想給你最暖的牽絆。 (材料:速寫本...
    作家明至閱讀 178評論 2 1