在 Azure 中使用服務對應解決方案

服務對應會自動在 Windows 及 Linux 系統上探索應用程式元件,並對應服務之間的通訊。 使用服務對應,您可以將伺服器視為提供重要服務的互連系統。 服務對應會顯示任何 TCP 連線架構之間的伺服器、進程、輸入和輸出連線延遲,以及埠之間的連線。 除了安裝代理程式以外,不需要任何設定。

重要

服務對應將于 2025 年 9 月 30 日淘汰。 若要監視伺服器、程序、輸入和輸出連線延遲的連線,或任何 TCP 連線結構間的連接埠,請務必在此日期前移轉至 Azure 監視器 VM 深入解析

本文說明如何部署及使用服務對應。 解決方案的必要條件如下:

注意

如果您已部署服務對應,您現在可以在 VM 深入解析中檢視您的對應,其中包含更多功能可監視 VM 健康情況和效能。 若要深入了解,請參閱 VM 深入解析概觀。 若要瞭解服務對應解決方案與 VM 深入解析對應功能之間的差異,請參閱 此常見問題

登入 Azure

登入 Azure 入口網站

啟用服務對應

  1. Azure Marketplace啟用服務對應解決方案。 或者,使用 從方案庫新增監視解決方案中所述的程式。

  2. 在 Windows 上安裝相依性代理程式 ,或在您想要取得資料的每部電腦上安裝 相依性代理程式 。 相依性代理程式可以監視立即鄰近的連線,因此您可能不需要每部電腦上的代理程式。

  3. 從 Log Analytics 工作區存取 Azure 入口網站 中的服務對應。 從左窗格中選取 [解決方案 ] 選項。

    顯示選取工作區中 [解決方案] 選項的螢幕快照。

  4. 從解決方案清單中,選取 [ServiceMap (workspaceName) ]。 在 [服務對應 解決方案概觀] 頁面上,選取 [服務對應 摘要] 圖格。

    顯示 [服務對應摘要] 圖格的螢幕擷取畫面

使用案例︰讓 IT 處理序可以感知相依性

探索

服務對應會自動建置跨伺服器、處理程序和協力廠商服務的一般相依性參考對應。 它會探索並對應所有 TCP 相依性。 它會識別意外連線、您相依的遠端協力廠商系統,以及網路傳統深色區域的相依性,例如 Active Directory。 服務對應會探索受控系統嘗試進行的失敗網路連線。 此資訊可協助您識別潛在的伺服器設定錯誤、服務中斷和網路問題。

事件管理

服務對應可協助您排除問題隔離的猜測,方法是顯示系統如何連線並彼此影響。 除了識別失敗的連線之外,它也有助於識別設定錯誤的負載平衡器、重要服務的意外或過多負載,以及惡意用戶端,例如與生產系統交談的開發人員電腦。 您也可以使用整合變更追蹤的工作流程,以查看後端機器或服務上的變更事件是否能夠說明事件的根本原因。

移轉保證

藉由使用服務對應,您可以有效地規劃、加速及驗證 Azure 移轉,以確保不會留下任何專案,也不會發生意外中斷。 您可以:

  • 探索需要一起移轉的所有相互依存系統。
  • 評估系統組態和容量。
  • 識別執行中的系統是否仍在為使用者提供服務,或是解除委任的候選項目,而不是移轉。

移動完成後,您可以檢查用戶端負載和身分識別,以確認測試系統和客戶正在連線。 如果您的子網規劃和防火牆定義有問題,服務對應中的失敗連線會將您指向需要連線的系統。

業務持續性

如果您使用 Azure Site Recovery,而且需要協助定義應用程式環境的復原順序,服務對應會自動顯示系統彼此相依的方式。 這項資訊有助於確保您的復原方案可靠。

藉由選擇重要伺服器或群組並檢視其用戶端,可以識別在伺服器還原並可用之後要復原的前端系統。 相反地,藉由查看重要伺服器的後端相依性,可以識別在焦點系統還原之前要復原的系統。

修補程式管理

服務對應可藉由顯示其他小組和伺服器相依于您的服務,來增強您對系統更新評估的使用。 如此一來,您可以事先通知它們,再關閉系統進行修補。 服務對應也會藉由顯示您的服務是否可用,並在修補並重新啟動後正確連線,來增強修補程式管理。

對應概觀

服務對應代理程式會收集其安裝所在伺服器上所有 TCP 連線進程的相關資訊。 它們也會收集每個進程的輸入和輸出連線詳細資料。

在左窗格的清單中,可以選取具有服務對應代理程式的機器或群組,將它們在指定時間範圍內的相依性視覺化。 電腦相依性對應著重于特定電腦。 它們會顯示所有直接 TCP 用戶端或該機器伺服器的電腦。 電腦群組對應會顯示一組伺服器及其相依性。

顯示服務對應概觀的螢幕擷取畫面。

對應內的機器可以展開,以顯示所選時間範圍內具有作用中網路連線的執行中處理序群組與處理序。 展開具有服務對應代理程式的遠端機器以顯示處理序詳細資料時,只會顯示與焦點機器通訊的處理序。

連線到焦點機器的無代理程式前端機器計數,會顯示在所連線的處理序左側。 如果焦點電腦連線到沒有代理程式的後端電腦,後端伺服器就會包含在伺服器埠群組中。 此群組也包含相同埠號碼的其他連線。

根據預設,服務對應中的對應會顯示過去 30 分鐘的相依性資訊。 您可以使用左上方的時間控制項來查詢最多一小時的歷程記錄時間範圍對應,以查看過去相依性的外觀。 例如,您可能想要查看事件期間或發生變更之前的外觀。 服務對應資料會儲存在付費工作區中 30 天,免費工作區則儲存 7 天。

狀態徽章和框線色彩

在地圖中的每個伺服器底部,可能會顯示一份狀態徽章清單,以傳達伺服器的狀態資訊。 徽章表示來自其中一個解決方案整合的伺服器相關資訊。

選取徽章會直接帶您前往右窗格中狀態的詳細資料。 目前可用的狀態徽章包括警示服務台變更安全性更新

根據狀態徽章的嚴重性,機器節點框線會呈現紅色 (重大)、黃色 (警告) 或藍色 (資訊)。 色彩可代表任何狀態徽章最嚴重的狀態。 灰色框線代表沒有狀態指標的節點。

顯示狀態徽章的螢幕擷取畫面。

進程群組

進程群組會將與一般產品或服務相關聯的進程合併成進程群組。 當電腦節點展開時,它會顯示獨立進程以及進程群組。 如果進程群組內進程的輸入或輸出連線失敗,則整個進程群組的連線會顯示為失敗。

電腦群組

電腦群組可讓您查看以一組伺服器為中心的地圖,而不只是一部伺服器。 如此一來,您就可以在一個對應中看到多層式應用程式或伺服器叢集的所有成員。

使用者可選取伺服器所屬的群組,並選擇該群組的名稱。 接著,您可以選擇檢視群組及其所有進程和連線。 您也可以只檢視與群組其他成員直接相關的進程和連線。

顯示電腦群組的螢幕擷取畫面。

建立電腦群組

建立群組:

  1. 在 [ 機器 ] 清單中選取您想要的電腦,然後選取 [ 新增至群組]。

    顯示建立群組的螢幕擷取畫面。

  2. 選取 [新建 ],並提供群組名稱。

    顯示命名群組的螢幕擷取畫面。

注意

電腦群組是限制為 10 部伺服器。

檢視群組

建立一些群組之後,您可以檢視這些群組。

  1. 選取 [群組] 索引標籤。

    顯示 [群組] 索引標籤的螢幕擷取畫面。

  2. 選取組名以檢視該電腦群組的對應。

    顯示電腦群組對應的螢幕擷取畫面。

    屬於群組的電腦會以白色在地圖中概述。

  3. 展開群組以列出組成電腦群組的電腦。

    顯示電腦群組機器的螢幕擷取畫面。

依處理序篩選

您可以切換地圖檢視來顯示群組中的所有進程和連線,或只顯示直接與電腦群組相關的進程和連線。 預設檢視會顯示所有進程。

  1. 選取地圖上方的篩選圖示以變更檢視。

    顯示篩選群組的螢幕擷取畫面。

  2. 選取 [所有進程 ] 以查看對應,其中包含群組中每部機器上所有進程和連線。

    顯示電腦群組 [所有進程] 選項的螢幕擷取畫面。

  3. 若要建立簡化的檢視,請變更檢視,只顯示 群組連線的進程。 接著,地圖會縮小範圍,只顯示這些進程和連線直接連線到群組中的其他電腦。

    顯示電腦群組已篩選進程的螢幕擷取畫面。

將機器新增至群組

若要將機器新增至現有的群組,請選取您想要的電腦旁的核取方塊,然後選取 [ 新增至群組]。 然後選擇您要新增機器的群組。

從群組中移除機器

在 [ 群組 ] 清單中,展開組名以列出電腦群組中的機器。 選取您要移除的電腦旁的省略號功能表,然後選取 [ 移除]。

顯示從群組中移除機器的螢幕擷取畫面。

移除或重新命名群組

選取 [ 群組 ] 清單中組名旁的省略號功能表。

顯示電腦群組功能表的螢幕擷取畫面。

角色圖示

某些進程在機器上提供特定角色,例如 Web 服務器、應用程式伺服器和資料庫。 服務對應會為程序和機器方塊加上角色圖示註解,以協助您一下就識別出程序或伺服器所扮演的角色。

角色圖示 描述
網頁伺服器 網頁伺服器
應用程式伺服器 應用程式伺服器
資料庫伺服器 資料庫伺服器
LDAP 伺服器 LDAP 伺服器
SMB 伺服器 SMB 伺服器

顯示角色圖示的螢幕擷取畫面。

失敗的連線

在服務對應中,失敗的連線會顯示在進程和電腦的對應中。 虛線紅色線條表示用戶端系統無法連線到進程或埠。

已部署服務對應代理程式的系統如果就是嘗試進行失敗連線的系統,則會報告失敗的連線。 服務對應會觀察無法建立連線的 TCP 通訊端,藉以衡量此處理序。 連線失敗的原因可能是防火牆、用戶端或伺服器設定不正確,或遠端服務無法使用。

顯示服務對應一部分的螢幕擷取畫面,其中醒目提示虛線紅色線條,指出 backup.pl 進程與埠 4475 之間的連線失敗。

了解失敗的連線有助於疑難排解、移轉驗證、安全性分析和整體架構理解。 失敗的連線有時會造成傷害,但通常指向問題。 容錯移轉環境可能會突然變得無法連線,或兩個應用層在雲端移轉之後可能無法交談。

用戶端群組

用戶端群組是地圖上的方塊,代表沒有相依性代理程式的用戶端電腦。 單一用戶端群組代表個別處理序或機器的用戶端。

顯示用戶端群組的螢幕擷取畫面。

若要查看用戶端群組中伺服器的 IP 位址,請選取群組。 群組的內容會列在 [用戶端群組屬性] 窗格中。

顯示用戶端群組屬性的螢幕擷取畫面。

伺服器連接埠群組

伺服器埠群組是方塊,代表沒有相依性代理程式之伺服器上的伺服器埠。 此方塊包含伺服器連接埠,以及與該連接埠連線的伺服器數目。 展開方塊可查看個別伺服器和連線。 如果方塊中只有一部伺服器,則會列出名稱或 IP 位址。

顯示伺服器埠群組的螢幕擷取畫面。

捷徑功能表

選取任何伺服器右上方的省略號 (...) ,以顯示該伺服器的操作功能表。

顯示 [載入伺服器對應] 和 [服務對應] 中伺服器Self-Links選項的螢幕擷取畫面。

載入伺服器對應

選取 [載入伺服器對應 ] 以移至新的對應,並將選取的伺服器作為新的焦點電腦。

選取 [顯示自我連結 ] 以重新繪製伺服器節點,包括任何自我連結,也就是在伺服器內啟動和結束進程的 TCP 連線。 如果顯示自我連結,功能表命令會變更為 [隱藏自我 連結],以便關閉它們。

電腦摘要

[機器摘要] 窗格包含伺服器作業系統的概觀、相依性計數,以及其他解決方案的資料。 這些資料包括效能計量、服務台票證、變更追蹤、安全性和更新。

顯示 [機器摘要] 窗格的螢幕擷取畫面。

電腦和處理序屬性

當您在服務對應中巡覽地圖時,您可以選取機器和進程,以取得其屬性的相關更多內容。 機器會提供有關 DNS 名稱、IPv4 位址、CPU 和記憶體容量、VM 類型、作業系統和版本、上次重新開機時間,以及其 OMS 和服務對應代理程式識別碼的資訊。

顯示 [機器屬性] 窗格的螢幕擷取畫面。

您可以從有關執行中進程的作業系統元資料收集進程詳細資料。 詳細資料包括 Windows) 、公司名稱、產品名稱、產品版本、工作目錄、命令列和進程開始時間上的進程名稱、程式描述、使用者名稱和網域 (。

顯示 [進程屬性] 窗格的螢幕擷取畫面。

[ 進程摘要] 窗格提供有關進程連線的詳細資訊,包括其系結埠、輸入和輸出連線,以及失敗的連線。

顯示 [進程摘要] 窗格的螢幕擷取畫面。

警示整合

服務對應會與 Azure 警示整合,以顯示所選時間範圍內針對所選伺服器觸發的警示。 如果有最新警示,伺服器會顯示圖示,且 [機器警示] 窗格會列出警示。

顯示 [機器警示] 窗格的螢幕擷取畫面。

若要讓服務對應顯示相關警示,請建立針對特定電腦觸發的警示規則。 若要建立適當的警示︰

  • 包含依電腦分組的 子句。 例如 ,電腦間隔 1 分鐘
  • 選擇依據計量量值來發出警示。

記錄事件整合

服務對應會與記錄搜尋整合,以顯示所選時間範圍期間,適用於所選伺服器的所有可用記錄事件計數。 您可以在事件計數清單中選取任何資料列,以跳至記錄搜尋並查看個別記錄事件。

顯示 [電腦記錄事件] 窗格的螢幕擷取畫面。

服務台整合

當「服務對應」和「IT 服務管理連接器」這兩個解決方案皆已在 Log Analytics 工作區中啟用並設定,便會自動進行整合。 服務對應中的整合會標示為「服務台」。如需詳細資訊,請參閱使用 IT 服務管理連接器集中管理 ITSM 工作項目

[機器服務台] 窗格會列出所選時間範圍內所選伺服器的所有 IT 服務管理事件。 如果有最新項目,伺服器會顯示圖示,且 [機器服務台] 窗格會列出這些項目。

顯示 [機器服務台] 窗格的螢幕擷取畫面。

若要在連線的 ITSM 方案中開啟專案,請選取 [ 檢視工作專案]。

若要在記錄搜尋中檢視專案的詳細資料,請選取 [ 在記錄搜尋中顯示]。 連線計量會寫入 Log Analytics 中的兩個新資料表。

變更追蹤整合

當「服務對應」和「變更追蹤」這兩個解決方案皆已在 Log Analytics 工作區中啟用並設定,便會自動進行整合。

[機器變更追蹤]窗格會先列出所有變更,以及向下切入至記錄搜尋的連結,以取得詳細資料。

顯示 [電腦變更追蹤] 窗格的螢幕擷取畫面。

下圖是 ConfigurationChange 事件的詳細檢視,您可能會在選取 [在 Log Analytics 中顯示] 之後看到。

顯示 ConfigurationChange 事件的螢幕擷取畫面。

效能整合

[機器效能] 窗格會顯示所選伺服器的標準效能計量。 這些計量包含 CPU 使用率、記憶體使用率、傳送和接收的網路位元組,以及按照傳送和接收的網路位元組排序的前幾個處理序清單。

顯示 [機器效能] 窗格的螢幕擷取畫面。

若要查看效能資料,您可能需要 啟用適當的 Log Analytics 效能計數器。 您要啟用的計數器:

Windows:

  • Processor(*)\% Processor Time
  • Memory\% Committed Bytes In Use
  • Network Adapter(*)\Bytes Sent/sec
  • Network Adapter(*)\Bytes Received/sec

Linux:

  • Processor(*)\% Processor Time
  • Memory(*)\% Used Memory
  • Network Adapter(*)\Bytes Sent/sec
  • Network Adapter(*)\Bytes Received/sec

安全性整合

當「服務對應」和「安全性與稽核」這兩個解決方案皆已在 Log Analytics 工作區中啟用並設定,便會自動進行整合。

[機器安全性] 面板會顯示安全性與稽核解決方案中針對所選伺服器的資料。 此窗格會列出所選時間範圍內伺服器任何未處理之安全性問題的摘要。 選取任何安全性問題會向下切入記錄搜尋,以取得其詳細資料。

顯示 [機器安全性] 窗格的螢幕擷取畫面。

更新整合

當「服務對應」和「更新管理」這兩個解決方案皆已在 Log Analytics 工作區中啟用並設定,便會自動進行整合。

[機器更新] 面板會顯示更新管理解決方案中針對所選伺服器的資料。 此窗格會列出所選時間範圍內伺服器所缺少之任何更新的摘要。

顯示 [電腦更新] 窗格的螢幕擷取畫面。

Log Analytics 記錄

服務對應的電腦和處理序清查資料可供在 Log Analytics 中進行搜尋。 您可以將此資料套用至各種案例,包括移轉規劃、容量分析、探索和隨選效能疑難排解。

除了當處理序或電腦啟動時或是新增到服務對應時所產生的記錄外,每小時還會為每個唯一的電腦和處理序產生一筆記錄。 這些記錄具有下表中的屬性。

ServiceMapComputer_CL事件中的欄位和值會對應至 ServiceMap Azure Resource Manager API 中 Machine 資源的欄位。 ServiceMapProcess_CL事件中的欄位和值會對應至 ServiceMap Azure Resource Manager API 中 Process 資源的欄位。 ResourceName_s欄位符合對應Resource Manager資源中的名稱欄位。

注意

在服務對應功能增加之際,這些欄位可能會隨之變更。

您可以使用內部產生的屬性來識別唯一的進程和電腦:

  • 電腦:使用 ResourceIdResourceName_s 唯一識別 Log Analytics 工作區內的電腦。
  • 進程:使用 ResourceId 來唯一識別 Log Analytics 工作區內的進程。 ResourceName_s在進程執行MachineResourceName_s的電腦內容中是唯一的。

因為在指定時間範圍內可以有多筆指定處理序和電腦的記錄,針對相同電腦或處理序的查詢可能會傳回多筆記錄。 若只要包含最新記錄,請在查詢中新增 "| dedup ResourceId"

連線

連線計量會寫入 Log Analytics 中名為 VMConnection的新資料表。 下表提供電腦輸入和輸出連線的相關資訊。 連線計量也會透過 API 來公開,這類 API 會提供方法來取得某個時間範圍內的特定計量。

在接聽通訊端上接受所產生的 TCP 連線是輸入的。 連線到指定 IP 和埠所建立的這些連線是輸出的。 連接的方向是由 Direction 屬性工作表示,其可設定為 inboundoutbound

這些資料表中的記錄都是從 Dependency Agent 所報告的資料產生的。 每筆記錄均代表在一分鐘時間間隔內的觀測。 屬性 TimeGenerated 表示時間間隔的開始。 每個記錄都包含用來識別個別實體的資訊,也就是連接或埠,以及與該實體相關聯的計量。 目前只會報告透過 IPv4 使用 TCP 所發生的網路活動。

為了管理成本和複雜性,連線記錄不代表個別的實體網路連線。 將多個實體網路連線群組為一個邏輯連線,其接著會反映於各自的資料表中。 因此 ,VMConnection 資料表中的記錄代表邏輯群組,而不是觀察到的個別實體連線。

在指定的一分鐘間隔期間,共用下列屬性相同值的實體網路連線會匯總成 VMConnection中的單一邏輯記錄。

屬性 描述
Direction 連線的方向。 此值為 輸入輸出
Machine 電腦 FQDN。
Process 起始或接受連線的進程或進程群組的身分識別。
SourceIp 來源的 IP 位址。
DestinationIp 目的地的 IP 位址。
DestinationPort 目的地的埠號碼。
Protocol 用於連線的通訊協定。 值為 tcp

若要考慮群組的影響,記錄的下列屬性中會提供群組實體連線數目的相關資訊。

屬性 描述
LinksEstablished 在報告時間範圍中建立的實體網路連線數目。
LinksTerminated 報告時間範圍期間已終止的實體網路連線數目。
LinksFailed 在報告時間範圍內失敗的實體網路連線數目。 此資訊目前僅適用於輸出連線。
LinksLive 在報告時間範圍結束時開啟的實體網路連線數目。

計量

除了連線計數計量之外,在特定邏輯連線或網路埠上傳送和接收的資料量資訊也會包含在記錄的下列屬性中。

屬性 描述
BytesSent 報告時間範圍期間已傳送的位元組總數。
BytesReceived 報告時間範圍期間已收到的位元組總數。
Responses 已在報告時間範圍內觀測到的回應數目。
ResponseTimeMax 報告時間範圍期間觀察到的最大回應時間,以毫秒為單位。 如果沒有值,則屬性為空白。
ResponseTimeMin 在報告時間範圍期間觀察到的最小回應時間,以毫秒為單位。 如果沒有值,則屬性為空白。
ResponseTimeSum 報告時間範圍期間觀察到的所有回應時間總和,以毫秒為單位。 如果沒有值,則屬性為空白

所報告的第三種資料類型是回應時間。 呼叫端花費多久時間等候透過連線傳送的要求,由遠端端點處理和回應?

所報告的回應時間是基礎應用程式通訊協定的真正回應時間估計值。 它是使用啟發學習法,根據實體網路連線來源與目的地端之間資料流程的觀察來計算。

就概念上,回應時間是要求最後一個位元組離開傳送者的時間,以及回應最後一個位元組傳回給它的時間之間的差異。 這兩個時間戳記可用來描述特定實體連線上的要求和回應事件。 它們之間的差異代表單一要求的回應時間。

在此功能的第一個版本中,我們的演算法是一種近似值,根據用於特定網路連線的實際應用程式通訊協定,可能會有不同的成功程度。 例如,目前的方法適用于以要求回應為基礎的通訊協定,例如 HTTP/HTTPS。 但此方法不適用於單向或訊息佇列型通訊協定。

此處有一些需要考慮的重要事項:

  • 如果處理序會在同一個 IP 位址但透過多個網路介面來接受連線,則將會報告每個介面的個別記錄。
  • 使用萬用字元 IP 的記錄將不會包含任何活動。 它們包含在內,代表電腦上端口開放給輸入流量的事實。
  • 若要減少詳細資訊和資料磁片區,當相同進程、埠和通訊協定) 具有特定 IP 位址的相符記錄 (時,將會省略具有萬用字元 IP 的記錄。 省略萬用字元 IP 記錄時, IsWildcardBind 具有特定 IP 位址的記錄屬性會設定為 True. [此設定] 表示埠會透過報告機器的每個介面公開。
  • 只在特定介面上系結的埠已 IsWildcardBind 設定為 False

命名和分類

為了方便起見,連線遠端端點的 IP 位址會包含在 屬性中 RemoteIp 。 針對輸入連線, RemoteIp 與 相同 SourceIp ,而針對輸出連線,則與 相同 DestinationIp 。 屬性 RemoteDnsCanonicalNames 代表電腦 RemoteIp 針對 回報的 DNS 標準名稱。 RemoteDnsQuestionsRemoteClassification 屬性會保留供日後使用。

地理位置

VMConnection 也包含記錄下列屬性中每個連線記錄遠端的地理位置資訊。

屬性 描述
RemoteCountry 裝載 RemoteIp 的國家/地區名稱。 例如美國
RemoteLatitude 地理位置緯度。 例如 47.68
RemoteLongitude 地理位置經度。 例如 -122.12

惡意 IP

RemoteIpVMConnection資料表中的每個屬性都會針對具有已知惡意活動的一組 IP 進行檢查。 RemoteIp如果 識別為惡意,當 IP 未被視為惡意) 記錄的下列屬性時,就會填入下列屬性, (這些屬性是空的。

屬性 描述
MaliciousIp 位址 RemoteIp
IndicatorThreadType 偵測到的威脅指標是下列其中一個值: BotnetC2CryptoMiningDarknetDDosMalwareUrlMalware網路釣魚ProxyPUA關注清單
Description 觀察到的威脅的說明。
TLPLevel 交通燈通訊協定 (TLP) 層級是其中一個定義的值: 白色綠色AmberRed
Confidence 值為 0 – 100
Severity 值為 0 – 5,其中 5 是最嚴重且 0 不是嚴重。 預設值為 3
FirstReportedDateTime 提供者第一次回報指標。
LastReportedDateTime Interflow 最後一次看到指標。
IsActive 使用 TrueFalse 值表示指標停用。
ReportReferenceLink 與指定的可預見值相關之報告的連結。
AdditionalInformation 提供有關觀察到威脅的詳細資訊,如果適用的話。

ServiceMapComputer_CL 記錄

類型為 ServiceMapComputer_CL 的記錄會有伺服器 (具有服務對應代理程式) 的清查資料。 這些記錄具有下表中的屬性。

屬性 描述
Type ServiceMapComputer_CL
SourceSystem OpsManager
ResourceId 工作區中機器的唯一識別碼
ResourceName_s 工作區中機器的唯一識別碼
ComputerName_s 電腦 FQDN
Ipv4Addresses_s 伺服器的 IPv4 位址清單
Ipv6Addresses_s 伺服器的 IPv6 位址清單
DnsNames_s DNS 名稱的陣列
OperatingSystemFamily_s Windows 或 Linux
OperatingSystemFullName_s 作業系統的完整名稱
Bitness_s 機器的運算位元數 (32 位元或 64 位元)
PhysicalMemory_d 實體記憶體 (MB)
Cpus_d CPU 數目
CpuSpeed_d CPU 速度 (MHz)
VirtualizationState_s unknownphysicalvirtualhypervisor
VirtualMachineType_s hypervvmware 等等
VirtualMachineNativeMachineId_g VM 識別碼 (由其 Hypervisor 指派)
VirtualMachineName_s VM 的名稱
BootTime_t 開機時間

ServiceMapProcess_CL 類型記錄

類型為 ServiceMapProcess_CL 的記錄會有伺服器 (具有服務對應代理程式) 上 TCP 連線處理程序的清查資料。 這些記錄具有下表中的屬性。

屬性 描述
Type ServiceMapProcess_CL
SourceSystem OpsManager
ResourceId 工作區中處理序的唯一識別碼
ResourceName_s 執行所在機器內進程的唯一識別碼
MachineResourceName_s 機器的資源名稱
ExecutableName_s 處理序可執行檔的名稱
StartTime_t 處理序集區的開始時間
FirstPid_d 處理序集區中的第一個 PID
Description_s 處理序的描述
CompanyName_s 公司的名稱
InternalName_s 內部名稱
ProductName_s 產品的名稱
ProductVersion_s 產品版本
FileVersion_s 檔案版本
CommandLine_s 命令列
ExecutablePath _s 可執行檔的路徑
WorkingDirectory_s 工作目錄
UserName 執行處理序的帳戶
UserDomain 執行處理序的網域

記錄搜尋範例

本節列出記錄搜尋範例。

列出所有已知的機器

ServiceMapComputer_CL | summarize arg_max(TimeGenerated, *) by ResourceId

列出所有受控電腦的實體記憶體容量

ServiceMapComputer_CL | summarize arg_max(TimeGenerated, *) by ResourceId | project PhysicalMemory_d, ComputerName_s

列出電腦名稱、DNS、IP 和 OS

ServiceMapComputer_CL | summarize arg_max(TimeGenerated, *) by ResourceId | project ComputerName_s, OperatingSystemFullName_s, DnsNames_s, Ipv4Addresses_s

在命令列中尋找具有「sql」的所有處理程序

ServiceMapProcess_CL | where CommandLine_s contains_cs "sql" | summarize arg_max(TimeGenerated, *) by ResourceId

以資源名稱尋找機器 (最新的記錄)

search in (ServiceMapComputer_CL) "m-4b9c93f9-bc37-46df-b43c-899ba829e07b" | summarize arg_max(TimeGenerated, *) by ResourceId

以 IP 位址尋找機器 (最新的記錄)

search in (ServiceMapComputer_CL) "10.229.243.232" | summarize arg_max(TimeGenerated, *) by ResourceId

列出指定機器上的所有已知處理序

ServiceMapProcess_CL | where MachineResourceName_s == "m-559dbcd8-3130-454d-8d1d-f624e57961bc" | summarize arg_max(TimeGenerated, *) by ResourceId

列出所有執行 SQL 的電腦

ServiceMapComputer_CL | where ResourceName_s in ((search in (ServiceMapProcess_CL) "\*sql\*" | distinct MachineResourceName_s)) | distinct ComputerName_s

列出資料中心內所有唯一 curl 產品版本

ServiceMapProcess_CL | where ExecutableName_s == "curl" | distinct ProductVersion_s

為所有執行 CentOS 的電腦建立電腦群組

ServiceMapComputer_CL | where OperatingSystemFullName_s contains_cs "CentOS" | distinct ComputerName_s

摘要說明來自機器群組的輸出連線

// the machines of interest
let machines = datatable(m: string) ["m-82412a7a-6a32-45a9-a8d6-538354224a25"];
// map of ip to monitored machine in the environment
let ips=materialize(ServiceMapComputer_CL
| summarize ips=makeset(todynamic(Ipv4Addresses_s)) by MonitoredMachine=ResourceName_s
| mvexpand ips to typeof(string));
// all connections to/from the machines of interest
let out=materialize(VMConnection
| where Machine in (machines)
| summarize arg_max(TimeGenerated, *) by ConnectionId);
// connections to localhost augmented with RemoteMachine
let local=out
| where RemoteIp startswith "127."
| project ConnectionId, Direction, Machine, Process, ProcessName, SourceIp, DestinationIp, DestinationPort, Protocol, RemoteIp, RemoteMachine=Machine;
// connections not to localhost augmented with RemoteMachine
let remote=materialize(out
| where RemoteIp !startswith "127."
| join kind=leftouter (ips) on $left.RemoteIp == $right.ips
| summarize by ConnectionId, Direction, Machine, Process, ProcessName, SourceIp, DestinationIp, DestinationPort, Protocol, RemoteIp, RemoteMachine=MonitoredMachine);
// the remote machines to/from which we have connections
let remoteMachines = remote | summarize by RemoteMachine;
// all augmented connections
(local)
| union (remote)
//Take all outbound records but only inbound records that come from either //unmonitored machines or monitored machines not in the set for which we are computing dependencies.
| where Direction == 'outbound' or (Direction == 'inbound' and RemoteMachine !in (machines))
| summarize by ConnectionId, Direction, Machine, Process, ProcessName, SourceIp, DestinationIp, DestinationPort, Protocol, RemoteIp, RemoteMachine
// identify the remote port
| extend RemotePort=iff(Direction == 'outbound', DestinationPort, 0)
// construct the join key we'll use to find a matching port
| extend JoinKey=strcat_delim(':', RemoteMachine, RemoteIp, RemotePort, Protocol)
// find a matching port
| join kind=leftouter (VMBoundPort 
| where Machine in (remoteMachines) 
| summarize arg_max(TimeGenerated, *) by PortId 
| extend JoinKey=strcat_delim(':', Machine, Ip, Port, Protocol)) on JoinKey
// aggregate the remote information
| summarize Remote=makeset(iff(isempty(RemoteMachine), todynamic('{}'), pack('Machine', RemoteMachine, 'Process', Process1, 'ProcessName', ProcessName1))) by ConnectionId, Direction, Machine, Process, ProcessName, SourceIp, DestinationIp, DestinationPort, Protocol

REST API

服務對應中所有的伺服器、處理序及相依性資料,都可透過服務對應 REST API 取得。

診斷和使用量資料

Microsoft會透過您使用服務對應自動收集使用量和效能資料。 Microsoft使用此資料來提供及改善服務對應的品質、安全性和完整性。

為了提供精確且有效率的疑難排解功能,資料包含軟體設定的相關資訊。 此資訊可以是作業系統和版本、IP 位址、DNS 名稱和工作站名稱。 Microsoft 不會收集姓名、地址或其他連絡資訊。

如需有關資料收集與使用方式的詳細資訊,請參閱 Microsoft 線上服務隱私權聲明

後續步驟

深入了解 Log Analytics 中的記錄搜尋,以擷取服務對應所收集的資料。

疑難排解

如果您在安裝或執行服務對應時遇到任何問題,本節內容可以提供協助。 如果您仍然無法解決問題,請連絡 Microsoft 支援服務。

Dependency Agent 安裝問題

本節說明相依性代理程式安裝的問題。

安裝程式提示重新開機

相依性代理程式 通常 不需要在安裝或移除時重新開機。 在某些情況下,Windows Server 需要重新開機才能繼續安裝。 當相依性通常是Microsoft Visual C++可轉散發程式庫時,就會發生此問題,因為檔案已鎖定而需要重新開機。

顯示「無法安裝 Dependency Agent︰無法安裝 Visual Studio 執行階段程式庫 (程式碼 = [code_number])」訊息

Microsoft Dependency Agent 建置於 Microsoft Visual Studio 執行階段程式庫之上。 如果程式庫安裝期間發生問題,就會出現訊息。

執行階段程式庫安裝程式會在 %LOCALAPPDATA%\temp 資料夾中建立記錄。 檔案是 dd_vcredist_arch_yyyymmddhhmmss.log ,其中 archx86amd64 ,而 yyyymmddhhmmss 是根據建立記錄時的 24 小時制) 的日期和時間 (。 記錄會提供導致無法安裝之問題的詳細資料。

如果可以先行安裝最新的執行階段程式庫,將會十分有用。

下表列出代碼和建議的解決方式。

程式碼 描述 解決方案
0x17 程式庫安裝程式會要求尚未安裝的 Windows 更新。 查看最新的程式庫安裝程式記錄。

如果 Windows8.1-KB2999226-x64.msu 的參照後方有 Error 0x80240017: Failed to execute MSU package, 資料行,則您無須完成安裝 KB2999226 的先決條件。 請遵循 Windows 通用 C 運行 時間一文中必要條件一節中的指示。 您可能需要執行Windows Update並重新啟動多次,才能安裝必要條件。

再次執行 Microsoft Dependency Agent 安裝程式。

安裝後問題

本節說明安裝後的問題。

伺服器未出現在服務對應中

如果 Dependency Agent 安裝成功,但是在服務對應解決方案中沒有看到您的機器︰

  • Dependency Agent 是否安裝成功? 檢查服務是否已安裝並執行。

    • Windows︰尋找名稱為 Microsoft Dependency Agent 的服務。
    • Linux:尋找執行中的處理序 microsoft-dependency-agent
  • 您位於 Log Analytics 免費層嗎? 免費方案允許最多五個唯一的服務對應機器。 任何後續機器則不會顯示在服務對應中,即使先前五個機器不會再傳送資料。

  • 您的伺服器是否會將記錄檔和效能資料傳送至 Azure 監視器記錄? 移至 [Azure 監視器\記錄],然後為您的電腦執行下列查詢︰

    Usage | where Computer == "admdemo-appsvr" | summarize sum(Quantity), any(QuantityUnit) by DataType
    

您是否在結果中取得各種事件? 是否為最新的資料? 如果是,您的 Log Analytics 代理程式會正確運作並與工作區通訊。 如果沒有,請檢查您電腦上的代理程式。 請參閱 適用于 Windows 的 Log Analytics 代理程式疑難排解適用于 Linux 的 Log Analytics 代理程式疑難排解

伺服器顯示在服務對應中,但是沒有任何處理序

您會在服務對應中看到您的電腦,但沒有任何進程或連線資料。 該行為表示已安裝並執行相依性代理程式,但核心驅動程式未載入。

檢查 C:\Program Files\Microsoft Dependency Agent\logs\wrapper.log file Windows 或 /var/opt/microsoft/dependency-agent/log/service.log file Linux。 檔案的最後幾行應該會指出未載入核心的原因。 例如,若您更新過核心,在 Linux 上可能會不受支援。

建議

您對「服務對應」或這份文件有任何意見反應要提供給我們嗎? 請參閱我們的 User Voice 頁面 ,您可以在其中建議功能或投票現有的建議。