iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 16
0
Software Development

Azure Application Insights系列 第 16

Day - 16. 自訂事件和度量(Exception)

  • 分享至 

  • xImage
  •  

Exception就是例外狀況

Azure Application Insights本身就會搜集ㄧ些App Service發生的例外回傳

並且記錄在exception這張表裡面

https://ithelp.ithome.com.tw/upload/images/20191001/20103426CgQQEAXsJT.png

如下圖我們可以看到Azure Application Insights在這幾天記錄的一些資料

https://ithelp.ithome.com.tw/upload/images/20191001/20103426CmXOBgEyx6.png

但...Azure Application Insights他能抓取的僅僅只有他從App Service裡面知道的

可是如果是一些被我們handle過的exception,他就無法抓取了

謎之音:既然都使用Azure Application Insights,難道我們還得去搞個Error Log嗎??

當然不用!我們也可以直接利用Azure Application Insights SDK提供的方法達成

首先我們將會用到TrackException這個方法

我們可以使用下面的程式碼片段來實作

try
{
    throw new Exception("test")
}
catch (Exception ex)
{
    telemetryClient.TrackException(ex);
}

https://ithelp.ithome.com.tw/upload/images/20191001/20103426y46PO3mVgu.png

沒錯就是這麼簡單,接著...再讓我們發行到Azure上就搞定了

https://ithelp.ithome.com.tw/upload/images/20190927/20103426BIRXMf8bRy.png

https://ithelp.ithome.com.tw/upload/images/20190927/201034265mB3cbx6Lu.png

接著讓我們把時間縮短到30分鐘內來執行查詢看看(這部分有時候也要等一下唷)

exceptions
| limit 50

https://ithelp.ithome.com.tw/upload/images/20191001/20103426XcIdwyDUm1.png

在上圖我們可以清楚得看到查詢的結果,裡面的outermessage裡面就是上面所寫的test

有告訴我們在哪發生的,發生了什麼事情,甚至有Exception整個物件

但...當然不只是只能這樣!

筆者後來還準備了一些不一樣類型的Exception材料,除了原本的System.Exception外還多了其他的

例如像是:FormatException、InvalidOperationException這兩個

為什麼要這樣呢?因為我們利用下方的Kusto語法還可以做出將Exception分類的查詢

exceptions
| summarize sum(itemCount) by type

https://ithelp.ithome.com.tw/upload/images/20191002/20103426d3IDde4i9P.png

上圖即是我們利用Kusto語法做出的查詢結果

從查詢結果我們可以得知有哪些錯誤類型,並且這些錯誤類型到底都發生了幾次

所以我當初說過Kusto語法很重要的!多了解點會有好處的


上一篇
Day - 15. 自訂事件和度量(requests)
下一篇
Day - 17. 自訂事件和度量(Dependency)
系列文
Azure Application Insights30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言