Grafana和Kibana是寫給程式設計師最美的情詩!

架構師技術聯盟發表於2018-01-14

640?wx_fmt=png&wxfrom=5&wx_lazy=1


0?wx_fmt=gif&wxfrom=5&wx_lazy=1

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


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


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


640?wx_fmt=jpeg


      他們為什麼可以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截圖。

0?wx_fmt=jpeg

0?wx_fmt=jpeg

0?wx_fmt=jpeg

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


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


0?wx_fmt=jpeg

0?wx_fmt=jpeg

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


0?wx_fmt=png


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


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


0?wx_fmt=png

0?wx_fmt=png


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


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


0?wx_fmt=png


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


0?wx_fmt=jpeg


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


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


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



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

640?wx_fmt=png

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

0?wx_fmt=gif

相關文章