昨天做了異常信件提醒,今天接著介紹Application Insight紀錄。
系統最理想狀況是異常都可以自動化通知開發者,不用查看LOG,但實際應用中,還是需要使用LOG才能最細緻的整理統計異常、資料。在Azure我們可以簡單使用Application Insight做到強大的LOG紀錄、分析。
建立方式:【建立資源】 > 輸入Application Insights
查詢 > 填寫環境類型 > 位置我個人習慣選東南亞
:
接著點開剛剛建立的Application Insights:
最簡單使用方式就是使用Overview觀看網站大略的情況
但今天的主角在進階使用Analytics
來查詢資料,在Overview上面TopBar有【Analytics】按鈕,點開它:
可以看到類似SQL查詢的工具,使用的查詢語言是Log Analytics query language
語言規律在
這個查詢非常有用,使用者遇到系統異常沒有義務回報,問題BUG就這樣被隱藏,等到有一天大爆發。而現在我們能使用查詢找出被隱藏的Exception:
exceptions
| where outerType == "查詢指定異常類型"
| order by timestamp desc
假如想要篩選掉一些不重要的錯誤,可以指定 severityLevel :
| where severityLevel > 1
可以看到查詢的結果,提供異常連結、Exception類別、訊息,假如這些要自己實作會是一個大工程,而現在簡單就能使用。
requests
| where success == 'True'
| where operation_Name != '不想列任篩選的連結名稱'
| where url matches regex "指定網址"
| top 10 by performanceBucket desc
甚至可以使用Render
語法,簡單轉成圖形化報表:
Log Analytics query language
就像SQL語法一樣,可以有各種查詢方式,讓我們有客觀資料判斷哪些程式有效能瓶頸,需要優化。而且學習的成本也非常的低,只需短時間就可以上手。