iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 17
1
Everything on Azure

三十天.NET❤️Azure漸進式開發專案系列 第 17

三十天.NET與Azure漸進式開發專案(17): Analytics Query分析需要的Log資料

2018-10-22.22.33.05-image.png
  昨天做了異常信件提醒,今天接著介紹Application Insight紀錄。

  系統最理想狀況是異常都可以自動化通知開發者,不用查看LOG,但實際應用中,還是需要使用LOG才能最細緻的整理統計異常、資料。在Azure我們可以簡單使用Application Insight做到強大的LOG紀錄、分析。

以查詢Web APP為例子:

  建立方式:【建立資源】 > 輸入Application Insights查詢 > 填寫環境類型 > 位置我個人習慣選東南亞 :
2018-10-22.21.37.54-image.png

  接著點開剛剛建立的Application Insights:
2018-10-22.21.38.59-image.png

  最簡單使用方式就是使用Overview觀看網站大略的情況
2018-10-22.21.40.05-image.png

  但今天的主角在進階使用Analytics來查詢資料,在Overview上面TopBar有【Analytics】按鈕,點開它:
2018-10-22.21.41.42-image.png

  可以看到類似SQL查詢的工具,使用的查詢語言是Log Analytics query language
2018-10-22.21.47.16-image.png
  語言規律在

常用的查詢為例子:

【例子1】查詢上線期間內發生那些Excetpion

  這個查詢非常有用,使用者遇到系統異常沒有義務回報,問題BUG就這樣被隱藏,等到有一天大爆發。而現在我們能使用查詢找出被隱藏的Exception:

exceptions  
| where outerType  == "查詢指定異常類型"  
| order by timestamp desc   

2018-10-22.22.02.19-image.png

  假如想要篩選掉一些不重要的錯誤,可以指定 severityLevel :

| where severityLevel > 1  

2018-10-22.22.03.38-image.png

  可以看到查詢的結果,提供異常連結、Exception類別、訊息,假如這些要自己實作會是一個大工程,而現在簡單就能使用。

【例子2】查詢前10筆網頁連結回應速度異常、緩慢:

requests   
| where  success == 'True'  
| where operation_Name  != '不想列任篩選的連結名稱'  
| where url matches regex "指定網址"   
| top 10  by performanceBucket  desc   

2018-10-22.22.20.56-image.png

  甚至可以使用Render語法,簡單轉成圖形化報表:
2018-10-22.22.26.27-image.png

  Log Analytics query language就像SQL語法一樣,可以有各種查詢方式,讓我們有客觀資料判斷哪些程式有效能瓶頸,需要優化。而且學習的成本也非常的低,只需短時間就可以上手。


上一篇
三十天.NET與Azure漸進式開發專案(16): 藉由 SendGrid 發送 Email
下一篇
三十天.NET與Azure漸進式開發專案(18): Web App Always On替代方案
系列文
三十天.NET❤️Azure漸進式開發專案30

尚未有邦友留言

立即登入留言