天天看點

《Cacti實戰》——1.1 Cacti的起源與發展現狀

本節書摘來自華章計算機《cacti實戰》一書中的第1章,第1.1節,作者:劉钊,張躍著, 更多章節内容可以通路雲栖社群“華章計算機”公衆号檢視。

本節介紹了cacti的基本情況,包括cacti的基本概念、cacti從誕生到發展的階段過程,對于文章中出現的一些功能和概念,大家隻要有一個初步印象即可,我們會在後文中詳細介紹,本章的主要目的是帶大家進入cacti的世界,以便後續展開相關的話題。

1.1.1 什麼是cacti

cacti是一個針對資料中心的網絡層、平台層、資料層以及業務層全流程進行監控的運維管理平台。它也是基于rrdtool(round robin database tool)開源項目的一個前端展示平台。2001年9月23日,釋出了它的第一個版本。圖1-1為cacti的支撐元件及互相關系。

《Cacti實戰》——1.1 Cacti的起源與發展現狀

作為一個面向系統管理者的平台,cacti對接snmp(simple network management protocol)、mysql、rrdtool、apache等元件,通過排程這些元件進行資料的收集、分析、存儲、可視化等工作。

cacti以實時、定時等多種方式運維和展現資料中心各個層級、各個區域的裝置的工作狀态,同時按照事先制定好的運維政策,cacti可以通過報警、郵件通知等方式及時通知使用者資料中心發生的各個關鍵事件。

總體來說,cacti大緻完成以下幾個方面的工作:

基于web網頁的rrd檔案和rra資料的管理工作。

基于rrd檔案的圖形配置和生成。

資料采集需要使用外部腳本與指令行的支援以及snmp經典方式的支援。

基于snmp的易用性配置。

多樣化的使用者權限認證與管理。

cacti目前在國際上被公認為是最開放、最有發展潛力的開源運維系統。

1.1.2 cacti的起源與發展

故事要從2001年的某一天說起。

一個叫ian berry的中學生還在學習如何使用php和mysql進行程式設計及功能的實作,那時候他業餘時間為一個名不見經傳的網際網路營運商開發項目,他希望借助這個項目不僅可以精進自己的程式設計功力,還可以建立一個新的監控顯示方法,既要比rrdtool容易使用、比mrtg靈活,又要更加容易擴充和調整。

天賦異禀的ian在自己的不懈努力下,通過使用php語言,完成了第一個開源程式的版本。在随後的幾年中,開源社群的開發愛好者們越發關注這隻“帶刺兒的仙人掌”,并在大家的共同推動下,0.8.6版本在2004年9月13日正式釋出。0.8.6版本甚至可以認為是cacti發展曆史上的裡程碑,它褪去了幼稚與粗糙,在全球開發者的細心呵護下開始展露自己成熟之後的迷人魅力,它的執行效率越來越高,經過優化的源代碼使得cacti變得越來越靈活,越來越易于擴充。

圖1-2為cacti目前的開發團隊,右三為創始人ian berry,自古英雄出少年啊!

《Cacti實戰》——1.1 Cacti的起源與發展現狀

按照原來roadmap的計劃,1.0.0版本将會在2013年年底正式釋出,但是這個開源項目太火了,大家開始不斷地建立自己的分支版本,不斷在各個版本基礎上開發帶有附加特性的新的子版本,這導緻1.0.0版本一直難以統一。預見到這個狀況可能發生,ian開始在2012年6月份,集中力量重組研發資源配置,開始在提高研發效率、縮短研發周期方面花力氣,相信1.0.0版本不會等待太長時間,并且它一定會是cacti的一個新裡程碑……