使用Application Insights監控網站可用性

在評價網站的諸多指標中,可用性肯定是最重要的。一個網站首先要可用才能對其他方面進行評價。網站不可用不能單靠自己人發現或者等用戶投訴,需要配備主動手段進行監控。那麼我們今天要和大家聊的就是Azure Monitor下面兩大服務之一的Application Insights。使用Application Insights我們可以在多個區域,每時每刻都對網站發起訪問,當可用性不良時立馬告警提醒相關人員進行排查。有了比老闆更敏銳的告警,從此晚上可以安心睡覺。

Application Insights是Azure Monitor中兩大服務之一,他可以對運行在私有云、混合雲以及任何公有云中託管的各種平臺的應用程序(.Net/Nodejs/Java/Python等)進行近乎實時的監控。它會自動檢測應用的異常並通過其自身強大的分析工具來幫助診斷問題,從而提升應用程序的性能和可用性。

說到這可能有的朋友就會問:Application Insights可以給我們提供那些類型的監控呢?其實Application Insights提供的監控類型如下:

  • 請求率、響應時間和失敗率 :瞭解最受歡迎的頁面、時段以及用戶的位置。 查看哪些頁面效果最好。 當有較多請求時,如果響應時間長且失敗率高,則可能存在資源問題。
  • 依賴項速率、響應時間和失敗率 :瞭解外部服務是否正拖慢速度。
  • 異常:分析聚合的統計信息,或選擇特定實例並鑽取堆棧跟蹤和相關請求。 報告服務器和瀏覽器異常。
  • 頁面查看次數和負載性能:由用戶的瀏覽器報告。
  • AJAX 調用(從網頁):速率、響應時間和失敗率。
  • 用戶和會話計數。
  • Windows 或 Linux 服務器計算機中的性能計數器,例如 CPU、內存和網絡使用情況。
  • Docker 或 Azure 中的主機診斷。
  • 應用中的診斷跟蹤日誌:可以將跟蹤事件與請求相關聯。
  • 在客戶端或服務器代碼中自行編寫的自定義事件和指標,用於跟蹤業務事件。

瞭解了監控類型以後,我們來看一下Aplication Insight是如何對應用程序進行監控的:
使用Application Insights監控網站可用性

若要使用Application Insights監控應用程序,我們需要現在Azure中創建Application Insights資源,然後在應用程序中安裝一個小的檢測包。檢測包不僅可以檢測 Web 服務應用程序,還可以檢測所有後臺組件和Web 頁面中的 JavaScript以及運行應用程序的主機性能。並將數據發送給與之相關聯的application insights資源並繼承到azure monitor中
除此之外Application Insights還可以對定期向 Web 服務發送綜合請求的 Web 測試進行設置。

說了這麼多,相信各位對Application Insights也都有了一定的瞭解,那麼下面我們就來看一下如何使用Application Insights監控網站的可用性。

創建Application Insights資源
點擊“新建資源”--“IT&管理工具”--“Application Insights”:
使用Application Insights監控網站可用性
輸入“資源組”、“名稱”以及“區域”以後點擊“review and create”:
使用Application Insights監控網站可用性
確認無誤以後點擊“創建”:
使用Application Insights監控網站可用性
創建完成,如下圖所示:
使用Application Insights監控網站可用性

設置ULR監控(網站可用性監控)

在我們剛剛創建的Application Insights中,找到“可用性”選項卡,然後點擊“添加測試”:
使用Application Insights監控網站可用性
接下來我們需要進行如下設置:

  • 測試名稱-這個測試名稱我們在後續查詢見識數據的時候也會用到。
  • 測試類型-分爲URL測試和多步驟測試。在此需要注意URL測試是完全免費的。多步驟測試會產生費用。
  • 測試URL-我們需要監視的網站的URL
  • 測試頻率-在這裏我選擇5分鐘
  • 測試地點-因爲我的網站部署在東南亞,但是用戶分佈在多個區域,所以我選擇了五個測試位置。當然在實際生產環境中我們可以根據實際情況進行配置。
  • 測試成功標準-我們可以設置測試的超時時間以及對於的狀態碼信息
  • 警報-在此我們可以設置在檢測到網站不可用時產生警報信息
    使用Application Insights監控網站可用性

創建完成後點擊“context menu”--“Edit Alert”:
使用Application Insights監控網站可用性

在規則管理頁面設置對於的警報規則,然後點擊保存:
使用Application Insights監控網站可用性

稍等幾分鐘後,我們可以在“概述”頁面的“Availability”小部件下看到對應的數據:
使用Application Insights監控網站可用性

單擊小部件可打開更詳細的監控儀表盤。選擇詳細信息可爲我們提供更多信息,例如測試持續時間,可用百分比和執行的測試次數。我們也可以在右下方編輯或暫停測試。
使用Application Insights監控網站可用性

在這裏我們可以看到我又幾個異常值,將鼠標懸停在對應的異常值處可以看到測試的持續時間和位置:
使用Application Insights監控網站可用性

點擊進去以後可以看到詳細的監控信息:
使用Application Insights監控網站可用性

日誌

因爲Application Insights和Log Analytics使用相同的查詢語言,所以我們可以在“概述”頁面點擊“Log”:
使用Application Insights監控網站可用性

因爲“URL test”存儲在“AvailabilityResults”表下,所以我們可以使用如下命令進行對應查詢:

availabilityResults
| project-away performanceBucket, operation_Name 

我們可以在名稱列看到名稱,如果我們有多個網站可用性的測試則可以進行相應的篩選:
使用Application Insights監控網站可用性

使用這些監控數據,我們可以生成不同的可視化圖標或者監控警報。例如下面這個散點圖,是按照位置劃分的持續時間的平均值
使用Application Insights監控網站可用性

這就是我們可以使用Application Insights監視網站可用性的方法。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章