監(jiān)控告警與日志問(wèn)題
本文介紹監(jiān)控告警與日志中的常見(jiàn)問(wèn)題。
Datastream作業(yè)TM日志中拋NullPointerException如果沒(méi)有詳細(xì)錯(cuò)誤棧怎么辦?
數(shù)據(jù)正常寫入(如Kafka能收到Flink寫入的數(shù)據(jù)),但Flink任務(wù)狀態(tài)總覽顯示數(shù)據(jù)為0?
Datastream作業(yè)TM日志中拋NullPointerException如果沒(méi)有詳細(xì)錯(cuò)誤棧怎么辦?
在
頁(yè)面,單擊目標(biāo)作業(yè)名稱后,在部署詳情頁(yè)簽的運(yùn)行參數(shù)配置區(qū)域的其他配置中,添加如下代碼。env.java.opts: "-XX:-OmitStackTraceInFastThrow"
如何針對(duì)單個(gè)Class設(shè)置日志級(jí)別參數(shù)?
例如,設(shè)置Kafka Connector相關(guān)的log4j.logger.org.apache.kafka.clients.consumer=trace(源表)和log4j.logger.org.apache.kafka.clients.producer=trace(結(jié)果表)參數(shù)時(shí),需要在Log Levels中配置,不能在其他配置中配置。
如何開(kāi)啟實(shí)時(shí)計(jì)算Flink版GC日志參數(shù)?
在
頁(yè)面,單擊目標(biāo)作業(yè)名稱后,在部署詳情頁(yè)簽的運(yùn)行參數(shù)配置區(qū)域的其他配置中,添加如下代碼。env.java.opts: >-
-XX:+PrintGCDetails -XX:+PrintGCDateStamps -Xloggc:/flink/log/gc.log
-XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=2 -XX:GCLogFileSize=50M
Datastream作業(yè)無(wú)延遲、輸出曲線,應(yīng)該如何處理?
問(wèn)題詳情
源表有源源不斷的數(shù)據(jù)進(jìn)入Flink,Kafka物理表每個(gè)Partition也是有源源不斷的數(shù)據(jù)的情況下,Datastream作業(yè)Kafka Source CurrentEmitEventTimeLag和CurrentFetchEventTimeLag顯示作業(yè)延遲為52年。
問(wèn)題原因
Datastream中Kafka Connector依賴是社區(qū)的Connector,不是Ververica內(nèi)置的Connector。社區(qū)Connector是沒(méi)有實(shí)現(xiàn)曲線匯報(bào)邏輯的,所以輸入輸出延遲等曲線顯示異常。
解決方案
使用Ververica Connector依賴,詳情請(qǐng)參見(jiàn)ververica maven倉(cāng)庫(kù)。
如何解決非Static方法輸出不到SLS中的問(wèn)題?
問(wèn)題詳情
由于SLS Logger Appender實(shí)現(xiàn)邏輯,非Static方法輸出不到SLS中。
解決方案
您需要使用標(biāo)準(zhǔn)的定義方式
private static final Logger LOG = LoggerFactory.getLogger(xxx.class);
。
數(shù)據(jù)正常寫入(如Kafka能收到Flink寫入的數(shù)據(jù)),但Flink任務(wù)狀態(tài)總覽顯示數(shù)據(jù)為0?
問(wèn)題詳情
如果作業(yè)中只有一個(gè)節(jié)點(diǎn),source沒(méi)有input只有output,sink只有input沒(méi)有output,在作業(yè)拓?fù)鋱D中將無(wú)法看到讀取和寫入的數(shù)據(jù)量。
解決方案
為了能夠在拓?fù)鋱D中看到具體的數(shù)據(jù)流量,需要對(duì)算子進(jìn)行分割。將source算子和sink算子拆分成獨(dú)立的算子,分別與其他的算子進(jìn)行連接,形成新的拓?fù)浣Y(jié)構(gòu),在拓?fù)鋱D中即可看到數(shù)據(jù)的流向和流量。
您需要在
頁(yè)面,單擊目標(biāo)作業(yè)名稱,在部署詳情頁(yè)簽運(yùn)行參數(shù)配置區(qū)域的其他配置中添加分割算子的參數(shù)配置pipeline.operator-chaining: 'false'
。
配置日志到SLS后,作業(yè)啟動(dòng)報(bào)錯(cuò)
問(wèn)題詳情
修改作業(yè)日志輸出到SLS后,作業(yè)啟動(dòng)時(shí)顯示作業(yè)啟動(dòng)失敗,請(qǐng)重試,并報(bào)錯(cuò)如下:
Unknown ApiException {exceptionType=com.ververica.platform.appmanager.controller.domain.TemplatesRenderException, exceptionMessage=Failed to render {userConfiguredLoggers={}, jobId=3fd090ea-81fc-4983-ace1-0e0e7b******, rootLoggerLogLevel=INFO, clusterName=f7dba7ec27****, deploymentId=41529785-ab12-405b-82a8-1b1d73******, namespace=flinktest-default, priorityClassName=flink-p5, deploymentName=test}} 029999 202312121531-8SHEUBJUJU
問(wèn)題原因
配置作業(yè)日志時(shí),請(qǐng)確認(rèn)是否將部分Twig變量(例如namespace、deploymentId等)進(jìn)行了修改。
解決方案
參考配置作業(yè)日志輸出重新進(jìn)行配置,根據(jù)實(shí)際情況對(duì)表格中說(shuō)明的參數(shù)進(jìn)行修改。
云監(jiān)控告警相對(duì)ARMS有哪些不足?
不支持查詢分析語(yǔ)法。
目前只能查看當(dāng)前作業(yè)曲線,而無(wú)法查看歷史作業(yè)曲線,這將不利于進(jìn)行多輪調(diào)優(yōu)對(duì)比RPS效果。
無(wú)法查看subtask粒度的曲線,多Source、多subtask的場(chǎng)景下,無(wú)法直觀快速定位聚類后的延遲問(wèn)題。
目前無(wú)法查看用戶代碼內(nèi)部埋點(diǎn)上報(bào)的指標(biāo),這可能會(huì)對(duì)問(wèn)題排查造成不便。