ARMS是一款阿里云應(yīng)用性能管理(APM)類(lèi)監(jiān)控產(chǎn)品。一共提供三種監(jiān)控辅斟,應(yīng)用監(jiān)控,前端監(jiān)控芦拿,自定義監(jiān)控士飒。
服務(wù)開(kāi)通查邢,免費(fèi)開(kāi)通 ARMS 基礎(chǔ)版后,可在 ARMS 控制臺(tái)開(kāi)通按量付費(fèi)的監(jiān)控服務(wù)酵幕。開(kāi)通按量付費(fèi)后扰藕,才可購(gòu)買(mǎi)應(yīng)用監(jiān)控資源包。
應(yīng)用監(jiān)控是一款針對(duì) Java 應(yīng)用的性能管理(Application Performance Management芳撒,簡(jiǎn)稱(chēng) APM)軟件实胸。無(wú)需修改任何代碼,只需要在 Java 應(yīng)用的啟動(dòng)腳本中掛載一個(gè)探針(ECS Agent)番官,該探針就能夠?qū)?應(yīng)用進(jìn)行全方位監(jiān)控庐完,快速地定位出錯(cuò)接口和慢接口、重現(xiàn)調(diào)用參數(shù)徘熔、檢測(cè)內(nèi)存泄漏门躯、發(fā)現(xiàn)系統(tǒng)瓶頸,從而大幅提升線上問(wèn)題診斷問(wèn)題的效率酷师。
應(yīng)用監(jiān)控探針能夠自動(dòng)發(fā)現(xiàn)應(yīng)用的上下游依賴(lài)關(guān)系讶凉。具體而言,該探針能夠有效捕獲山孔、智能計(jì)算懂讯、自動(dòng)展示不同應(yīng)用之間通過(guò)RPC 框架(例如 Dubbo、HTTP台颠、HSF 等協(xié)議)組成的調(diào)用鏈褐望。
應(yīng)用/實(shí)例調(diào)用信息
上報(bào)字段 | 描述 |
---|---|
響應(yīng)時(shí)間 | 應(yīng)用、實(shí)例調(diào)用的平均響應(yīng)時(shí)間串前,或數(shù)據(jù)庫(kù)操作的平均執(zhí)行響應(yīng)時(shí)間 |
請(qǐng)求數(shù) | 應(yīng)用瘫里、實(shí)例調(diào)用的請(qǐng)求調(diào)用次數(shù),或數(shù)據(jù)庫(kù)操作的執(zhí)行次數(shù) |
錯(cuò)誤數(shù) | 應(yīng)用荡碾、實(shí)例調(diào)用的錯(cuò)誤調(diào)用次數(shù)谨读,或數(shù)據(jù)庫(kù)操作中異常執(zhí)行次數(shù) |
概覽
上報(bào)字段 | 描述 |
---|---|
請(qǐng)求數(shù) | 應(yīng)用、實(shí)例調(diào)用的請(qǐng)求調(diào)用次數(shù)坛吁,或數(shù)據(jù)庫(kù)操作的執(zhí)行次數(shù) |
響應(yīng)時(shí)間 | 應(yīng)用劳殖、實(shí)例調(diào)用的平均響應(yīng)時(shí)間,或數(shù)據(jù)庫(kù)操作的平均執(zhí)行響應(yīng)時(shí)間 |
錯(cuò)誤率 | (應(yīng)用拨脉、實(shí)例調(diào)用的異常調(diào)用次數(shù)哆姻,或數(shù)據(jù)庫(kù)操作的異常次數(shù))/請(qǐng)求數(shù) |
性能一覽 | 柱狀圖與左 Y 軸為請(qǐng)求數(shù)統(tǒng)計(jì),折線圖與右 Y 軸為響應(yīng)時(shí)間 |
SQL 分析
上報(bào)字段 | 描述 |
---|---|
SQL 調(diào)用統(tǒng)計(jì) | 柱狀圖與左 Y 軸為數(shù)據(jù)庫(kù)請(qǐng)求數(shù)統(tǒng)計(jì)女坑,折線圖與右 Y 軸為數(shù)據(jù)庫(kù)響應(yīng)時(shí)間 |
平均耗時(shí) | 本次數(shù)據(jù)庫(kù)調(diào)用的平均耗時(shí) |
調(diào)用次數(shù) | 該應(yīng)用此類(lèi)型數(shù)據(jù)庫(kù)調(diào)用次數(shù) |
異常分析
上報(bào)字段 | 描述 |
---|---|
異常統(tǒng)計(jì) | 柱狀圖為該應(yīng)用填具、實(shí)例、數(shù)據(jù)庫(kù)的異常次數(shù) |
異常類(lèi)型 | 采集到的拋錯(cuò)類(lèi)型 |
異常詳細(xì)信息 | 拋錯(cuò)的詳細(xì)信息 |
平均耗時(shí) | 本次錯(cuò)誤調(diào)用的平均耗時(shí) |
錯(cuò)誤數(shù) | 該異常類(lèi)型的錯(cuò)誤出現(xiàn)的次數(shù) |
接口快照
上報(bào)字段 | 描述 |
---|---|
耗時(shí) | 應(yīng)用、實(shí)例的接口的調(diào)用耗時(shí) |
狀態(tài) | 應(yīng)用劳景、實(shí)例的接口的調(diào)用返回狀態(tài)誉简,正常返回為綠色,拋異常為紅色 |
TraceId | 應(yīng)用盟广、實(shí)例調(diào)用的索引 ID闷串,點(diǎn)擊可以跳轉(zhuǎn)到該調(diào)用鏈詳情 |
前端監(jiān)控專(zhuān)注于 Web 端體驗(yàn)數(shù)據(jù)監(jiān)控,從頁(yè)面打開(kāi)速度(測(cè)速)筋量、頁(yè)面穩(wěn)定性(JS Error)和外部服務(wù)調(diào)用成功率(API)這三個(gè)方面監(jiān)測(cè) Web 頁(yè)面的健康度烹吵。
前端監(jiān)控需要按照提示在應(yīng)用設(shè)置頁(yè)面上按提示復(fù)制代碼,并粘貼在<body>第一行桨武,然后重啟應(yīng)用即可肋拔。
統(tǒng)計(jì)指標(biāo):JS 穩(wěn)定性、訪問(wèn)速度呀酸、API成功率
JS 穩(wěn)定性凉蜂,在 ARMS 中是指頁(yè)面的 JS 錯(cuò)誤率。在一個(gè) PV 周期內(nèi)性誉,如果發(fā)生過(guò)錯(cuò)誤(JS Error)窿吩,則此 PV 周期為錯(cuò)誤樣本。錯(cuò)誤率 = 錯(cuò)誤樣本量 / 總樣本量
訪問(wèn)速度错览,在 ARMS 中纫雁,訪問(wèn)速度是指頁(yè)面的首次渲染時(shí)間。
字段含義
階段耗時(shí)
上報(bào)字段 | 描述 | 計(jì)算方式 | 備注 |
---|---|---|---|
dns | DNS 解析耗時(shí) | domainLookupEnd - domainLookupStart | |
tcp | TCP 連接耗時(shí) | connectEnd - connectStart | |
ssl | SSL 安全連接耗時(shí) | connectEnd - secureConnectionStart | 只在 HTTPS 下有效 |
ttfb | Time to First Byte(TTFB)倾哺,網(wǎng)絡(luò)請(qǐng)求耗時(shí) | responseStart - requestStart | TTFB 有多種計(jì)算方式轧邪,ARMS 以 Google Development 定義為準(zhǔn) |
trans | 數(shù)據(jù)傳輸耗時(shí) | responseEnd - responseStart | |
dom | DOM 解析耗時(shí) | domInteractive - responseEnd | |
res | 資源加載耗時(shí) | loadEventStart - domContentLoadedEventEnd | 表示頁(yè)面中的同步加載資源 |
關(guān)鍵性能指標(biāo)
上報(bào)字段 | 描述 | 計(jì)算方式 | 備注 |
---|---|---|---|
firstbyte | 首包時(shí)間 | responseStart - domainLookupStart | |
fpt | First Paint Time, 首次渲染時(shí)間 / 白屏?xí)r間 | responseEnd - fetchStart | 從請(qǐng)求開(kāi)始到瀏覽器開(kāi)始解析第一批 HTML 文檔字節(jié)的時(shí)間差 |
tti | Time to Interact,首次可交互時(shí)間 | domInteractive - fetchStart | 瀏覽器完成所有 HTML 解析并且完成 DOM 構(gòu)建悼粮,此時(shí)瀏覽器開(kāi)始加載資源 |
ready | HTML 加載完成時(shí)間闲勺, 即 DOM Ready 時(shí)間 | domContentLoadEventEnd - fetchStart | 如果頁(yè)面有同步執(zhí)行的 JS,則同步 JS 執(zhí)行時(shí)間 = ready - tti |
load | 頁(yè)面完全加載時(shí)間 | loadEventStart - fetchStart | load = 首次渲染時(shí)間 + DOM 解析耗時(shí) + 同步 JS 執(zhí)行 + 資源加載耗時(shí) |
API 成功率扣猫,API成功率 = 接口調(diào)用成功的樣本量 / 總樣本量
自定義配置標(biāo)簽頁(yè)上可以配置調(diào)用鏈采樣率、Agent 開(kāi)關(guān)翘地、慢 SQL 查詢閾值申尤、接口響應(yīng)時(shí)間閾值、限流閾值衙耕、無(wú)效接口調(diào)用昧穿、方法棧最大長(zhǎng)度、異常白名單橙喘、線程剖析開(kāi)關(guān)时鸵、慢調(diào)用監(jiān)聽(tīng)觸發(fā)閾值等。
探針總開(kāi)關(guān)和日志級(jí)別的修改即時(shí)生效,無(wú)需重啟應(yīng)用饰潜。如果關(guān)閉探針總開(kāi)關(guān)初坠,則系統(tǒng)將無(wú)法監(jiān)控您的應(yīng)用,請(qǐng)謹(jǐn)慎操作彭雾!
在調(diào)用鏈查詢頁(yè)面碟刺,您可以通過(guò)TraceId精確查詢調(diào)用鏈詳細(xì)情況,或結(jié)合多種條件篩選查詢調(diào)用鏈薯酝。
數(shù)據(jù)源(日志源)為 ARMS 提供數(shù)據(jù)流入半沽,您可以通過(guò)各種方式將數(shù)據(jù)推送到 ARMS 實(shí)時(shí)計(jì)算引擎。
云服務(wù)器 ECS吴菠,通過(guò) Logtail Agent 完成在 ECS 上的增量推送者填,例如日志文件。適用場(chǎng)景包括應(yīng)用運(yùn)行在阿里云 ECS 上的所有業(yè)務(wù)監(jiān)控場(chǎng)景做葵。
LogHub 數(shù)據(jù)源占哟,將阿里云日志服務(wù)(SLS LogHub)作為 AMRS 的數(shù)據(jù)源輸入。如果 ECS 上的日志已經(jīng)被阿里云 LogHub 收集蜂挪,那么可以用此方法讓 ARMS 復(fù)用 LogHub上的數(shù)據(jù)重挑。
API 數(shù)據(jù)源,通過(guò) API SDK 向 ARMS 直接推送日志棠涮。適用于不適合裝 Agent 但是可以通過(guò) API 集成來(lái)直接推送數(shù)據(jù)收集場(chǎng)景谬哀,例如移動(dòng)終端。
MQ 數(shù)據(jù)源严肪,通過(guò)對(duì)接 MQ 直接拉取 Topic 內(nèi)消息并基于其內(nèi)容進(jìn)行實(shí)時(shí)統(tǒng)計(jì)史煎,進(jìn)行業(yè)務(wù)監(jiān)控。適用于已用 MQ 處理業(yè)務(wù)的用戶驳糯,包括電商篇梭、物聯(lián)網(wǎng)等領(lǐng)域。
ARMS 的內(nèi)置切分器酝枢,包括單分隔符恬偷、多分隔符、順序帘睦、KV袍患、JSON 等多種切分器。您可以針對(duì)不同的場(chǎng)景單獨(dú)或組合使用這些切分器竣付。