一眼定位問題,函式計算髮布日誌關鍵詞秒檢索功能

阿里巴巴雲原生發表於2022-03-23

聽說這個問題你也遇到了?

小王是一名程式設計師,最近在使用 FaaS(Function as a Service) 服務時遇到了一個頭疼的問題:他的 FaaS 應用出現很多報錯,但是呼叫日誌頁面的請求太多了,沒辦法簡單、快速地查到出現 bug 的原因。

對小王來說,在開發、運維時檢視自己的應用出現錯誤原本是稀鬆平常的事情,之前小王可以在伺服器本地列印的日誌中檢視關鍵字,可以檢視邏輯是否正確,再檢查下執行環境中的報錯資訊,錯誤根因基本就被發現了。現在,當小王把應用部署到雲上並且將業務交付給 FaaS 服務商來執行後,卻只能依賴於 FaaS 服務商提供的日誌解決方案查詢相關 debug 資訊,沒有辦法像在伺服器上進行除錯一樣,可以直接調查相關的錯誤原因並且進行修復。

因為這個問題,小王每天都要在幾十、或者上百條呼叫日誌的請求列表中,一點點用眼睛搜尋,真的眼睛都要廢了, 於是忍無可忍的小王開啟了自救模式……
在這裡插入圖片描述

主流函式計算產品如何應對?

小王對比了目前國內的主流函式計算產品,他發現這些產品在日誌層面有三個共同點:

a. 均以自家的日誌服務系統作為日誌儲存依託;
b. 向使用者暴露請求列表頁,每一個請求下包含該請求的所有日誌;
c. 均支援跳轉到日誌服務進行自主查詢,支援多函式寫入同一個日誌倉庫

以上三個共同點看起來中規中矩,他們均採用自家成熟的日誌服務作為日誌儲存系統,在保證日誌安全性的同時也提供了不錯的查詢體驗;面向請求級別的日誌也天然的為使用者做了隔離,也符合 FaaS 作為事件驅動的調性;但是均支援跳轉到所繫結的日誌服務產品這一做法可能會褒貶不一。從全面性和準確性上來說沒有任何問題,所繫結的日誌服務可以作為使用者業務日誌的 source-of-truth。

不好的是當使用者面臨茫茫多的日誌資訊,其中混雜著多個應用的資訊和雲服務的配置資訊,無疑提高了使用成本,並且想要用好自助查詢這一功能,需要較長的學習週期。開發者進行 debug 時最關心的就是 errorStack,但是在日誌服務中,映入眼簾的更多是無用的資訊。

你需要的和你看到的
在這裡插入圖片描述

阿里雲函式計算助你一眼定位問題

優化使用者的日誌查詢體驗 - 面向文字的日誌

為了讓使用者使用的更舒適,今年 2 月阿里雲函式計算(FC)全新推出日誌關鍵字搜尋功能,目前已經全網上線,接下來用幾個例子來講講小王是如何通過這個功能,快速定位請求日誌,保住眼睛的。

(1)面向文字的日誌

在呼叫日誌 - 關鍵詞搜尋頁面,開發者可以看到完整且詳細的當前函式的業務日誌(包含函式初始化、呼叫日誌),在這裡開發者只關注文字,函式計算幫助你甩掉了日誌服務頁面中其他無用的資訊。

在這裡插入圖片描述

(2)支援查詢、高亮

開發者使用關鍵詞搜尋時,可以自定義鍵入文字。像頭圖中的使用者,可以直接在搜尋搜尋框中鍵入訂單號等特點資訊,即可查詢到自己想要的日誌資訊。

具體操作請前往下方連結檢視:

https://www.bilibili.com/vide...

(3)支援簡單的查詢語句關聯操作

關鍵詞查詢搜尋框支援使用 AND、OR、NOT 等欄位連結文字 (與日誌服務語法保持一致),為使用者的精細搜尋提供了可能。

具體操作請前往下方連結檢視:
https://www.bilibili.com/vide...

(4)對於自定義 Runtime 更友好

對於 custom-runtime、custom-container 等需要使用者高度自定義的 Runtime,也支援面向文字的日誌顯示以及關鍵字搜尋,這樣容器啟動的日誌也自然地展示給了使用者。

阿里雲函式計算(FC)以 custom-container 經典的 python-flask 框架為例,可以看到容器啟動,python flask server 啟動的日誌也可以展現在控制檯上。同理,initializer、自定義 Runtime 的日誌都可以收集進來。
在這裡插入圖片描述

開啟試試

在阿里雲函式計算 (FC) 函式詳情頁面,單擊呼叫日誌,查詢當前函式的呼叫記錄。通過關鍵詞搜尋頁籤可以檢視函式呼叫日誌的內容。
文件連結:
https://help.aliyun.com/docum...

在這裡插入圖片描述

阿里雲函式計算(FC)不止關注為使用者提供極高的工程效率、幫助使用者降本提效,也關心使用者使用我們的產品是否體驗絲滑。

隨著業務量的攀升,使用者在日誌方面的訴求也是越來越多,函式計算控制檯中的請求列表與關鍵字查詢的組合可以輕鬆覆蓋 100% 來自開發者的日誌需求,讓您更快速定位問題,直接進行業務日誌的檢索。

相關文章