首頁(yè)
日志服務(wù)
操作指南
數(shù)據(jù)加工
數(shù)據(jù)加工(舊版)
最佳實(shí)踐
數(shù)據(jù)富化
使用e_dict_map函數(shù)進(jìn)行數(shù)據(jù)富化
使用e_dict_map函數(shù)進(jìn)行數(shù)據(jù)富化
更新時(shí)間:
本文介紹使用映射富化函數(shù)e_dict_map進(jìn)行數(shù)據(jù)富化的實(shí)踐案例。
背景信息
普通映射函數(shù)
普通映射函數(shù)使用文本完全匹配方式來(lái)映射,如果需要更豐富的字段匹配方式例如正則表達(dá)式匹配、完全匹配、模糊匹配,請(qǐng)使用搜索映射函數(shù)。普通映射函數(shù)包括e_dict_map函數(shù)和e_table_map函數(shù),兩者區(qū)別在于e_dict_map函數(shù)接收的是dict類型的數(shù)據(jù),e_table_map函數(shù)接收的是通過(guò)資源函數(shù)獲取的table類型的數(shù)據(jù)。
例如:在nginx日志中,將特定的狀態(tài)碼轉(zhuǎn)換為文本格式,可以使用普通映射函數(shù)e_dict_map,
狀態(tài)碼 | 文本 |
200 | 成功 |
300 | 跳轉(zhuǎn) |
400 | 請(qǐng)求錯(cuò)誤 |
500 | 服務(wù)器錯(cuò)誤 |
使用e_dict_map函數(shù)進(jìn)行數(shù)據(jù)富化
本案例介紹使用e_dict_map函數(shù)完成數(shù)據(jù)富化的方法。
原始日志
http_host: example.com http_status: 300 request_method: GET http_host: example.org http_status: 200 request_method: POST http_host: example.net http_status: 400 request_method: GET http_host: aliyundoc.com http_status: 500 request_method: GET
加工需求
將http_status字段中的請(qǐng)求狀態(tài)碼轉(zhuǎn)化為文本格式,并添加到status_desc字段中。
加工規(guī)則
e_dict_map({"400": "請(qǐng)求錯(cuò)誤", "500": "服務(wù)器錯(cuò)誤", "300": "跳轉(zhuǎn)", "200": "成功"}, "http_status", "status_desc")
說(shuō)明在實(shí)際情況中,HTTP請(qǐng)求狀態(tài)碼不止以上4種,詳情請(qǐng)參見(jiàn)HTTP請(qǐng)求狀態(tài)碼。當(dāng)http_status字段的值為401、404時(shí),需要更新字典覆蓋,否則無(wú)法匹配。
加工結(jié)果
http_host: example.com http_status: 300 request_method: GET status_desc: 跳轉(zhuǎn) http_host: example.org http_status: 200 request_method: POST status_desc: 成功 http_host: example.net http_status: 400 request_method: GET status_desc: 請(qǐng)求錯(cuò)誤 http_host: aliyundoc.com http_status: 500 request_method: GET status_desc: 服務(wù)器錯(cuò)誤
文檔內(nèi)容是否對(duì)您有幫助?