共用方式為


設定記錄分析收集的自我裝載整合執行階段 (SHIR)

適用於:Azure Data Factory Azure Synapse Analytics

提示

試用 Microsoft Fabric 中的 Data Factory,這是適用於企業的全方位分析解決方案。 Microsoft Fabric 涵蓋從資料移動到資料科學、即時分析、商業智慧和報告的所有項目。 了解如何免費開始新的試用

必要條件

此方法需要可用的 Log Analytics 工作區。 建議您記下 Log Analytics 工作區的工作區識別碼和驗證金鑰,因為遇到特定案例時,您可能需要識別碼或金鑰。 此解決方案會增加傳送至 Log Analytics 工作區的資料,並對整體成本產生些許影響。 請繼續閱讀,了解如何將資料量降到最低的詳細資訊。

目標和案例

若要將事件和效能計數器資料集中至 Log Analytics 工作區,請先適當檢測裝載 SHIR 的虛擬機器。 在下方兩個主要案例中選擇。

檢測內部部署虛擬機器

本文「在 Windows 電腦上安裝 Log Analytics 代理程式」說明如何在通常裝載在內部部署的虛擬機器上安裝用戶端。 這可以是實體伺服器或裝載在客戶自控 Hypervisor 上的虛擬機器。 如必要條件章節所述,安裝 Log Analytics 代理程式時,您必須提供 Log Analytics 工作區識別碼和工作區金鑰,才能完成連線。

檢測 Azure 虛擬機器

檢測 Azure 虛擬機器型 SHIR 的建議方法是使用虛擬機器深入解析,如「啟用 VM 深入解析概觀」一文所述。 SHIR 裝載在 Azure 虛擬機器中時,有多種方式可以設定 Log Analytics 代理程式。 本文「Log Analytics 代理程式概觀」說明所有選項。

設定事件記錄和效能計數器擷取

此步驟加強說明如何設定要傳送至 Log Analytics 的事件檢視器記錄和效能計數器。 無論代理程式的部署方式為何,常見的步驟如下所述。

選取事件檢視器日誌

首先,您必須收集與 SHIR 相關的事件檢視器日誌,如「在 Azure 監視器中使用 Log Analytics 代理程式,收集 Windows 事件記錄資料來源」一文所述。

請務必注意,使用介面選擇事件記錄後,您通常不會看到機器上可能存在的所有日誌。 所以 SHIR 監視需要的兩個日誌不會顯示在此清單中。 如果您輸入的日誌名稱與本機虛擬機器上顯示完全相同,系統會擷取並傳送日誌至 Log Analytics 工作區。

我們必須設定的事件日誌名稱:

  • 連接器 - 整合執行階段
  • 整合執行階段

Screenshot of the selection of the SHIR relevant logs with errors and warnings checked.

重要

如果您部署多部 SHIR 主機並大量掃描,保留核取資訊層會大幅增加資料量。 我們強烈建議您只保留「錯誤」和「警告」。

選取效能計數器

在相同設定窗格中,請按一下 [Windows 效能計數器] 選取個別效能計數器,傳送至記錄分析。

重要

請記住,效能計數器的本質是連續資料流。 所以請務必考慮資料收集對 Azure 監視器/Log Analytics 部署總成本的影響。 除非授與已允許的資料提取預算,及已允許並編列預算的資料常數提取,否則收集效能計數器應只設定一定期間,以建立效能基準。

在介面中第一次設定時,建議您使用建議的計數器集合。 選取您要執行的效能分析適用的類型。 %CPU可用記憶體通常是受監視的計數器,但在大量資料、頻寬或執行時間有限的案例中,其他如網路頻寬使用量等可以很實用。

Screenshot of the counter selection interface in the Azure portal.

在 Log Analytics 中檢視事件和效能計數器資料

請參閱本教學課程「如何在 Log Analytics 中查詢資料」。 儲存遙測的兩個資料表分別稱為 Perf 和 Event。 下列查詢會檢查資料列計數,並查看資料列是否存在資料流。 這會確認上述檢測設備是否正常運作。

範例 KQL 查詢

檢查資料列計數

(
        Event 
        | extend TableName = "Event"
        | summarize count() by TableName
)     
| union
(     
        Perf
        | extend TableName = "Perf"
        | summarize count() by TableName
)

查詢事件

擷取前 10 個事件資料列
Event
| take 10
依訊息嚴重性擷取事件計數
Event
| summarize count() by EventLevelName
依訊息嚴重性轉譯計數的圓形圖
Event
| summarize count() by EventLevelName
| render piechart 
擷取包含特定文字字串的所有錯誤

在此我們要搜尋包含「已中斷連線」字組的所有訊息。

Event
| where RenderedDescription has "disconnected"
多資料表搜尋關鍵字,而不必知道結構描述

不知道哪個資料行包含資訊時,您可以使用搜尋命令。 至少有一個資料行包含搜尋字詞時,此查詢會從指定的資料表傳回所有的資料列。 在此範例中,字詞為「已中斷連線」。

search in (Perf, Event) "disconnected"
從單一特定的記錄日誌擷取所有事件

在此範例中,我們將查詢範圍縮小至名為連接器 - 整合執行階段的記錄日誌。

Event 
| where EventLog == "Connectors - Integration Runtime"
使用時間範圍限制查詢結果

此查詢使用與上述相同的查詢,但將結果限制在 2 天前或最近發生的事件。

Event 
| where EventLog      == "Connectors - Integration Runtime"
  and   TimeGenerated >= ago(2d)

查詢效能計數器資料

擷取前 10 個效能計數器讀數
Perf
| take 10
擷取包含時間限制的特定計數器
Perf
| where     TimeGenerated >= ago(24h)
        and ObjectName    == "Network Adapter"
        and InstanceName  == "Mellanox ConnectX-4 Lx Virtual Ethernet Adapter"
        and CounterName   == "Bytes Received/sec"

效能計數器的本質是階層式,所以請注意在查詢中包含足夠的 where 述詞,以選取所需特定計數器。

擷取指定計數器過去 24 小時每 30 分鐘為間隔的第 95 個百分位數

此範例是特定網路介面卡所有的計數器。

Perf
| where     TimeGenerated >= ago(24h)
        and ObjectName    == "Network Adapter"
        and InstanceName  == "Mellanox ConnectX-4 Lx Virtual Ethernet Adapter"
| project TimeGenerated, Computer, ObjectName, InstanceName, CounterName, CounterValue
| summarize percentile(CounterValue, 95) by bin(TimeGenerated, 30m), Computer, ObjectName, InstanceName, CounterName
使用變數實現程式碼的重複使用性

在此我們將物件名稱和計數器名稱設為變數,所以不必變更 KQL 查詢主體,您可以稍後變更這些選取項目。

let pObjectName  = "Memory"; // Required to select the right counter
let pCounterName = "Available MBytes"; // Required to select the right counter
Perf
| where Type == "Perf" and ObjectName == pObjectName and CounterName == pCounterName
| project TimeGenerated, Computer, CounterName, CounterValue
| order by TimeGenerated asc 
| summarize Value=max(CounterValue) by CounterName, TimeStamps=TimeGenerated