歡迎光臨
每天分享高質量文章

Grafana和Kibana是寫給程式員最美的情詩!

      是的,對程式員和軟體開發從業者來說,當Coding成為興趣時,這種對技術的執著和美的追求,就變成了程式員的“詩和遠方”。

      在StackOverflow的一項有關年齡的調查中發現,40歲之後的開發人員佔開發人員總數的13%。那麼其他人到哪裡去了?在國內,由於競爭、壓力和企業研發力量年輕化文化,他們被解僱了或者上升到管理崗位。似乎軟體開發對於過了40歲的人來說,就意味著終結。

      在國外,事實可能並非如此,有很多人已經年過40,仍把技術當做一種追求。例如,下麵這幾位超過40歲的老程式員(Rob Fletcher、John Brothers、Roger Whitcomb、Scott Gartner、Brian Bowman等),他們都是頂級的軟體開發者,拒絕從事管理崗位,仍然活躍在開發一線,將程式設計作為生活收入的主要來源,對從事編碼工作樂此不疲。

      他們為什麼可以Coding一輩子,把Coding作為興趣愛好或事業(也正是這種興趣造就瞭如今的成就),而不是年輕人的工作或養家餬口的飯碗?原因當然是多方面的,但歸根解底還是觀念、文化和制度等條可以件支撐他們把Coding當做一生努力奮鬥的事業。

      Dennis,一位來自荷蘭名叫的技術諮詢師。雖已經退居Coding二線,仍然執著於技術,透過維護GitHub把技術與美結合在一起展現給大眾

      下麵談談他的程式設計興趣以及他所涉及的技術。他在工作中管理了幾臺儲存系統,包括幾款華為公司V3儲存企業儲存。裝置廠商也提供的商業資料收集、裝置管理和監控的軟體,但Dennis認為這些監控軟體並不能滿足自己的運維要求。於是,就自己基於Grafana和裝置廠商提供的SNMP標準API獲取資料和監控指標,開發了多款裝置監控、管理、統計軟體,併在GitHub上實時更新、維護。

      針對華為V3、Dorado儲存,Dennis開發了幾款名叫Huawei OceanStor metrics in GrafanaDorado storage metrics軟體(關註公眾號,分別回覆“V3”和“Dorado”關鍵字,獲取對應Dashboard介面完整截圖),下麵是V3儲存的Dashboard截圖。

      Grafana資料展示效果還是發很棒的吧。有了Grafana支援,Dennis認為只要能從裝置中獲取監控、效能、應用和告警等資料指標,就能透過Grafana很容易的展示出來。

      Dennis維護的GitHub包含了多個基於Grafana開發的專案,下麵再以另一個LizardFS專案來進一步看看Grafana Dashboard介面,LizardFS是一個分散式、海量擴充套件的單一命名檔案系統,採用資料和元資料分離的設計架構

      Grafana到底是什麼呢?Grafana是一個自定義報表、顯示圖表開源儀錶盤工具,它可用於Collectd、Graphite、InfluxDB等一起使用。最新的版本還可以支援使用其他資料源(比如Elasticsearch、Collectd、Zabbix以及Dennis所採用的SNMP資料收集方式)。InfluxDB 是 Go 語言開發的一個開源分散式時序資料庫,非常適合儲存指標、事件、分析等資料。Collectd 是C 語言寫的一個系統效能採集工具。



      Grafana最主要的是資料展現能力,Grafana主要用來展示裝置運維相關資料。關於資料展現能力,為了迎合大資料展示趨勢,針對不同行業資料(如地圖資料、金融、股票、函式公式 視覺化等),目前出現了大量的展示工具。

      Grafana非常強大的一個功能叫做Grafana Dashboard Templating,可以說是使用Grafana必用的技能。Dashboard 透過定義變數在不同介面被取用,如當你定義了變數在某一個Dashboard頁面就會出現下拉選擇框,從而也就具有可互動性了。在使用時只需要製作好一個Dashboard,然後利用Dashboard Templating功能就可以把做好的Dashboard進行復用,類似於模板。



      大多數公司都是使用Zabbix收集資料,透過Grafana展示出來。預設Grafana沒有採用Zabbix作為資料源。如果要以Zabbix為Grafana的資料源,首先建立一個Dashboard,然後建立Dashboard Templating,後即可把Zabbix監控、告警、效能、容量等資料關聯起來,最後透過Grafana展示出來(關於Grafana介紹、學習資料和用法,可搜尋官方網站檢視)。

      當然,在裝置監控和運維方面,除了Grafana外,還有很多其他類似工具,如名叫Kibana的工具,它是一個分析和視覺化平臺,支援瀏覽、視覺化儲存的日誌資料,如ELK棧(Elasticsearch、Logstash和Kibana) 。同樣也支援Dashboard,支援深入的資料分析並以多種圖表、表格和視覺化方式展示資料。


      在日誌與度量方面,Grafana專註於根據CPU和IO利用率之類的特定指標提供時間序列圖表。Kibana執行於Elasticsearch的上層(可以實現資料的檢索和瀏覽),專註於建立一個複雜的日誌分析儀錶盤。



      不難看出,Grafana和Kibana的介面風格區別還是很大的,這也可以滿足不同開發者的需求。雖然Kibana有大量內建的圖表型別,但它們之上的控制仍是最初的限制,Grafana包括更多的選擇,可以更靈活地瀏覽和使用圖表等。Grafana支援許多不同的儲存後端。Grafana針對每個資料源都有一個特定的查詢編輯器,它是針對資料源所具備的特性和能力特別定製的。然而,正如上文所說,Kibana原生整合進了ELK棧,這使安裝極為簡單,對使用者非常友好。

      生活和工作中,每個人都有自己的詩和遠方,“詩”不一定非要透過文字表達,“遠方”也不一定透過旅行才能到達。對軟體從業者來說,當Coding成為興趣時,這種對技術的執著和美的追求,就變成了程式員的“詩和遠方”。關註公眾號,在選單底部分別回覆“V3” 和 “Dorado” 關鍵字,獲取對應產品的Grafana Dashboard完整圖片


>>>>>>>>>>>>>    相關閱讀    <<<<<<<<<<<<<



溫馨提示:
請搜尋“ICT_Architect”“掃一掃”二維碼關註公眾號,點選原文連結獲取更多技術資料

求知若渴, 虛心若愚(Stay hungry, Stay foolish)

贊(0)

分享創造快樂