此參考體系結(jié)構(gòu)演示了如何設(shè)計(jì) Azure Monitor 來監(jiān)視 (操作系統(tǒng)的性能和可用性,) 在虛擬機(jī)中運(yùn)行的工作負(fù)荷 (Vm) 中、在本地環(huán)境中,以及第三方云提供商。
下載此體系結(jié)構(gòu)的 Visio 文件。
該體系結(jié)構(gòu)包括以下組件:
本地總公司-VM 1。 這是一個(gè)具有 internet 訪問權(quán)限的 web 應(yīng)用程序和一個(gè)面向公眾的網(wǎng)頁,并同時(shí)安裝了 log analytics 和依賴項(xiàng)代理。 有關(guān)代理的信息,請(qǐng)參閱 Log Analytics 代理概述 和 Azure Monitor 代理、依賴關(guān)系代理概述。
本地總公司-VM 2。 這種業(yè)務(wù)邏輯環(huán)境無法訪問 internet。 但是,它會(huì)安裝 log analytics 和依賴關(guān)系代理。
本地總公司-VM 3。 這是一個(gè)無 internet 訪問的數(shù)據(jù)存儲(chǔ),但安裝了 log analytics 和依賴關(guān)系代理。
本地總公司 Log Analytics 網(wǎng)關(guān)。 Log Analytics 網(wǎng)關(guān)從三個(gè)本地 Vm 收集日志和指標(biāo)數(shù)據(jù),并通過傳輸控制協(xié)議 (TCP) 在端口443上將其傳送到 Log Analytics 工作區(qū) 。
本地總部防火墻。 進(jìn)出本地環(huán)境的流量通過防火墻路由。
網(wǎng)關(guān)。 網(wǎng)關(guān)提供與分支機(jī)構(gòu)的連接。
本地分支辦公室-VM 4。 這是在沒有 internet 訪問的情況下運(yùn)行的業(yè)務(wù)應(yīng)用程序,但安裝了 log analytics 和依賴項(xiàng)代理。 已在 VM 上安裝的 Log Analytics 代理配置為將數(shù)據(jù)直接傳輸?shù)?Log Analytics 工作區(qū),而無需 Log Analytics 網(wǎng)關(guān)。
本地分支機(jī)構(gòu)-網(wǎng)關(guān)。 此網(wǎng)關(guān)通過虛擬專用網(wǎng)絡(luò)將分支機(jī)構(gòu)連接到本地總公司 (VPN) 。
第三方云提供程序-VM 5。 這是一個(gè)具有 internet 訪問權(quán)限的 web 應(yīng)用程序,一個(gè)面向公眾的網(wǎng)頁,還安裝了 log analytics 和依賴項(xiàng)代理。
第三方云提供程序-VM 6。 這是一個(gè)無 internet 訪問的數(shù)據(jù)存儲(chǔ)環(huán)境,但同時(shí)安裝了 log analytics 和依賴項(xiàng)代理。 從第三方云提供商環(huán)境到本地環(huán)境沒有直接連接。
Azure-虛擬機(jī)規(guī)模集。 (VMSS) 的 Azure 虛擬機(jī)規(guī)模集是一個(gè)規(guī)模集,它在安裝了 log analytics 和診斷代理的情況運(yùn)行業(yè)務(wù)應(yīng)用程序。
Azure-應(yīng)用程序服務(wù)器。 此服務(wù)器有一個(gè)運(yùn)行業(yè)務(wù)應(yīng)用程序的 VM,其中安裝了 log analytics 和診斷代理。
Azure Monitor 指標(biāo)。 Azure Monitor 度量值收集的數(shù)據(jù)存儲(chǔ)在為分析時(shí)間戳數(shù)據(jù)而優(yōu)化的時(shí)序數(shù)據(jù)庫(kù)中。 它還存儲(chǔ)從本地 Vm 和 Azure Vm 發(fā)送的指標(biāo)。
Azure Monitor Log Analytics 工作區(qū)。 此工作區(qū)存儲(chǔ)從本地 Vm、Azure Vm 和第三方云提供商上的 Vm 發(fā)送的日志。 工作區(qū)是一種 Azure 資源,其中的數(shù)據(jù)是聚合的,它用作訪問此數(shù)據(jù)的管理邊界。 然后,其他 Azure Monitor 服務(wù)連接到 Log Analytics 工作區(qū),并使用這些數(shù)據(jù)來實(shí)現(xiàn)各種目的。 有關(guān)詳細(xì)信息,請(qǐng)參閱 設(shè)計(jì) Azure Monitor 日志部署。
Azure Monitor-Application Insights。 Application Insights 提供對(duì)應(yīng)用程序的分析,并深入了解其使用情況。 在此示例體系結(jié)構(gòu)中,可用性 ping 測(cè)試檢查本地 web 應(yīng)用程序的可用性,并啟用警報(bào)規(guī)則以提供失敗的測(cè)試通知。 有關(guān)詳細(xì)信息,請(qǐng)參閱 什么是 Application Insights? 和 監(jiān)視任何網(wǎng)站的可用性。
Azure Monitor-用于 VM 的 Azure Monitor。 用于 VM 的 Azure Monitor 監(jiān)視虛擬機(jī)和虛擬機(jī)規(guī)模集的性能和運(yùn)行狀況,包括其正在運(yùn)行的進(jìn)程和其他資源的依賴關(guān)系。 在此方案中,它將為你的虛擬機(jī)提供見解。 有關(guān)詳細(xì)信息,請(qǐng)參閱 什么是用于 VM 的 Azure Monitor?
Azure Monitor 分析。 Vm 中的日志和指標(biāo)數(shù)據(jù)在 Azure Monitor 度量值和使用 Kusto 查詢語言 (KQL) 的 Log Analytics 工作區(qū)中查詢,以提供對(duì)基礎(chǔ)結(jié)構(gòu)、拓?fù)浜唾Y源的深入了解。 有關(guān)詳細(xì)信息,請(qǐng)參閱 Kusto:概述 和 Azure Monitor 日志查詢示例。
Azure Monitor-可視化。 Azure Monitor 使用可視化工具查看 Azure Monitor 中的應(yīng)用程序和基礎(chǔ)結(jié)構(gòu)組件以及服務(wù)之間的通信。 可視化工具包括 應(yīng)用程序見解的-應(yīng)用程序的地圖、 用于 VM 的 Azure Monitor 映射、 工作簿 以及各種在 Azure Monitor 內(nèi)可用的 儀表板 視圖。 有關(guān)詳細(xì)信息,請(qǐng)參閱 使用用于 VM 的 Azure Monitor 的地圖功能了解應(yīng)用程序組件、 創(chuàng)建和共享 Log Analytics 數(shù)據(jù)的儀表板和 Azure Monitor 工作簿。
Azure Monitor 集成。 Azure Monitor 與一系列合作伙伴和第三方工具和擴(kuò)展集成,這些工具和擴(kuò)展可增強(qiáng)和構(gòu)建現(xiàn)有 Azure Monitor 功能,如分析和可視化效果。
Azure Monitor-警報(bào)。 指標(biāo)和日志數(shù)據(jù)的變體可以指示事件發(fā)生的情況。 規(guī)則定義觸發(fā)警報(bào)的數(shù)據(jù)變化、提供通知并啟動(dòng)修正響應(yīng)。 在此體系結(jié)構(gòu)中,觸發(fā)警報(bào)時(shí),自動(dòng)化 runbook 會(huì)自動(dòng)修正本地 Vm 和 Azure Vm。 此外還提供 Webhook 操作、服務(wù)管理集成和其他操作類型。 有關(guān)詳細(xì)信息,請(qǐng)參閱使用 Azure Monitor 創(chuàng)建、查看和管理指標(biāo)警報(bào) 和 使用 Azure Monitor 創(chuàng)建、查看和管理日志警報(bào)。
Azure Monitor-自動(dòng)縮放。 自動(dòng)縮放將 VM 實(shí)例作為需求更改添加或刪除,這可保持性能并提高成本效益。 在此體系結(jié)構(gòu)中,自動(dòng)縮放在平均 CPU 負(fù)載 (的百分比) 中定義了條件。 滿足條件時(shí),Azure Monitor 自動(dòng)縮放會(huì)根據(jù)需求調(diào)整規(guī)模集。 有關(guān)詳細(xì)信息,請(qǐng)參閱 Microsoft Azure 中的自動(dòng)縮放概述
以下最佳實(shí)踐是適用于大多數(shù)方案的建議。 請(qǐng)按照以下步驟操作,除非你具有替代它們的特定要求。
設(shè)計(jì) Log Analytics 工作區(qū)時(shí),請(qǐng)考慮以下建議:
如果延遲是一個(gè)重要因素,請(qǐng)將工作區(qū)和資源置于同一 Azure 區(qū)域。
開始使用單個(gè) Log Analytics 工作區(qū),并隨著需求的變化增加工作區(qū)數(shù)量。
如果有地理位置分散的團(tuán)隊(duì)和資源,則可能需要每個(gè)區(qū)域一個(gè)工作區(qū)。
你的工作區(qū)不需要與正在運(yùn)行的資源位于同一訂閱中。
對(duì)于簡(jiǎn)單或更簡(jiǎn)單的方案,可以使用指標(biāo)來標(biāo)記警報(bào),而不是日志。 指標(biāo):
為 CPU 使用情況、可用內(nèi)存或邏輯磁盤空間等事件提供計(jì)數(shù)或 數(shù)字值。
延遲較低。
提供更高的粒度,例如每秒或每分鐘間隔。
快速通知你問題。
如果要收集一些自定義性能指標(biāo)或特定于業(yè)務(wù)的指標(biāo)以提供更深入的見解,則可以使用自定義指標(biāo)實(shí)現(xiàn)此目的。 有關(guān)詳細(xì)信息,請(qǐng)參閱 Azure Monitor (預(yù)覽版中的自定義指標(biāo)) 。
但在所有情況下,指標(biāo)警報(bào)并不是答案。 如果需要更多的自定義或更強(qiáng)大的關(guān)聯(lián),你可能仍希望使用基于日志的警報(bào)。
請(qǐng)考慮以下分析和診斷建議:
使用日志進(jìn)行更深入的分析。 日志可以:
(與指標(biāo)) 相比,提供有關(guān)事件的詳細(xì)信息。
間歇發(fā)生。
在初始度量值標(biāo)志后,簡(jiǎn)化更深入的診斷。
你可以使用 HTTP 數(shù)據(jù)收集器 API) 使用 HTTP 數(shù)據(jù)收集器 API 將日志數(shù)據(jù)發(fā)送到 Log Analytics 工作區(qū)來自定義日志數(shù)據(jù)收集 (。 有關(guān)詳細(xì)信息,請(qǐng)參閱 通過 HTTP 數(shù)據(jù)收集器 API 將日志數(shù)據(jù)發(fā)送到 Azure Monitor (公共預(yù)覽版) 。
此外,通過應(yīng)用程序見解的 智能檢測(cè) 功能主動(dòng)分析你的應(yīng)用程序。 智能檢測(cè)應(yīng)用 Azure 機(jī)器學(xué)習(xí)功能和統(tǒng)計(jì)分析 檢測(cè)性能或故障異常、內(nèi)存泄漏或一般應(yīng)用程序降低等問題。 有關(guān)詳細(xì)信息,請(qǐng)參閱 Application Insights 中的智能檢測(cè)。
此外,還可以使用 用于 VM 的 Azure Monitor 映射 來查看服務(wù)器、進(jìn)程、入站和出站連接延遲以及任何 TCP 連接的體系結(jié)構(gòu)之間的連接。 除了安裝代理以外,無需進(jìn)行任何配置。 利用 用于 VM 的 Azure Monitor Map,你可以將服務(wù)器作為互連系統(tǒng)交互和處理。
使用 KQL 在 Log Analytics 工作區(qū) 中查詢數(shù)據(jù),搜索術(shù)語、特定事件或狀態(tài),以確定趨勢(shì)和分析模式。 使用 查詢資源管理器 瀏覽并選擇預(yù)編寫的查詢,對(duì)其進(jìn)行修改或創(chuàng)建自己的查詢。 你可以從工作區(qū)中運(yùn)行、保存、共享和導(dǎo)出查詢,并將你最喜愛的查詢固定到儀表板以便重復(fù)使用。
通過使用自動(dòng)化選項(xiàng)(如 Azure 策略、Azure PowerShell、資源管理器模板或所需狀態(tài)配置 (DSC) ),自動(dòng)而不是單獨(dú)安裝代理。 有關(guān)詳細(xì)信息,請(qǐng)參閱 使用 Azure 策略啟用用于 VM 的 Azure Monitor, 使用 Azure PowerShell 啟用用于 VM 的 Azure Monitor,并 為混合虛擬機(jī)所需的狀態(tài)配置啟用用于 VM 的 Azure Monitor。
對(duì)于關(guān)鍵應(yīng)用程序,創(chuàng)建一個(gè) Azure 儀表板 視圖。 共享或使你的儀表板實(shí)時(shí)在共享屏幕上可用,以供需要關(guān)鍵應(yīng)用程序數(shù)據(jù)的用戶使用。
下面是縮放環(huán)境的注意事項(xiàng)。
自動(dòng)執(zhí)行資源和應(yīng)用程序的安裝和配置。
大規(guī)模地理位置分散的應(yīng)用程序。 在 Application Insights 中使用 分布式跟蹤 來跟蹤跨多個(gè)應(yīng)用程序組件、后端資源和微服務(wù)環(huán)境的依賴項(xiàng)和調(diào)用。 借助 分布式跟蹤 ,你可以調(diào)試在本地堆棧外部跨進(jìn)程邊界調(diào)用的應(yīng)用程序。 (無需啟用 分布式跟蹤,就可以在 App Insights 中自動(dòng)使用。 )
事務(wù)診斷體驗(yàn)。 這類似于具有已添加時(shí)間維度的調(diào)用堆棧。 事務(wù)診斷體驗(yàn)提供了一個(gè)單一事務(wù)/請(qǐng)求的可見性,并且它有助于查找每個(gè)請(qǐng)求的可靠性問題和性能瓶頸的根本原因。 有關(guān)詳細(xì)信息,請(qǐng)參閱 什么是分布式跟蹤?。
應(yīng)用程序映射體驗(yàn)。 這會(huì)聚合許多事務(wù),以演示系統(tǒng)如何與界定閉合交互,并提供平均性能和錯(cuò)誤率。 有關(guān)詳細(xì)信息,請(qǐng)參閱 應(yīng)用程序映射:會(huì)審分布式應(yīng)用程序。
使用分布式跟蹤數(shù)據(jù)的兩個(gè)選項(xiàng)為:
下面是確保環(huán)境可用性的注意事項(xiàng)。
可用性測(cè)試。 此體系結(jié)構(gòu)中使用的 URL ping 測(cè)試是最簡(jiǎn)單的 外部 可用性測(cè)試。 不過,還可以使用其他選項(xiàng),例如:
多步驟 web 測(cè)試。 播放排序的 web 請(qǐng)求的錄制,以測(cè)試復(fù)雜方案。 在 Microsoft Visual Studio Enterprise 中創(chuàng)建多步驟 web 測(cè)試,然后將其上傳到要執(zhí)行的門戶。
自定義跟蹤可用性測(cè)試。 使用 TrackAvailability()
方法將測(cè)試結(jié)果發(fā)送到 Application Insights。
警報(bào)。 在 Application Insights 中創(chuàng)建可用性測(cè)試時(shí),默認(rèn)情況下會(huì)啟用事件警報(bào)通知。 可以通過指定通知類型和詳細(xì)信息來編輯警報(bào)規(guī)則, Azure Monitor > 警報(bào)。
以下是使你的環(huán)境更易管理的注意事項(xiàng)。
簿. 使用工作簿有助于進(jìn)一步分析和創(chuàng)建豐富的報(bào)表。 工作簿將文本、日志查詢、指標(biāo)和參數(shù)合并為交互式報(bào)表。 有權(quán)訪問同一 Azure 資源的團(tuán)隊(duì)成員可以編輯工作簿。 有關(guān)詳細(xì)信息,請(qǐng)參閱 創(chuàng)建交互式報(bào)表用于 VM 的 Azure Monitor 工作簿。
合作伙伴集成。 將 Azure Monitor 與合作伙伴和第三方工具集成,以幫助進(jìn)行分析、可視化、警報(bào)或服務(wù)管理和 DevOps 管道。 有關(guān)詳細(xì)信息,請(qǐng)參閱 Azure Monitor 合作伙伴集成。
將 Azure Monitor 與 Microsoft System Center 集成。 將 Azure Monitor 與 System Center 產(chǎn)品套件集成。 有關(guān)詳細(xì)信息,請(qǐng)參閱 連接 Operations Manager 到 Azure Monitor。
向 Azure 事件中心發(fā)送數(shù)據(jù)。 若要將 Azure Monitor 與可視化和外部監(jiān)視工具集成,請(qǐng)參閱將 Azure 監(jiān)視數(shù)據(jù)流式傳輸?shù)绞录行幕蛲獠亢献骰锇椤?/p>
Log Analytics 網(wǎng)關(guān)。 對(duì)于較小的環(huán)境,如此體系結(jié)構(gòu)中的分支機(jī)構(gòu),請(qǐng)使用代理將數(shù)據(jù)傳輸?shù)?Log Analytics 工作區(qū)中,而不是傳輸?shù)骄W(wǎng)關(guān)。 有關(guān)詳細(xì)信息,請(qǐng)參閱 建立與 Azure Log Analytics 的連接。
下面是使你的環(huán)境更安全的注意事項(xiàng)。
Log Analytics 工作區(qū)。 訪問模式定義為下列其中一項(xiàng):
工作區(qū)上下文。 可以查詢工作區(qū)有權(quán)訪問的所有日志。 這是一種垂直訪問方法。 例如,安全團(tuán)隊(duì)可能需要從上到下訪問所有資源數(shù)據(jù)。
資源上下文。 只能查詢特定資源的日志。 例如,可以向應(yīng)用程序團(tuán)隊(duì)授予對(duì)其正在處理的特定資源的日志的訪問權(quán)限。
保護(hù)傳輸中的數(shù)據(jù)以 Log Analytics。 傳輸中的數(shù)據(jù)使用最低傳輸層安全性 (TLS) 1.2 進(jìn)行保護(hù)。 不需要顯式啟用此。 有關(guān)詳細(xì)信息,請(qǐng)參閱 Log Analytics 數(shù)據(jù)安全性。
在 Log Analytics 中保護(hù)靜態(tài)數(shù)據(jù)。 默認(rèn)情況下,每個(gè) Azure 存儲(chǔ)使用256位高級(jí)加密標(biāo)準(zhǔn) (AES) 加密,因此,Log Analytics 中的靜態(tài)數(shù)據(jù)受到保護(hù)。
智能檢測(cè)。 使用 Application Insights 中的智能檢測(cè)來分析應(yīng)用程序生成的遙測(cè)數(shù)據(jù),并檢測(cè)安全問題。 有關(guān)詳細(xì)信息,請(qǐng)參閱 應(yīng)用程序安全檢測(cè)包 (預(yù)覽) 。
將 Azure Monitor 與安全信息和事件管理 (SIEM) 工具相集成。 使用 Azure Monitor 將監(jiān)視數(shù)據(jù)路由到事件中心,以集成外部 SIEM 和監(jiān)視工具。 有關(guān)詳細(xì)信息,請(qǐng)參閱將 Azure 監(jiān)視數(shù)據(jù)流式傳輸?shù)绞录行幕蛲獠亢献骰锇椤?/p>
以下是將你的環(huán)境與 DevOps 進(jìn)程和解決方案集成的注意事項(xiàng)。
Application Insights。 將 Application Insights 集成到 DevOps 管道,有助于提高性能和可用性。 Application Insights 可以自動(dòng)檢測(cè)性能異常,并連接到各種開發(fā)工具,例如 Azure DevOps services 和 GitHub。
應(yīng)用程序檢測(cè)。 通過修改應(yīng)用程序代碼以啟用 Application Insights 的遙測(cè)來 檢測(cè) 應(yīng)用程序。 以下方法是檢測(cè)應(yīng)用程序的方法:
ASP.NET 應(yīng)用程序
ASP.NET Core 應(yīng)用程序
.NET 控制臺(tái)應(yīng)用程序
Java
Node.js
Python
在 Azure Web 應(yīng)用上托管的 Microsoft ASP.NET 或 ASP.NET Core 應(yīng)用程序
Microsoft Internet Information Services 中托管的 ASP.NET 應(yīng)用程序 (IIS) Azure VM 或 Azure VMSS
在本地 VM 上的 IIS 中托管的 ASP.NET 應(yīng)用程序
基于 Java 的 Azure Functions
Linux 應(yīng)用服務(wù)上的 Node.JS 應(yīng)用
AKS 上托管的微服務(wù)
在運(yùn)行時(shí)。 在運(yùn)行時(shí)檢測(cè)服務(wù)器上的 web 應(yīng)用程序是已部署的應(yīng)用程序的理想選擇,因?yàn)檫@樣可以避免更新代碼。 適用的方案包括:
在開發(fā)時(shí)。 將 Application Insights 添加到代碼,以自定義遙測(cè)收集并發(fā)送其他數(shù)據(jù)。 支持的語言和平臺(tái)包括:
使用 IT 服務(wù)管理連接器 (ITSMC) 連接到外部 IT 服務(wù)管理 (ITSM) 工具。 ITSMC 將 Azure 連接到受支持的 ITSM 產(chǎn)品和服務(wù),其中通常包含問題相關(guān)的工作項(xiàng)。 有關(guān)詳細(xì)信息,請(qǐng)參閱 使用 IT 服務(wù)管理連接器將 Azure 連接到 ITSM 工具。
下面是在環(huán)境中控制和管理成本的注意事項(xiàng)。
Azure Monitor。 Azure Monitor 成本基于消耗,通常稱為即用即 付。
Log Analytics。 你需要為 數(shù)據(jù)引入 和 數(shù)據(jù)保留 付費(fèi)。 可以估計(jì)并預(yù)測(cè) Vm 數(shù),以及從每個(gè) VM 收集的數(shù)據(jù)量,以 gb) (。 典型的 Azure VM 每月使用1到3千兆字節(jié) (GB 數(shù)據(jù)) 。 如果你正在使用 Azure Monitor 日志評(píng)估數(shù)據(jù)使用情況,請(qǐng)使用你自己的環(huán)境中的數(shù)據(jù)統(tǒng)計(jì)信息,并通過 容量預(yù)留 獲取折扣。
Application Insights。 這會(huì)根據(jù)應(yīng)用程序發(fā)送的遙測(cè)數(shù)據(jù)量以及運(yùn)行的 web 測(cè)試的數(shù)量進(jìn)行計(jì)費(fèi)。
指標(biāo)查詢。 指標(biāo)查詢按進(jìn)行的調(diào)用數(shù)計(jì)費(fèi)。
警報(bào)。 警報(bào)根據(jù)監(jiān)視的信號(hào)的類型和數(shù)量進(jìn)行計(jì)費(fèi)。
通知。 通知根據(jù)發(fā)送的通知的類型和數(shù)量進(jìn)行計(jì)費(fèi)。
Azure Monitor。 Azure Monitor 的 " 使用情況和估計(jì)成本 " 部分基于前31天的使用情況估算每月成本。
有關(guān)詳細(xì)信息,請(qǐng)參閱 Azure Monitor 定價(jià) 和 價(jià)格計(jì)算器。