本文介紹了ARMS前端監控基於SLS儲存的日誌欄位含義,用於複雜情況下的查詢需求。
指標類型欄位t
| t的值 | 說明 |
| api | API類型。 |
| pv | PV類型,主要計算PV、UV等指標。 |
| perf | 頁面效能情況。 |
| health | 頁面健康度。 |
| speed | 自訂測速上報,測速關鍵字,取值範圍為s0~s10。 |
| behavior | 當異常出現後上報使用者行為。 |
| error | JS錯誤。 |
| resourceError | 資源錯誤。 |
| sum | 主動上報統計總和。 |
| avg | 主動上報統計平均值。 |
| custom | 自訂上報介面,所有欄位不能超過20個字元,上報時會自動在欄位前加上x-的首碼。 |
公用欄位
| 欄位 | 類型 | 樣本 | 說明 |
| begin | number | 1626320736212 | 用戶端日誌發生時間的時間戳記。 |
| ct | string | 4g | 網路類型。 |
| date | number | 1626320736212 | 一般等於begin,如果沒有begin,以服務端時間為準。 |
| detector_browser | string | safari | 瀏覽器類型。 |
| detector_browser_version | string | 14.1.1 | 瀏覽器版本。 |
| detector_device | string | mac | 裝置類型。 |
| detector_engine | string | webkit | 瀏覽器引擎。 |
| detector_engine_version | string | 605.1.15 | 瀏覽器引擎版本。 |
| detector_os | string | macos | 作業系統。 |
| detector_os_version | string | 10.15.7 | 作業系統版本。 |
| detector_type | string | pc | 裝置類型。 |
| environment | string | prod | 環境。 |
| http_referer | string | https://example.com/ | 頁面Referer。 |
| http_user_agent | string | Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.1.1 Safari/605.1.15 | 瀏覽器UserAgent。 |
| ip_city | string | 北京市 | 城市名稱。 |
| ip_city_id | string | 110100 | 城市ID。 |
| ip_country | string | 中國 | 國家名稱。 |
| ip_country_id | string | CN | 國家ID。 |
| ip_isp | string | 聯通 | 電訊廠商。 |
| ip_region | string | 北京市 | 省級行政區。 |
| ip_region_id | string | 110000 | 省級行政區ID。 |
| page | string | testing | 頁面。 |
| pv_id | string | bkkRsrej4OFdv2d4yeb37Xb2R2Xp | PV ID。 |
| release | string | 2.0.123 | 用戶端版本。 |
| remote_addr | string | 111.198.XX.XX | 用戶端IP地址。 |
| sample_api | number | 4 | API採樣率。 |
| sample_health | number | 3 | Health採樣率。 |
| sample_pv | number | 3 | PV採樣率。 |
| sample_resourceError | number | 100 | ResourceError採樣率。 |
| sampling | number | 100 | 全域採樣率。 |
| sid | string | kCk83rFv40Caz06y3pv****** | Session ID。 |
| sr | string | 1280x800 | 螢幕解析度。 |
| src | string | https://example.com | 被監控目標地址。 |
| t | string | resourceError | 不同類型的日誌。 |
| times | number | 100 | 發生相似事件的次數。 |
| uid | string | 94kUgryg4thaLg61ep5****** | 使用者ID。 |
| vp | string | 1280x677 | 頁面大小。 |
| xpath | string | html.is-safari.is-desktop.is-mac > head. > script. | Node路徑。 |
| z | string | kr4dde7g | 防止緩衝。 |
說明 實際儲存表中還存在以底線(_)開頭的欄位(如:_line、_v、_target),這些欄位是一些輔助欄位,產生於資料流處理過程,用於輔助計算,與實際業務無關,無需關注。
API(t: api)
上報資料樣本:
t: api
times: 1
page: tracing/list/cn-hangzhou
tag:
release:
environment: prod
begin: 1638178731302
api: /api/trace.json
success: 1
time: 63
code: 200
msg: success
traceId: 7eb784eb16381787313011******
pv_id: 7ekzzwImkbyhU5bIeiX0v9******
domain: arms.console.aliyun.com
flag: 1
sr: 1680x1050
vp: 1628x946
ct: 4g
uid: xxx
sid: F9kb7w53kFzg1vcb34vndj17qgOd
pid: xxx@xxx
_v: 2.0.0
sampling: 1
dl: https://arms.console.aliyun.com/#/tracing/list/cn-hangzhou
z: kwkgc3er
post_res:| 欄位 | 類型 | 樣本 | 說明 |
| page | string | tracing/list/cn-hangzhou | API請求所處頁面地址。 |
| api | string | /api/trace.json | API地址。 |
| success | number | 1 | 請求是否成功。
|
| time | number | 63 | API耗時,單位為ms。 |
| code | string | 200 | 請求返回狀態代碼。 |
| msg | string | success | 返回的訊息體。 |
| traceId | string | 7eb784eb16381787313011****** | 跟隨該API上報的Trace ID。 |
| pv_id | string | 7ekzzwImkbyhU5bIeiX0v9****** | 當前請求所屬PV ID。 |
PV(t: pv)
上報資料樣本:
t: pv
times: 1
page: tracing/callChains/cn-hangzhou
tag:
release:
environment: prod
begin: 1638179112949
uid: xxx
dt: 應用即時監控服務ARMS
dr:
dpr: 1.00
de: utf-8
ul: zh
sr: 1680x1050
vp: 1628x946
ct: 4g
sid: F9kb7w53kFzg1vcb34vnd******
pid: xxx@xxx
_v: 2.0.0
pv_id: Rhksdwe1kFLhhXjwqp159******
sampling: 1
dl: https://arms.console.aliyun.com/#/tracing/callChains/cn-hangzhou
z: kwkgc3f9| 欄位 | 類型 | 樣本 | 說明 |
| pv_id | string | Rhksdwe1kFLhhXjwqp159****** | PV ID。 |
| dt | string | 應用即時監控服務ARMS | 頁面標題。 |
| dr | string | https://example.com | 文檔Referrer。 |
| dpr | number | 1.00 | 螢幕像素比。 |
| de | string | utf-8 | 文檔編碼類別型。 |
| ul | string | zh | 文檔語言。 |
| dl | string | https://arms.console.aliyun.com/#/tracing/callChains/cn-hangzhou | 頁面連結。 |
Health(t: health)
上報資料樣本:
t: health
times: 1
page: tracing/callChains/cn-hangzhou
tag:
release:
environment: prod
begin: 1638178731334
errcount: 0
apisucc: 42
apifail: 0
healthy: 1
stay: 1647744
sr: 1680x1050
vp: 1628x946
ct: 4g
uid: xxx
sid: F9kb7w53kFzg1vcb34vndj******
pid: xxx@xxxx
_v: 2.0.0
pv_id: Iakvsw01ktagjzcpz773g******
sampling: 1
z: kwkgc3ep| 欄位 | 類型 | 樣本 | 說明 |
| errcount | number | 0 | 錯誤數。 |
| apisucc | number | 42 | API調用成功數。 |
| apifail | number | 0 | API調用失敗數。 |
| healthy | number | 1 | 是否健康。
|
| stay | number | 1647744 | 頁面停留時間。 為了防止頁面停留時間過短,此處存在stay ≥ 2000的限制,邏輯與PV上報保持一致。因此,如果不停地切換頁面,Health日誌中的API資料會比實際的資料少。 |
Perf(t: perf)
上報資料樣本:
t: perf
times: 1
page: arms.console.aliyun.com
tag:
release:
environment: prod
begin: 1638183632694
dns: 12
tcp: 17
ssl: 14
ttfb: 426
trans: 3
dom: 1760
res: 1466
firstbyte: 455
fpt: 479
tti: 2239
ready: 2243
load: 3709
ct: 4g
bandwidth: 10
navtype: Reload
fmp: 4374
autoSend: true
sr: 2560x1440
vp: 1293x1336
uid: xxx
sid: F9kb7w53kFzg1vcb34vndj******
pid: xxx@xxx
_v: 2.0.0
pv_id: CskRtw6hkFnk5j8FvjR0i******
sampling: 1
z: kwkk8jit說明 業務欄位t1-t10、ctti和cfpt只在perf情況下出現,用於手動上報自訂效能資料。
| 欄位 | 類型 | 樣本 | 說明 |
| dns | number | 12 | DNS串連耗時。 |
| tcp | number | 17 | TCP串連耗時。 |
| ssl | number | 14 | SSL串連耗時。 |
| ttfb | number | 426 | 網路請求耗時。等待接收響應的第一個位元組所花費的時間。 |
| trans | number | 3 | 資料轉送耗時。 |
| dom | number | 1760 | DOM解析耗時。 |
| res | number | 1466 | 資源載入耗時。 |
| firstbyte | number | 455 | First Byte時間。 |
| fpt | number | 479 | 首次渲染時間。 |
| tti | number | 2239 | 首次可操作時間。 |
| ready | number | 2243 | HTML載入完成時間,即DOM Ready時間。 |
| load | number | 3709 | 從開始載入到完全載入時間。 |
| navtype | string | Reload | 頁面載入方式。
|
| fmp | number | 4374 | 首次有效繪製時間。 |
Behavior(t: behavior)
上報資料樣本:
t: behavior
times: 1
page: arms.console.aliyun.com%2Fapm
tag:
release:
environment: prod
begin: 1638184741074
sr: 2560x1440
vp: 1293x1336
ct: 4g
uid: xxx
sid: X3kz5wR9ka8kIws06yIwse******
pid: xxx%40xxx
_v: 1.8.30
pv_id: shkRqwIpkLak92ttv8ne6******
sampling: 1
z: kwkkt89j
requestBody:
{
"behavior": [
{
"type": "ui.click",
"data": {
"message": "div%23.next-menu-item-inner%20%3E%20span%23.next-menu-item-text%20%3E%20a%23."
},
"timestamp": 1638184607432,
"page": "/apm"
},
{
"type": "navigation",
"data": {
"from": "https://arms.console.aliyun.com/apm?pid=xxx%40xxx®ionId=cn-hangzhou#/aokcdqn3ly@4a331e0c0dcbd46/home",
"to": "https://arms.console.aliyun.com/apm?pid=xxx%40xxx®ionId=cn-hangzhou#/aokcdqn3ly@4a331e0c0dcbd46/timedTask"
},
"timestamp": 1638184607433,
"page": "/apm"
},
{
"type": "ui.click",
"data": {
"message": "ul%23.next-tabs-nav%20%3E%20li%23.next-tabs-tab%20%3E%20div%23.next-tabs-tab-inner"
},
"timestamp": 1638184617802,
"page": "/apm"
},
{
"type": "navigation",
"data": {
"from": "https://arms.console.aliyun.com/apm?pid=xxx%40xxx®ionId=cn-hangzhou#/aokcdqn3ly@4a331e0c0dcbd46/timedTask",
"to": "https://arms.console.aliyun.com/apm?pid=xxx%40xxx®ionId=cn-hangzhou#/aokcdqn3ly@4a331e0c0dcbd46/timedTask/{%22tabs%22:%22iss%22}"
},
"timestamp": 1638184617804,
"page": "/apm"
},
{
"type": "ui.click",
"data": {
"message": "ul%23.next-tabs-nav%20%3E%20li%23.next-tabs-tab%20%3E%20div%23.next-tabs-tab-inner%20%3E%20span%23."
},
"timestamp": 1638184619991,
"page": "/apm"
}
]
}Error(t: error)
上報資料樣本:
t: error
times: 1
page: 8880/demo/index.html
tag:
release:
environment: prod
begin: 1638185189365
cate: ReferenceError
msg: unknownmethod333 is not defined
stack: ReferenceError: unknownmethod333 is not defined
at http://local.taobao.com:8880/demo/fetch-demo.js:278:9
file: http://local.taobao.com:8880/demo/fetch-demo.js
line: 278
col: 9
sr: 2560x1440
vp: 1293x1336
ct: 4g
uid: xxx
sid: wek9kwC2e28us2xnm99F5******
pid: xxx@xxx
_v: 1.8.31
pv_id: RgkFyw9zk67l995pnwI5x5******
sampling: 1
dl: http://local.taobao.com:8880/demo/index.html
z: kwkl5wxv
post_res:
requestBody
{
"err": {
"msg_raw": "unknownmethod333%20is%20not%20defined",
"stack_raw": "ReferenceError%3A%20unknownmethod333%20is%20not%20defined%0A%20%20%20%20at%20http%3A%2F%2Flocal.taobao.com%3A8880%2Fdemo%2Ffetch-demo.js%3A278%3A9"
}
}| 欄位 | 類型 | 樣本 | 說明 |
| cate | string | ReferenceError | 錯誤名稱,預設為CustomError。 |
| msg | string | unknownmethod333 is not defined | 錯誤訊息,最大支援1000個字元。 |
| stack | string | ReferenceError: unknownmethod333 is not defined at http://local.taobao.com:8880/demo/fetch-demo.js:278:9 | 錯誤堆棧資訊,最大支援1000個字元。 |
| file | string | http://local.taobao.com:8880/demo/fetch-demo.js | 報錯JS所屬檔案。 |
| line | number | 278 | 報錯發生行。 |
| col | number | 9 | 報錯發生列。 |
| err | string | { "msg_raw": "unknownmethod333%20is%20not%20defined", "stack_raw": "ReferenceError%3A%20unknownmethod333%20is%20not%20defined%0A%20%20%20%20at%20http%3A%2F%2Flocal.taobao.com%3A8880%2Fdemo%2Ffetch-demo.js%3A278%3A9" } | 錯誤詳情。 |
ResourceError(t: resourceError)
上報資料樣本:
t: resourceError
times: 1
page: 8880/demo/index.html
tag:
release:
environment: prod
begin: 1638185188224
src: http://example/unknown/picture.jpg
node_name: img
xpath: html. > body. > img.
res_type: img
res_name: /unknown/picture.jpg
domain: example
sr: 2560x1440
vp: 1293x1336
ct: 4g
uid: 5kk0Ou0mpadgbp421iXhr******
sid: wek9kwC2e28us2xnm99F5******
pid: xxx@xxx
_v: 1.8.31
pv_id: RgkFyw9zk67l995pnwI5x******
sampling: 1
z: kwkl5wxm| 欄位 | 類型 | 樣本 | 說明 |
| src | string | http://example/unknown/picture.jpg | 資源地址。 |
| node_name | string | img | 發生錯誤的HTML類型。 |
| xpath | string | html. > body. > img. | 發生錯誤位置。 |
| res_type | string | img | 錯誤資源類型。 |
| res_name | string | /unknown/picture.jpg | 錯誤資源名稱。 |
| domain | string | example | 錯誤資源網域名。 |
Sum(t: sum)& Avg(t: avg)& Percent(t: percent)
上報資料樣本:
t: sum
times: 1
page: tracing/callChains/cn-hangzhou
tag:
release:
environment: prod
begin: 1638178731104
key: 應用列表
val: 1
group: ARMS2_NavItemClick
sr: 1680x1050
vp: 1628x946
ct: 4g
uid: xxx
sid: F9kb7w53kFzg1vcb34vndj******
pid: xxx@xxx
_v: 2.0.0
pv_id: Iakvsw01ktagjzcpz773g8******
sampling: 1
z: kwkgc3eo| 欄位 | 類型 | 樣本 | 說明 |
| key | string | 應用列表 | 事件名,如果需要分組,可使用兩個半形冒號(::)分隔。 可上報的Object:
|
| val | number | 1 | Sum、Avg或Percent的值。 |
| group | string | ARMS2_NavItemClick | Sum、Avg或Percent分組。 |
Custom(t: custom)
自訂上報介面,所有欄位不能超過20個字元,上報時會自動在欄位前加上x-的首碼。
上報資料樣本:
t: custom
times: 1
page: local.taobao.com:8880/demo/index.html
tag:
release:
environment: prod
begin: 1638185189340
x-msg: testcreateInstance222 is ok
sr: 2560x1440
vp: 1293x1336
ct: 4g
uid: xxx
sid: wek9kwC2e28us2xnm99F5w******
pid: xxx@xxx
_v: 1.8.31
pv_id: 99ktyw7akk0lIO565xXCw******
sampling: 1
z: kwkl5wxr