如何查看探針日誌
日誌預設位置:
${agent根目錄}/logs/${pid}_${ip}.log
。不同的接入方式下
${agent根目錄}
分別為:容器、EDAS、SAE情境:
/home/admin/.opt/ArmsAgent/
或者/home/admin/.opt/AliyunJavaAgent
。手動接入情境:下載並解壓探針的目錄。
如果無法確定,可以執行
ps ef | grep java
命令查看進程的啟動命令,在啟動命令中會通過-javaagent
參數指定探針包位置,也就是探針根目錄。例如看到-javaagent:/home/zhangsan/agent/arms-bootstrap-1.7.0-SNAPSHOT.jar
,則探針根目錄是/home/zhangsan/agent
。
自訂日誌位置:如果手動修改過啟動參數
-DJM.LOG.PATH=xxx
,則日誌目錄在${JM.LOG.PATH}/${pid}_${ip}.log
。
探針接入無資料
確定探針是否成功啟動。
檢測使用者應用剛啟動時的標準輸出日誌是否有載入探針成功的關鍵字。
對於3.x版本,探針掛載成功會包含
(AliyunJavaAgentBootstrap) arms agent start cost
。對於4.x版本探針,探針掛載成功會有包含
Aliyun Java Agent start cost:
的日誌。如果包含對應資訊,則代表探針掛載成功,如果沒有,則代表使用者未掛載探針或者探針預檢失敗,拒絕掛載,且會有日誌說明,例如
Aliyun Java Agent requires minimal memory of 200M
。確認探針掛載成功後,查看探針日誌中啟動階段日誌是否有異常,如果是
java.security.NoSuchAlgorithmException: DES KeyGenerator not available
異常,可升級4.x探針解決,如果不是請提交工單。說明探針日誌位置可參考上文如何查看探針日誌。
如果探針啟動正常,執行以下步驟繼續排查。
通過在探針日誌中搜尋
regionId
關鍵字確定當前探針上報資料地區,確認控制台地區和探針上報地區是否一致。探針是否有網路連通性相關報錯,如果有,建議按照Java應用監控網路設定文檔確認網路相關問題。
當前應用是否確實有流量。
以上排查均正常還是無資料,請提交工單。
是否支援為整個叢集指定探針版本,而非為單個Deployment指定探針版本
支援,但目前只支援後台設定,請提交工單或者聯絡支援人員進行配置。
掛載Pinpoint探針後再掛載ARMS探針無資料
ARMS 3.x版本探針基於Pinpoint探針二次開發,與Pinpoint探針只能二選一。
ARMS 4.x版本探針基於OpenTelemetry Java Agent二次開發,可以與Pinpoint探針同時掛載,但是不保證二者同時掛載的相容性。
接入ARMS之後報錯 java.lang.NoSuchMethodError: 'org.springframework.http.HttpStatus
對於3.2.0之前版本探針,使用EDAS的方式接入ARMS且開啟-Dedas.scg.enable
功能時會自動將com.navercorp.pinpoint.plugin.reactive.filter.AccessLogFilte
添加到使用者的filter chain中,由於該filter未適配spring boot3.
導致出現該問題。當前問題已在3.2.0及之後版本中修複。
探針日誌中包含 logContent rate limit count
這個提示資訊是說明當前探針列印日誌量過多被限流,限流是為了防止列印過多日誌對應用效能產生影響,並不是說明探針存在異常。