大數據下的技術運營:數據採集系統設計與實現 - 大數據_CIO時代網...

2021-01-13 CIO時代網

  監控系統是整個IT架構中的重中之重,小到故障排查、問題定位,大到業務預測、運營管理,都離不開監控系統,可以說一個穩定、健康的IT架構中必然會有一個可信賴的監控系統,而一個監控系統的基石則是一個穩定而健壯的數據採集系統。

 

  定義採集數據

 

  數據結構的選擇

 

  監控數據是標準的時間序列數據,傳統的監控系統中,一條監控數據一般是由監控指標、時間戳和值組成,比如有10臺伺服器的內存使用率需要監控,一個時間周期內映射到系統中可能就是10條mem.userd.percent 時間 值 這種格式的數據,然後分別和對應的主機關聯。

 

  這樣做的缺點是,如果某一時刻想統計某個產品線、業務系統、集群、數據中心的某些監控指標的使用情況,可能就不太好實現。所以我們需要在傳統的數據結構基礎上增加一個欄位,用來存儲我們自定義的數據標籤。為此,我們調研了當前主流的時序資料庫,如RRDtool、Graphite、InfluxDB、openTSDB等,其中RRDtool和Graphite 只能支能持時間維度和值維度,Cacti和Zabbix就是基於RRDtool來繪圖展示的。而InfluxDB和openTSDB都能滿足我們的需求:其中InfluxDB版本比較低,而且每次更新變動都比較大;而openTSDB則在企業中有大量的成功案例。所以在數據結構的定義上,我們借鑑了openTSDB的數據結構,每條數據由metric、timestamp、value、tags組成,用tags鍵值對來標識不同的屬性。比如網卡發送數據包數目為例,其數據結構如下:

  Metric是一個可測量的單位的標稱。metric不包括一個數值或一個時間,其僅僅是一個標籤,包含數值和時間的叫datapoints,metric是用逗號連接的不允許有空格,例如:cpu.idle,app.latency等。

 

  Tags:一個metric應該描述什麼東西被測量,其不應該定義的太簡單。通常,更好的做法是用Tags來描述具有相同維度的metric。Tags由tagk和tagv組成,前者表示一個分組,後者表示一個特定的項

 

  Timestamp。一個絕對時間,用來描述一個數值或者一個給定的metric是在什麼時候定義的。

 

  Value。一個Value表示一個metric的實際數值。

 

  這樣對於相同的metric數據,我們可以自由的通過tag的組合來獲取我們真正需要的數據。

 

  三種數據類型

 

  既然有了上面的數據結構的定義,當然就會有數據類型,不同的數據可能代表的意義都不一樣,OWL中採用了RRDtool中比較常用的三種數據類型,分別為GAUGE、COUNTER、DRIVER。

 

  GAUGE類型是一個計量器,可以理解最終存儲的數據就是採集到的數據,比如伺服器上的磁碟使用率,內存使用率,cpu使用率,硬體的溫度,風扇的轉速,業務系統中的訪問時間等等,這種數據會隨時間的變化而變化,並且沒有什麼規律可言。

 

  COUNTER類型是一個計數器,該類型一般用於記錄連續增長的記錄,例如作業系統中的網卡流量,磁碟的io,交換機接口的流量,業務的吞吐量等等,COUNTER類型會假設計數器的值永遠不會減小,除非達到數據類型的最大值產生溢出,OWL客戶端會存儲最近一次的值和上一次的值,每次上報的過程中會取每秒的速率發送到repeater,當計數器溢出,agent會自動對數據進行補值,否則可能會因為溢出產生一個巨大的錯誤值導致錯誤告警。

 

  DRIVER類型用於表示單位時間內的數據變化,簡單來說就是用來表示當前值和上一次值之間的差值,在監控領域中的實際應用場景可能不是很多。

 

  agent每次採集都會判斷數據類型,並應用對應的運算規則。

 

  採集系統的整體架構

 

  架構的變化

 

  相比於上個版本的架構,我們的數據採集系統還是發生了很大的變化,變化主要體現在服務邏輯拆分和重新規劃。

  服務端在上個版本中,主要負責agent端配置的維護,監控數據的接收和轉存,網絡設備數據的採集,埠健康狀態監測等功能,當服務端需要進行維護的時候,整個監控服務相當於不可用的。另外也不利於擴展。所以在該版本中對server進行了拆分,分別為cfc、repeater、net-collect,其中cfc主要負責配置維護,repeater負責監控數據接收和轉發,net-collect負責採集網絡設備數據,任何一個組件都可用做到水平擴展,極大的降低了系統的風險。

 

  模塊的角色功能

 

  agent:通過內置metric以及自定義插件方式採集主機硬體、作業系統、中間件、業務系統等數據,並通過tcp長連接異步發送到repeater。

 

  net-collect:負責採集網絡設備各項性能指標,包含各接口接收發送字節數、數據包數、錯誤數等等,監控數據通過tcp長連接發送到repeater中,配置和接口信息發送到cfc中。

 

  cfc:一般部署於數據中心,直連MySQL,負責維護agent或net-collect同步過來的metric信息以及插件的同步等

 

  cfc-proxy:一般部署於分支機構或異地機房,是agent/net-collect和cfc之間的通訊橋梁。

 

  repeater:可任意部署,負責接收時間序列數據並轉發到指定的後端,支持repeater->repeater、repeater->openTSDB、repeater->Redis等。

 

  採集系統如何與應用系統對接

 

  比如我們現在新開發一個應用,那麼我們需要梳理我們需要關心的指標,比如系統的吞吐量、延遲、接口或url訪問量等等,由於OWL不支持主動push數據,所以我們需要將這些數據通過Http REST API 方式暴露出來,然後使用OWL自帶的app_collect插件來定時採集數據,API暴露的數據結構大概如下:

  採集系統的上層應用封裝

 

  基於該系統,我們可以在上層構建報警系統,統計分析系統,報表系統等等。大家可以自由去發揮。

 

  其中,報警服務在上個版本中是基於Python 的Celery去實現的,由於依賴眾多模塊,安裝部署複雜,在開源過程中大部分反饋的問題都是在該模塊的部署上。因此,在該版本中我們使用go語言對重構了報警服務,分為控制器和報警邏輯處理模塊:其中控制器負責報警策略生成和報警結果處理;邏輯處理模塊負責從控制器獲取策略並去OpenTSDB讀取數據進行對比,產生的結果返回給控制器處理。整體而言這是一個生產者消費者模型,理論上消費者可用無限擴展。更多報警的具體細節,會在本系列的報警文章中進行詳細的介紹。

 

  總結

 

  數據的採集是起點而非終點,如何對採集到的數據進一步加工處理,並且能夠幫助我們改善工作和生活才是最終目標,我們堅信,數據改變人們的決策方式,數據改善人類自身和環境。

第三十屆CIO班招生 法國布雷斯特商學院碩士班招生 北達軟EXIN網絡空間與IT安全基礎認證培訓 北達軟EXIN DevOps Professional認證培訓

責編:pingxiaoli

相關焦點

  • 大數據時代:十大最熱門的大數據技術 - 大數據_CIO時代網 - CIO...
    隨著大數據分析市場快速滲透到各行各業,哪些大數據技術是剛需?哪些技術有極大的潛在價值?根據弗雷斯特研究公司發布的指數,這裡給出最熱的十個大數據技術。   1、預測分析   預測分析是一種統計或數據挖掘解決方案,包含可在結構化和非結構化數據中使用以確定未來結果的算法和技術。
  • 數據科學研究的現狀與趨勢全解 - 大數據_CIO時代網 - CIO時代—新...
    因此,現代社會需要一門新學科來系統研究大數據時代的新現象、理念、理論、方法、技術、工具和實踐,即「數據科學」。  本文第1節探討數據科學的內涵、發展簡史、學科地位和知識體系等四個基本問題,並提出了數據科學的兩個基本類型——專業數據科學和專業中的數據科學。
  • 12個頂級大數據工具 - 大數據_CIO時代網 - CIO時代—新技術、新...
    在大數據技術作為概念和業務戰略出現的十年中,湧現了執行各種任務和流程的數千種工具。而推出這些工具的提供商都承諾可以為企業節省時間和成本,並發現能夠讓企業獲利的商業洞察力。顯然,大數據分析工具的市場正在不斷增長。  許多大數據分析工具最初像大數據軟體框架Hadoop一樣都是開源項目,但商業實體迅速湧現,為開源產品提供了新工具或商業的支持和開發。
  • 大數據時代的大數據技術與應用有哪些.
    大數據給網際網路帶來的是空前的信息大爆炸,它不僅改變了網際網路的數據應用模式,還將深深影響著人們的生產生活。深處在大數據時代中的人們,已經認識到大數據已經將數據分析的認識從「向後分析」變成「向前分析」,改變了人們的思維模式,但同時大數據也向我們提出了數據採集、分析和使用等難題。
  • 大數據BI系統實操總結:如何做數據採集?
    本文圍繞數據採集為討論主題,從三個方面——業務流程梳理、原型注意點、項目上線後復盤總結進行了分享。隨著數據量的不斷增速,數據價值也逐漸被很多公司所關注,尤其是偏重於業務型的企業,大量數據的產生,在未被挖掘整合的過程中通常被看作是一堆無效且佔用資源的;但一旦被發掘,數據的價值將無可估量。
  • 智能電錶製造數據採集系統的原理及設計
    內容說明 本發明涉及電錶生產管理領域技術,尤其是指一種智能電錶製造數據採集系統。 發明內容 本發明針對現有技術存在的缺失,提供一種智能電錶製造數據採集系統,用於物料追溯,電錶質量數據查詢,客戶服務,並為電錶設計持續改進提供資料庫。
  • 中傳影視王鑫:大數據在傳媒領域的應用 - 學院活動_CIO時代網...
    搶沙發 2017-05-11 17:11:01  來源:CIO時代網 摘要:中國傳媒大學信息工程學院副教授、兼任中傳影視大數據研究院技術負責人、中國商業聯合會數據分析專業委員會特聘講師王鑫作為本期活動的特邀講師
  • 民生銀行大數據體系架構設計與演進
    民生銀行作為銀行業第一批,在2013年從網際網路引入了大數據專業才人,啟動了Hadoop大數據體系化的建設。   新技術的應用首要是解決問題,提高數據使用的效率,降低數據使用成本,最終推動業務數位化、智能化轉型。在大數據體系化規劃下,以服務用戶為目標,以解決問題為抓手逐步推動大數據技術落地。民生銀行大數據整體規劃如下圖:
  • 對比解讀五種主流大數據架構的數據分析能力 - 大數據_CIO時代網...
    隨著大數據技術的發展,數據挖掘、數據探索等專有名詞的曝光度越來越高,但是在類似於Hadoop系列的大數據分析系統大行其道之前,數據分析工作已經歷了長足的發展,尤其是以BI系統為主的數據分析,已經有了非常成熟和穩定的技術方案和生態系統,對於BI系統來說,大概的架構圖如下:
  • 工業大數據的技術與應用
    此類數據是工業領域傳統的數據資產,在移動網際網路等新技術應用環境下正在逐步擴大範圍。 2、設備物聯數據 設備物聯數據主要指工業生產設備和目標產品在物聯網運行模式下,實時產生收集的涵蓋操作和運行情況、工況狀態、環境參數等體現設備和產品運行狀態的數據。此類數據是工業大數據新的、增長最快的來源。狹義的工業大數據即指該類數據,即工業設備和產品快速產生且存在時間序列差異的大量數據。
  • 思科朱立新談大數據時代數據中心變革
    【IT168 專訪】目前雲計算、虛擬化和大數據等熱門技術紛紛落地,數據中心網絡的建設也在不斷變化。數據中心流量和帶寬的指數級增長,已經遠遠超出了人們對傳統網絡的想像。為了滿足新形勢下數據中心的建設要求,位於核心位置的交換機系統成為關鍵。  數據中心網絡和乙太網標準的發展,都對新一代核心交換機提出了更高的要求。
  • 基於傳感器SHT75和乙太網實現現場環境溫溼度數據採集系統的設計
    基於傳感器SHT75和乙太網實現現場環境溫溼度數據採集系統的設計 劉鋒,王平,付蔚 發表於 2020-04-28 10:14:22 引言 在工業現場,特別是那些環境因素對生產過程影響比較大的車間
  • 大數據背景下的生態系統觀測與研究
    生態學已從一門依靠小規模合作與短時間個人觀測的實驗學科演化為一門實施長時間大規模觀測、跨學科合作的大數據學科。在大數據時代,如何獲取海量生態數據,如何基於大數據實現生態學「大」理論的發展和突破,服務於新時期生態文明建設等重大問題的解決,具有重要意義。本文首先論述了目前生態系統觀測研究現狀,其次分析了大數據時代生態系統觀測研究特徵,最後提出了我國大數據背景下的生態系統觀測研究發展建議。
  • 乾貨丨一篇文章讓你了解大數據採集技術
    大數據開啟了一個大規模生產、分享和應用數據的時代,它給技術和商業帶來了巨大的變化。麥肯錫研究表明,在醫療、零售和製造業領域,大數據每年可以提高勞動生產率0.5-1個百分點。大數據在核心領域的滲透速度有目共睹,然而調查顯示,未被使用的信息比例高達99.4%,很大程度都是由於高價值的信息無法獲取採集。
  • 大數據技術的方法與工具1-採集篇
    原創 城室科技 城室科技大數據採集技術就是對數據進行ETL操作,通過對數據進行提取、轉換、加載,最終挖掘數據的潛在價值,然後提供給用戶解決方案或者決策參考。數據採集位於數據分析生命周期的重要一環,它通過傳感器數據、社交網絡數據、移動網際網路數據等方式獲得各種類型的結構化、半結構化及非結構化的海量數據。
  • 讀懂地球:遙感大數據驅動下的地球系統科學研究—新聞—科學網
    未來,遙感結合大數據,如何更好推動地球系統科學發展?傳統地球系統科學又如何更好適應大數據時代?對此,《中國科學報》記者近日專訪了中國科學院空天信息研究院副院長張兵研究員,他從遙感大數據的角度進行了分析並提出了應對之策。
  • 大數據技術在證券行業數位化轉型中的應用
    二、大數據在證券行業的平臺設計與實踐2.1 數據採集數據採集作為大數據系統體系的首個環節,對於平臺來說尤為重要。因此需要建立一套標準的數據採集體系,用以標準規範、保證性能、高覆蓋率地採集海量的數據,並傳輸到大數據平臺。
  • 央視紀錄片大數據時代_央視紀錄片大數據時代觀後感 - CSDN
    >大數據,目前已經成為推動人類追逐夢想的強大引擎,這場來勢洶湧的信息技術變革將帶給中國什麼樣的改變?、行程近60萬公裡的拍攝,真實紀錄了大數據技術為27個不同行業和領域所帶來的改變。》27個精彩故事之6:《大數據探油》;《大數據時代》27個精彩故事之7:《每天一億多條數據如何重新定義汽車設計》;《大數據時代》
  • 大數據時代下的化學資料庫
    現在的社會是一個高速發展的社會,科技發達,信息流通,人們之間的交流越來越密切,生活也越來越方便,大數據就是這個高科技時代的產物。隨著雲時代的來臨,大數據(Big data)也吸引了越來越多的關注。在現今的社會,大數據的應用越來越彰顯他的優勢,它佔領的領域也越來越大,電子商務、O2O、物流配送等,各種利用大數據進行發展的領域正在協助企業不斷地發展新業務,創新運營模式。有了大數據這個概念,對於消費者行為的判斷,產品銷售量的預測,精確的營銷範圍以及存貨的補給已經得到全面的改善與優化。
  • 採用複雜可編程邏輯器件與ISA總線相結合實現數據採集系統設計
    採用複雜可編程邏輯器件與ISA總線相結合實現數據採集系統設計 電子設計 發表於 2018-12-30 09:33:00 數據採集是工業測量和控制系統中的重要部分