目錄
1. 概述
2. metrics基礎知識介紹
2.1 metric types
2.2 metric group
3. metrics的使用
3.1 system metrics
3.2 使用者自定義metrics
3.3 獲取metrics的方式
3.4 metric reporter
4. metric 實戰案例
4.1 自動化運維
4.2 效能分析
5. 參考鏈結
flink提供的metrics可以在flink內部收集一些指標,來讓開發和運維人員更好的理解作業或集群狀態。
參考官網文件metric types
flink內部有多層結構,以group的方式組織,
指標的唯一標識:metric group + metric name
官網system metrics參考
flink自帶的metric都是系統層面的,使用者可以根據自己的業務邏輯來對外暴露一些指標,用於監控,這點類似於spring boot 中的endpoint端點功能。
如下**片段:
繼承 richfunction
•register user-defined metric group: getruntimecontext().getmetricgroup().addgroup(…)
•register user-defined metric: getruntimecontext().getmetricgroup().counter/gauge/meter/histogram(…)
下面的**片段展示了如何使用使用者自定義metric:
•counter processedcount = getruntimecontext().getmetricgroup().counter("processed_count");
processedcount.inc();
•meter processrate = getruntimecontext().getmetricgroup().meter("rate", new meterview(60));
processrate.markevent();
•getruntimecontext().getmetricgroup().gauge("current_timestamp", system::currenttimemillis);
•histogram histogram = getruntimecontext().getmetricgroup().histogram("histogram", new descriptivestatisticshistogram(1000));
histogram.update(1024);
主要有3種方式來獲取metric
官網metric reporter參考這裡
利用常用的metric,來做自動化運維和效能分析,如下為自動化運維的乙個流程圖:
效能分析的流程如下:發現問題-->剖析問題-->分析原因-->借助profiling工具
Flink學習筆記之WaterMark
event time 業務系統中事件發生的事件。通常因為各種原因會有部分延遲到達系統,所以需要進行亂序處理。ingestion time 到達流處理系統的事件,因為是在入口的地方賦值,具有流中統一不變的特性。processing time 流處理器的本地事件,因為flink是併發執行,各個處理器的本...
Flink學習筆記(五) flink資料合流
上一章記錄了flink的分流操作,那麼有分流是不是應該有合流呢?當然是有這樣的操作啦 stream1和stream2流需要合併為stream流 1.union合流 2.connect合流 前置配置 streamexecutionenvironment env streamexecutionenvir...
Flink學習筆記1 Flink框架api介紹
1.獲得 execution 環境 getexecutionenvironment createlocalenvironment createremoteenvironment string host,int port,string.jarfiles 批處理示例 executionenvironme...