二、架構設計
influxdb:
grafana:
大資料監控平台實踐之路
監控粒度、監控指標完整性、監控實時性是評價監控系統的三要素。從分層體系可以把監控系統分為三個層次:
業務系統本質目的是為了達成業務目標,因此監控業務系統是否正常最有效的方式是從資料上監控業務目標是否達成。對業務運營資料進行監控,可及時發現程式bug或業務邏輯設計缺陷,比如註冊失敗率、登入失敗率、付款失敗率等。業務系統的多樣性決定了應由各個業務系統實現監控指標開發。
對應用的整體執行狀況進行了解、把控,如果將應用當成黑盒子,開發、運維就無從知曉應用當前狀態,不能及時發現潛在故障。應用監控不應侷限於業務系統,還包括各種中介軟體、計算引擎,如spark、jstorm、redis、zookeeper、kafka等。常用監控資料:jvm堆記憶體、gc、cpu使用率、執行緒數、tps、吞吐量等。一般通過抽象出的統一指標收集元件,收集應用級指標,比如不管是支付系統還是交易系統,都要監控jvm記憶體使用。
實時掌握伺服器工作狀態,留意效能、記憶體消耗、容量和整體系統健康狀態,保證伺服器穩定執行。監控指標:記憶體、磁碟、cpu、網路流量、系統程序等系統級效能指標
工欲善其事必先利其器,根據對現有監控產品的調研,以及我們對監控的分層介紹、所需解決的問題,可以發現監控系統從收集到分析的流程架構:採集-儲存-展示-告警:
外掛程式化的指標收集和指標報告服務,能定製化開發並輕鬆新增所需外掛程式。已經內建了很多常用服務的外掛程式,這也是我們選擇telegraf的原因之一,不用再重複造輪子。
收集inputs配置的所有指標,已內建的input外掛程式:elasticsearch、redis、jolokia等。也可直接收集執行agent server的各種指標,比如記憶體、cpu、磁碟、磁碟io、程序、swap等。input配置都很簡明易用,一般只需配置服務ip位址就可以,如redis指標收集配置:
如果沒有內建收集外掛程式,有兩種實現方案:
開發input外掛程式,但這需要有go語言基礎
借助於httpjson input外掛程式,該外掛程式請求http url,返回json格式。url配置為自定義指標收集服務,在指標收集服務內實現指標收集功能,然後指標封裝成json返回或指標資料直接在服務內入庫。我們監控kettle carte、spark、jstorm等用的這種實現思路。
將收集到的度量資料序列化儲存,telegraf指標由四個部分組成:度量、標籤、字段、時間戳。支援以下儲存結構:influxdb、graphite、json,比如度量輸出到influxdb的配置:
所有指標收集頻率是一樣的,在配置檔案agent項下配置:
–config:配置檔案
–config-directory:配置檔案目錄,如果有多個配置檔案時使用
高效能的布式時間序列指標資料庫。監控指標收集是非常頻繁的,否則就失去了實時性,高頻收集的結果就是大資料量,也要對時間序列進行分析,influxdb就能滿足這種應用場景。
influxdb是為時間序列構建的高效能資料儲存,提供類sql的查詢語言、特定分析時間序列的功能。通過設定資料保留策略,自動從系統中刪除過期資料,釋放儲存空間。社群版只支援單台伺服器,會有單點故障風險,商業版版支援高可用,對我們來說,單機influxdb已經能滿足需求。選擇influxdb的原因:
inflluxdb是用go寫的,編譯後是乙個完全無依賴的二進位制檔案,安裝部署非常便捷,解壓縮包即可
高效能時間序列專有資料庫,對時間序列的儲存和查詢都做了優化
類sql查詢語言,降低使用門檻
資料保留策略可以有效的自動清理過期資料
influxdb的資料是以shard groups形式儲存,指定時間間隔的資料儲存到乙個shard groups裡,這個時間間隔稱為shardgroupduration。
輸入influx進入shell命令列:
show databases:檢視所有資料庫
use db_name:進入資料庫
show measurements:顯示資料庫下所有度量
select *from cpu limit 10:查詢乙個度量的資料
telegraf預設是將收集的資料持久化到telegraf這個資料庫下,每個input對應乙個度量表,比如zookeeper的指標資料就在zookeeper這個度量下:
查詢資料保留策略:
duration:資料保留時間,0表示無限制,influxdb預設30分鐘檢查一次保留策略。alter retention語句修改保留7天資料。
replican:每個度量在集群裡的副本數,副本保證資料高可用性,社群版(單節點)不支援副本數設定。
時間序列分析和監控的開放平台,支援多種資料來源(influxdb、opentsdb時間序列資料庫)、豐富的展現形式、支援email/dingding報警。
grafana是乙個指標查詢、視覺化、監控的開源應用,有著非常漂亮的圖表和布局展示,功能齊全的度量儀錶盤和圖形編輯器,支援graphite、zabbix、influxdb、prometheus和opentsdb作為資料來源。
靈活豐富的圖形化元件,包括熱力圖、直方圖、地圖等
在同一dashboard內可以混合多種展示元件
開源社群有大量的外掛程式可供選擇,包括資料來源外掛程式、圖形外掛程式、通知外掛程式
可以在同乙個檢視裡使用多個不同資料來源
配置:配置檔案:gra
fana
home
grafana_home
grafan
aho
me/conf配置埠號、email、登入使用者
start:命令:/opt/grafana/bin/grafana-server start
訪問:http://ip:port
大資料平台常用元件 京東大資料平台進化之路
本文內容來自由msup主辦的第七屆top100summit大會。分享者王哲涵,時任京東離線平台研發團隊負責人。2015年加入京東,於大資料平台研發部工作,負責京東大資料平台的架構與研發工作。時下大資料技術趨於成熟與穩定的今天,hadoop相關服務也不再高高在上,已是作為如同資料庫般的作為基礎軟體設施...
《大資料之路 阿里巴巴大資料實踐》筆記
阿里巴巴大資料系統體系主要分為,資料採集 資料計算 資料服務和資料應用四大層次。瀏覽器的頁面日誌採集 h5裝置標識 日誌傳輸資料同步基礎 不過濾刪除流水,下游邏輯刪除 過濾最後一條刪除流水,比如存在手工批量刪除或者備份刪除,則資料還是有效的不應當置為無效 過濾刪除流水和之前的流水 阿里資料倉儲的同步...
大資料之路 阿里巴巴大資料實踐 資料同步要點
使用者建立資料同步任務,並提交該同步任務。根據系統提前獲知及設定的資料,估算該同步任務需要同步的資料量 平均同步速度 首輪執行期望的執行緒數 需要同步的匯流排程數。根據需要同步的匯流排程數將待同步的資料拆分成相 等數量的資料塊,乙個執行緒處理乙個資料塊,並將該任務對應的所有執行緒提交至同步控制器。同...