您可以將 vRealize Log Insight Windows 代理程式設定為從一或多個記錄檔收集記錄事件。

欄位名稱受到限制。下列名稱已保留,無法做為欄位名稱。

  • event_type
  • hostname
  • source
  • text

您最多可為代理程式資訊指定三個目的地,並可先篩選資訊再加以傳送。請參閱從 vRealize Log Insight 代理程式轉送記錄

備註:
  • 監控大量檔案 (例如一千個以上) 時,會導致代理程式使用過多資源,並且影響主機的整體效能。若要防止這種情形,請使用模式和 Glob 將代理程式設定為僅監控必要的檔案,或封存舊記錄檔。如果有監控大量檔案的需求,請考慮增加主機參數,例如 CPU 和 RAM。
  • 代理程式由加密目錄的使用者執行時,才能從加密的目錄進行收集。
  • 代理程式僅支援靜態目錄結構。如果已重新命名或新增目錄,且組態涵蓋目錄,則您必須重新啟動代理程式才能開始監控這些目錄。

必要條件

登入已安裝 vRealize Log Insight Windows 代理程式的 Windows 機器,然後啟動服務管理員以確認 vRealize Log Insight 代理程式服務已安裝。

程序

  1. 導覽至 vRealize Log Insight Windows 代理程式的程式資料目錄。
    %ProgramData%\VMware\Log Insight Agent
  2. 在任一文字編輯器中開啟 liagent.ini 檔案。
  3. 找到檔案的 [server|<dest_id>] 區段。新增組態參數,並設定您環境適用的值。
    [filelog|section_name]
    directory=path_to_log_directory
    include=glob_pattern
    ...
    參數 說明
    [filelog|section_name] 組態區段的唯一名稱。
    directory=full-path-to-log-file 記錄檔目錄的完整路徑。支援 Glob 模式。範例組態:
    • 若要從 D:\Logs\new_test_logs 目錄的所有子目錄中收集,請使用 directory=D:\Logs\new_test_logs\*
    • 如果子目錄本身也有子目錄,請使用下列組態來監控所有子目錄 directory=D:\Logs\new_test_logs\*\*
    備註: 為了限制檔案和目錄的數目,並避免耗用太多資源,您不能對第一層或第二層目錄定義目錄 Glob,例如: directory=c:/tmp/*directory=c:\Logs\*。目錄路徑必須至少有兩個層級。

    您可以定義不存在目錄的路徑,一旦建立目錄和檔案之後,代理程式即會在該目錄中收集記錄檔。

    您可以在一或多個不同組態區段下定義相同的目錄,以從同一個檔案多次收集記錄。此程序可將不同的標籤和篩選器套用至相同的事件來源。
    備註: 如果您針對這些區段使用完全相同的組態,則在伺服器端會出現重複事件。
    include=file_name; ... (選擇性) 要從中收集資料的檔案名稱或檔案遮罩 (全域模式)。您可以分號分隔之清單的形式提供值。預設值為 *,表示已包含所有檔案。參數區分大小寫。

    檔案遮罩 (Glob 模式) 可以用來分組遵循相同命名慣例的檔案以及單一檔案名稱內的檔案。例如,包含空格的檔案名稱,例如 vRealize Ops Analytics.logvRealize Ops Collector.log,皆可使用 vRealize?Ops?Analytics*.logvRealize*.log 來指定。透過使用檔案遮罩,您可以指定在 Linux 和 Windows 主機下的代理程式組態可接受的檔案名稱。

    依預設,.zip.gz 檔案已排除在收集之外。

    重要: 如果您正在收集輪替記錄檔,請使用 includeexclude 參數指定同時符合主要和輪替檔案的全域模式。如果全域模式僅符合主要記錄檔,則 vRealize Log Insight 代理程式可能會在輪替期間遺失事件。 vRealize Log Insight 代理程式會自動決定輪替檔案的正確順序,並以正確的順序將事件傳送到 vRealize Log Insight 伺服器。例如,如果主要記錄檔名為 myapp.log,輪替記錄檔為 myapp.log.1myapp.log.2 (以此類推),您可以使用下列 include 模式:

    include= myapp.log;myapp.log.*

    exclude=regular_expression (選擇性) 排除在收集之外的檔案名稱或檔案遮罩 (全域模式)。您可以分號分隔之清單的形式提供值。預設值為空白,表示未排除任何檔案。
    event_marker=regular_expression (選擇性) 表示記錄檔中事件開始的規則運算式。如果省略,將預設為換行。您輸入的運算式必須使用 Perl 規則運算式語法。
    備註: 系統不會將符號,例如引號 ( " "),視為規則運算式的壓縮包。系統會將其視為模式的一部分。

    由於 vRealize Log Insight 代理程式已針對即時收集最佳化,內部延遲寫入的部分記錄訊息可能會分割成多個事件。若記錄檔附加停止超過 200 毫秒且沒有新觀察到的 event_marker,則部分事件會被視作完成、已剖析和已傳遞。此計時邏輯無法設定且優先順序高於 event_marker 設定。記錄檔附加器應排清完整事件。

    enabled=yes|no (選擇性) 啟用或停用組態區段的參數。可能的值為 yesno。預設值為 yes
    charset=char-encoding-type (選擇性) 代理程式監控之記錄檔的字元編碼。可能的值為:
    • UTF-8
    • UTF-16LE
    • UTF-16BE
    預設值為 UTF-8
    tags={"tag-name" : "tag-value", ...}

    (選擇性) 將自訂標籤新增到已收集事件之欄位的參數。使用 JSON 標記法定義標籤。標籤名稱可以包含字母、數字及底線。標籤名稱只能以字母或底線開頭,並且不能超過 64 個字元。標籤名稱不區分大小寫。例如,如果您使用 tags={"tag_name1" : "tag value 1", "Tag_Name1" : "tag value 2" },則 Tag_Name1 將因為重複而被忽略。您不能將 event_type 和時間戳記用作標籤名稱。同一宣告內的任何重複項目都將被忽略。

    如果目的地為 Syslog 伺服器,則標籤可以覆寫 APP-NAME 欄位。例如,tags={"appname":"VROPS"}。

    exclude_fields (選擇性) 用來從收集排除個別欄位的參數。您可以分號或逗號分隔的清單形式提供多個數值。例如,
    • exclude_fields=hostname; filepath
    • exclude_fields=type; size
    • exclude_fields=type, size
    raw_syslog=Yes|No 針對使用 Syslog 通訊協定的代理程式,此選項可讓代理程式收集和傳送原始 Syslog 事件。預設值為 [否],這表示會以使用者指定的 Syslog 屬性來轉換已收集的事件。啟用此選項以收集事件,而不進行任何 Syslog 轉換。

範例: 組態

[filelog|vCenterMain]
directory=C:\ProgramData\VMware\VMware VirtualCenter\Logs
include=vpxd-*.log
exclude=vpxd-alert-*.log;vpxd-profiler-*.log
event_marker=^\d{4}-\d{2}-\d{2}[A-Z]\d{2}:\d{2}:\d{2}\.\d{3} 
[filelog|ApacheAccessLogs]
enabled=yes
directory=C:\Program Files (x86)\Apache Software Foundation\Apache2.2\logs
include=*.log
exclude=*_old.log
tags={"Provider" : "Apache"}
[filelog|MSSQL]
directory=C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\Log
charset=UTF-16LE 
event_marker=^[^\s]