Icinga 簡單了解

為什么要了解Icinga

近段時(shí)間桦锄,由于公司服務(wù)出現(xiàn)過幾次小故障,導(dǎo)致所有用戶短暫不能訪問蔫耽,后來開會(huì)復(fù)盤事故時(shí)结耀,領(lǐng)導(dǎo)提出要對(duì)主要服務(wù)、網(wǎng)絡(luò)匙铡、硬件設(shè)施等進(jìn)行監(jiān)控图甜,以保證出故障時(shí)能第一時(shí)間知悉并采取針對(duì)性的措施,而不是各方盲目排查定位原因鳖眼。于是黑毅,運(yùn)維的同事根據(jù)對(duì)公司其他服務(wù)的監(jiān)控經(jīng)驗(yàn),向我們介紹了 Icinga 這套監(jiān)控系統(tǒng)钦讳。

能監(jiān)控什么

為了有個(gè)直觀的認(rèn)識(shí)矿瘦,下面先直接上圖。

image
image

從效果圖可以大致看出來愿卒,通過 Icinga 我們可以得到服務(wù)器主機(jī)缚去、服務(wù)等監(jiān)控信息,如果有異常琼开,會(huì)有特殊事件顯示詳細(xì)的信息易结,并可以添加備注、發(fā)送提醒柜候、手工重新檢查等操作搞动。

是怎么實(shí)現(xiàn)的

作為程序員,看到一個(gè)新系統(tǒng)改橘,肯定會(huì)去想它是怎么實(shí)現(xiàn)的滋尉。非常幸運(yùn)的是, Icinga 是一個(gè)開源系統(tǒng)飞主,我們可以自由查看它的實(shí)現(xiàn)方式狮惜。為了學(xué)習(xí)它,我 ssh 連上測試環(huán)境碌识,查看了一下這個(gè)項(xiàng)目的部署目錄碾篡,主要看它的配置文件都有什么東西,數(shù)據(jù)是保存在哪的筏餐,還有啟動(dòng)命令執(zhí)行時(shí)帶了哪些命令參數(shù) 开泽。

通過 locate icinga 命令,我找到了這個(gè)目錄 “/etc/icinga2”魁瞪,cd 進(jìn)去后穆律,在該目錄及其子目錄下看到了一堆 ".conf" 后綴的配置文件惠呼,有 init.conf, icinga2.conf, hosts.conf, services.conf, … 等等。其實(shí)如果對(duì)開源項(xiàng)目看得比較多峦耘,或者是開發(fā)經(jīng)驗(yàn)比較豐富的話剔蹋,基本上從配置文件的名稱就能猜到文件里的內(nèi)容是哪方面的了,這時(shí)候我們就需要對(duì)自己感興趣的配置文件一探究竟了辅髓。不得不佩服做開源軟件的大神們泣崩,各種配置項(xiàng)都有較詳細(xì)的文字說明,讓我們大概清楚這個(gè)配置項(xiàng)有什么作用洛口。由于配置文件比較多矫付,而且配置文件之間是有依賴關(guān)系的,當(dāng)我看到某些配置項(xiàng)引用的變量在當(dāng)前文件找不到的時(shí)候第焰,我便用 grep 命令搜索多個(gè)配置文件买优,找到它出現(xiàn)的原始位置,然后再看它的注釋說明樟遣,這樣便能把配置串聯(lián)起來了而叼。遇到一些不明白的關(guān)鍵字,當(dāng)然是要請(qǐng) Google 大神出馬了豹悬,還有就是官方的文檔說明葵陵,各種方法配合著來,總能有收獲的瞻佛。

在看配置文件時(shí)脱篙,我發(fā)現(xiàn)有些服務(wù)配置是引用了內(nèi)置的服務(wù),或者是引入了外置的插件實(shí)現(xiàn)伤柄。原來 Icinga 是兼容另一個(gè)監(jiān)控系統(tǒng) nagios 的大部分插件的绊困,網(wǎng)上說 Icinga 的作者原來就是 nagios 項(xiàng)目的開發(fā)人員,因此适刀,站在成熟的項(xiàng)目肩膀上秤朗,Icinga 得以快速發(fā)展壯大。

而要實(shí)現(xiàn)自己的自定義監(jiān)控服務(wù)笔喉,我們可以通過配置 services.conf取视,調(diào)用內(nèi)置的功能或像示例一樣引入豐富的插件。而像我們對(duì)應(yīng)用內(nèi)的業(yè)務(wù)監(jiān)控常挚,則可能需要在應(yīng)用內(nèi)提供接口作谭,把監(jiān)控邏輯寫在業(yè)務(wù)接口里,再在 Icinga 系統(tǒng)里配置服務(wù)請(qǐng)求接口奄毡。

更多功能

除了看到的監(jiān)控告警數(shù)據(jù)折欠,從公司部署的測試環(huán)境上,我們還可以看到一些配置管理、權(quán)限控制的菜單锐秦。出于好奇咪奖,自然要去看看這些菜單都提供了什么功能∨┾可以看到赡艰,Icinga web 2 項(xiàng)目具備了一個(gè)后臺(tái)管理系統(tǒng)應(yīng)用的基礎(chǔ)功能售淡,如角色管理斤葱、權(quán)限管理、用戶管理等揖闸,還可以配置數(shù)據(jù)源揍堕,啟用或禁用某些模塊,配置服務(wù)監(jiān)控的主動(dòng)汤纸、被動(dòng)方式和監(jiān)控間隔衩茸,告警方式等等。

怎么嵌入已有的管理后臺(tái)

我們現(xiàn)在看到的是 Icinga web 2 項(xiàng)目的效果圖贮泞,那如果要把這些功能集成到已有的管理后臺(tái)上做展示該怎么辦呢楞慈?一個(gè)方法是用 iframe 在管理后臺(tái)的頁面上嵌入 Icinga web 2 的頁面,這樣做的好處是頁面是現(xiàn)成的啃擦,只需要簡單集成囊蓝,缺點(diǎn)是兩套頁面風(fēng)格不能保持統(tǒng)一體驗(yàn),權(quán)限不好管理令蛉。另一個(gè)方案是直接調(diào)用 Icinga 的接口獲取數(shù)據(jù)聚霜。Icinga 提供了 RESTful 的API,只需要后端程序用一個(gè)固定的身份賬號(hào)去取數(shù)據(jù)珠叔,封裝一層后可以增加權(quán)限控制蝎宇、自定義提醒等邏輯,實(shí)現(xiàn)比較靈活祷安,頁面也可以用已有的組件和風(fēng)格姥芥,完美集成。當(dāng)然汇鞭,缺點(diǎn)也比較明顯凉唐,要封裝調(diào)用API,并重新開發(fā)頁面虱咧。

總結(jié)

以上就是我今天花了一個(gè)多小時(shí)了解了 Icinga 系統(tǒng)后所想到的熊榛,在接下來的項(xiàng)目應(yīng)用中,我應(yīng)該更多是關(guān)注它提供的 RESTful API腕巡,結(jié)合我們項(xiàng)目和公司的實(shí)際情況去搭建一套實(shí)用的監(jiān)控系統(tǒng)玄坦。Bug 是不可避免的,那就讓我們?cè)?bug 出現(xiàn)時(shí)就知道它的存在,迅速解決它吧煎楣。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末豺总,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子择懂,更是在濱河造成了極大的恐慌喻喳,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,000評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件困曙,死亡現(xiàn)場離奇詭異表伦,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)慷丽,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,745評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門蹦哼,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人要糊,你說我怎么就攤上這事纲熏。” “怎么了锄俄?”我有些...
    開封第一講書人閱讀 168,561評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵局劲,是天一觀的道長。 經(jīng)常有香客問我奶赠,道長鱼填,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,782評(píng)論 1 298
  • 正文 為了忘掉前任车柠,我火速辦了婚禮剔氏,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘竹祷。我一直安慰自己谈跛,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,798評(píng)論 6 397
  • 文/花漫 我一把揭開白布塑陵。 她就那樣靜靜地躺著感憾,像睡著了一般。 火紅的嫁衣襯著肌膚如雪令花。 梳的紋絲不亂的頭發(fā)上阻桅,一...
    開封第一講書人閱讀 52,394評(píng)論 1 310
  • 那天,我揣著相機(jī)與錄音兼都,去河邊找鬼嫂沉。 笑死,一個(gè)胖子當(dāng)著我的面吹牛扮碧,可吹牛的內(nèi)容都是我干的趟章。 我是一名探鬼主播杏糙,決...
    沈念sama閱讀 40,952評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢(mèng)啊……” “哼蚓土!你這毒婦竟也來了宏侍?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,852評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤蜀漆,失蹤者是張志新(化名)和其女友劉穎谅河,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體确丢,經(jīng)...
    沈念sama閱讀 46,409評(píng)論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡绷耍,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,483評(píng)論 3 341
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了蠕嫁。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片锨天。...
    茶點(diǎn)故事閱讀 40,615評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖剃毒,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情搂赋,我是刑警寧澤赘阀,帶...
    沈念sama閱讀 36,303評(píng)論 5 350
  • 正文 年R本政府宣布,位于F島的核電站脑奠,受9級(jí)特大地震影響基公,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜宋欺,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,979評(píng)論 3 334
  • 文/蒙蒙 一轰豆、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧齿诞,春花似錦酸休、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,470評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至但汞,卻和暖如春宿刮,著一層夾襖步出監(jiān)牢的瞬間割按,已是汗流浹背貌夕。 一陣腳步聲響...
    開封第一講書人閱讀 33,571評(píng)論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留食绿,地道東北人踩叭。 一個(gè)月前我還...
    沈念sama閱讀 49,041評(píng)論 3 377
  • 正文 我出身青樓磕潮,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子揉抵,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,630評(píng)論 2 359

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

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理亡容,服務(wù)發(fā)現(xiàn),斷路器冤今,智...
    卡卡羅2017閱讀 134,704評(píng)論 18 139
  • feisky云計(jì)算闺兢、虛擬化與Linux技術(shù)筆記posts - 1014, comments - 298, trac...
    不排版閱讀 3,867評(píng)論 0 5
  • Ubuntu的發(fā)音 Ubuntu龟糕,源于非洲祖魯人和科薩人的語言桐磁,發(fā)作 oo-boon-too 的音。了解發(fā)音是有意...
    螢火蟲de夢(mèng)閱讀 99,362評(píng)論 9 467
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,302評(píng)論 25 707
  • 早晨讲岁,我還沒起床我擂,兒子就醒了,大懶蟲第一次醒的這么早缓艳,給他喝了點(diǎn)水校摩,自己就開始穿衣服了。洗漱完了來到廚房要幫我做飯...
    薇薇冰朵閱讀 201評(píng)論 0 4