Share via


Azure 監視器 Log Analytics 中的記錄查詢範圍和時間範圍

當您在 Azure 入口網站的 Log Analytics 中執行記錄查詢時,查詢所評估的資料集取決於您所選範圍和時間範圍。 本文說明範圍和時間範圍,以及如何根據需求設定各範圍。 本文亦會說明不同類型範圍的行為。

需要的權限

例如,您必須擁有所查詢 Log Analytics 工作區的 Microsoft.OperationalInsights/workspaces/query/*/read 權限,這是由 Log Analytics 讀者內建角色所提供。

查詢範圍

查詢範圍會定義查詢所評估的記錄。 此定義通常將包括單一 Log Analytics 工作區或 Application Insights 應用程式中的所有記錄。 Log Analytics 也可讓您為特定受監視 Azure 資源設定範圍。 這可讓資源擁有者只專注於自身資料,即使該資源寫入多個工作區也一樣。

範圍一律顯示在 Log Analytics 視窗的左上方。 圖示指出範圍是 Log Analytics 工作區或 Application Insights 應用程式。 沒有圖示則代表另一個 Azure 資源。

Screenshot of scope displayed in portal.

您用來啟動 Log Analytics 的方法會決定範圍,在某些情況下,您可以按一下範圍來進行變更。 下表列出所使用的不同類型範圍,以及各範圍的不同詳細資料。

重要

如果您使用 Application Insights 中以工作區為基礎的應用程式,則會與所有其他記錄資料一起儲存在 Log Analytics 工作區中。 為了獲得回溯相容性,當您選取應用程式作為範圍時,將會獲得傳統 Application Insights 體驗。 若要在 Log Analytics 工作區中查看此資料,請將範圍設定為工作區。

查詢範圍 範圍中的記錄 選取方法 變更範圍
Log Analytics 工作區 Log Analytics 工作區中的所有記錄。 從 [Azure 監視器] 功能表或 [Log Analytics 工作區] 功能表中,選取 [記錄] 可以將範圍變更為任何其他資源類型。
Application Insights 應用程式 Application Insights 應用程式中的所有記錄。 從應用程式的 Application Insights 功能表中選取 [記錄] 只能將範圍變更為另一個 Application Insights 應用程式。
資源群組 由資源群組中所有資源建立的記錄。 可以包括來自多個 Log Analytics 工作區的資料。 從資源群組功能表中選取 [記錄] 無法變更範圍。
訂用帳戶 由訂閱中所有資源建立的記錄。 可以包括來自多個 Log Analytics 工作區的資料。 從訂閱功能表中選取 [記錄] 無法變更範圍。
其他 Azure 資源 資源所建立的記錄。 可以包括來自多個 Log Analytics 工作區的資料。 從資源功能表中選取 [記錄]
OR
從 [Azure 監視器] 功能表選取 [記錄],然後選取新的範圍。
只能將範圍變更為相同資源類型。

範圍設定為資源時的限制

當查詢範圍是 Log Analytics 工作區或 Application Insights 應用程式時,入口網站中的所有選項和所有查詢命令均可供使用。 不過,當範圍設定為資源時,入口網站中的下列選項無法使用,因為這些選項與單一工作區或應用程式相關聯:

  • 儲存
  • 查詢總管
  • 新增警示規則

當範圍設定為資源時,您無法在查詢中使用下列命令,因為查詢範圍已經包含具有該資源或一組資源資料的任何工作區:

查詢範圍限制

將範圍設定為資源或一組資源,是 Log Analytics 中強大的功能,此功能可讓您在單一查詢中自動合併分散式資料。 不過,如果需要從多個 Azure 區域的工作區擷取資料,則此做法可能會大幅影響效能。

Log Analytics 藉由在使用特定數目的區域時發出警告或錯誤,協助預防跨越多個區域中工作區的查詢產生過多額外負荷。 如果範圍包含 5 個或更多區域中的工作區,則您的查詢會收到警告。 此查詢仍會執行,但可能需要大量時間才能完成。

Screenshot of query warning.

如果範圍包含 20 個或更多區域中的工作區,將會停止執行您的查詢。 在此情況下,系統會提示您減少工作區區域的數目,並嘗試再次執行查詢。 下拉式清單會顯示查詢範圍中的所有區域,您應該先減少區域數目,然後嘗試再次執行查詢。

Screenshot of query failed.

時間範圍

時間範圍會根據記錄建立時間來指定針對查詢評估的記錄集。 這是由工作區或應用程式中每個記錄的 TimeGenerated 資料行所定義,如下表所指定。 針對傳統 Application Insights 應用程式,時間戳記資料行會用於時間範圍。

從 Log Analytics 視窗頂端的時間選擇器中選取時間範圍進行設定。 您可以選取預先定義期間,或選取 [自訂] 來指定特定時間範圍。

Screenshot of the time picker.

如果您在使用標準時間資料行的查詢中設定篩選,如上表所示,則時間選擇器會變更為 [在查詢中設定] 且會停用。 在此情況下,將篩選放在查詢頂端最有效率,如此一來,任何後續處理只須處理已篩選的記錄。

Screenshot of filtered query.

如果您使用工作區應用程式命令來從另一個工作區或傳統應用程式擷取資料,則時間選擇器的行為可能有所不同。 如果範圍是 Log Analytics 工作區,且您使用應用程式,或者範圍是傳統 Application Insights 應用程式,且您使用工作區,則 Log Analytics 可能無法理解篩選條件中使用的資料行應決定時間篩選條件。

在下列範例中,範圍設定為 Log Analytics 工作區。 查詢會使用工作區,從另一個 Log Analytics 工作區擷取資料。 由於看到使用預期 TimeGenerated 資料行的篩選,時間選擇器會變更為 [在查詢中設定]

Screenshot of query with workspace.

不過,如果查詢使用應用程式從傳統 Application Insights 應用程式擷取資料,Log Analytics 就無法辨識篩選中的時間戳記資料行,而時間選擇器則維持不變。 在此情況下,會套用兩個篩選。 在此範例中,查詢中只會包含過去 24 小時內建立的記錄,即使在 where 子句中指定 7 天也一樣。

Screenshot of query with app.

下一步