部署適用於 Windows 的記載代理程式

您可以部署記載代理程式來收集基礎架構和應用程式日誌並將其從 Windows 系統路由到IBM Cloud Logs實例。 有關受支援的 Windows 環境的詳細信息,請參閱 非編排環境的記載代理程式

完成以下步驟將代理部署到支援的 Windows 系統。

定義代理程式的身份驗證方法

選擇代理程式的身份類型和身份驗證方法。 然後,根據需要建立 API 金鑰。

請完成下列步驟:

  1. 選擇身分類型:服務 ID 或可信任設定文件

    您可以使用服務 ID 或受信任的設定檔透過IBM Cloud Logs服務進行驗證。 受信任的設定檔僅在Virtual Servers for VPC上支援。 您必須建立啟用元資料服務的實例,並透過在建立實例時指定 ID 將受信任的設定檔連結到您的實例。 如需詳細資訊,請參閱 建立虛擬伺服器實例

  2. 向您選擇的身份授予攝取權限。

    需要 Sender 角色才能將日誌傳送到IBM Cloud Logs。

    有關更多信息,請參閱 授予 IAM 攝取權限

    有關可信任設定檔的更多信息,請參閱 生成可信任設定檔以供攝取

  3. 產生 API 金鑰用於服務 ID 驗證。

    對於使用可信任設定檔進行身份驗證,不需要此步驟。

    有關更多信息,請參閱 生成用於攝取的 API 金鑰

下載代理文件

請完成下列步驟:

  1. 登入您的 Windows 環境。

  2. 下載 Windows 代理 ZIP 檔案。

    有關當前記載代理程式版本的信息,請參閱 代理發行說明

  3. 執行下列指令驗證校驗和:

    sha256sum -c <sha256_filename>
    

    其中 <sha256_filename> 是下載的 *.sha256 檔案的檔案名稱。

  4. 使用 Powershell,展開 Program Files 目錄中的 Windows 代理程式存檔。

    Expand-Archive -Path <archive_filename> -DestinationPath "C:\Program Files\"
    

    其中 <archive_filename> 是下載的 *.zip 檔案名稱。

  5. 將目錄變更為擴充的 Windows 代理程式存檔。

    cd "C:\Program Files\logs-agent"
    
  6. 從以下位置下載設定文件 C:\Program Files\logs-agent 地點。

    wget https://logs-router-agent-config.s3.us.cloud-object-storage.appdomain.cloud/configure-logs-agent.ps1
    

部署 記載代理程式 以收集 Windows 事件日誌

執行組態 Powershell 指令碼。

./configure-logs-agent.ps1 -TargetHost <target_host> -TargetPort <target_port> -AuthMode <auth_mode> -IAMEnv <IAM_environment> [[-IAMApiKey] <iam_api_key>] [-TrustedProfile] <trusted_profile_id>] -Channels <channels_list> [[-DBPath] <database_path>] [-VSISecureAccess]

其中

-TargetHost <target_host>

用於IBM Cloud Logs攝取的主機,可在IBM Cloud Logs實例 OverviewEndpoints 部分中找到。 使用入口端點。 有關更多信息,請參閱 入口端點

-TargetPort <target_port>

指定入口端點端口,該端口取決於您與IBM Cloud Logs的網路連接。 為IBM Cloud Logs Routing指定 3443

  • 443:公共入口端點
  • 443:專用入口端點 (VPE)
  • 3443:私有入口端點(CSE)
-IAMEnv <IAM_environment>

(可選)指定是使用公共終端節點或專用終端節點進行 IAM 驗證。Production 表示使用公共端點。PrivateProduction 指定使用專用端點。Production 是預設值。

如果您的系統無法存取公共互聯網,則必須使用 PrivateProduction 才能使用專用端點。

-AuthMode <auth_mode>

指定 IAMAPIKeyVSITrustedProfile

-IAMApiKey <iam_api_key>

(可選)指定Cloud Identity and Access Management API 金鑰( IAMAPIKey 模式必要)。 確保遵循 生成 API 金鑰 中的說明。

有關Cloud Identity and Access Management API 金鑰的更多信息,請參閱 管理 API 金鑰

-TrustedProfile <trusted_profile_id>

(可選)指定受信任的設定檔 ID( VSITrustedProfile 模式所需)。 使用受信任的設定檔時,設定為在 授予 IAM 權限以進行擷取 中所設定的 ID。

有關受信任設定檔的更多信息,請參閱 建立受信任設定檔

-Channels <channels_list>

(可選)如果提供了通道列表,則預設的 winevtlog 輸入插件將配置為從指定通道讀取事件。 指定要從 Windows 事件日誌讀取的通道(以逗號分隔且不含空格)。

-DBPath <database_path>

(可選)如果提供了 Channels 參數,請將此參數設為資料庫檔案以儲存已處理事件的位置。 如果未設定此參數並且提供了 Channels 參數,則預設資料庫檔案將為 C:\Program Files\logs-agent\winevtlog.sqlite

-VSISecureAccess

(可選)如果您在 VSI 中啟用了安全訪問,請設定此標誌。 此選項預設為未啟用。

配置 記載代理程式 以包含或排除文件

您可以設定 記載代理程式 以包含或排除代理程式監控的檔案。

  1. 建立輸入插件設定檔 input-tail.confC:\Program Files\logs-agent\etc

  2. 新增輸入部分。

    使用要監視的目錄和檔案設定路徑

    使用要從監視中排除的目錄和檔案設定 Exclude_Path

    [INPUT]
        Name              tail
        Tag               *
        Path              C:\logs\*.log
        Path_Key          file
        Exclude_Path      C:\logs\audit.log
        DB                C:\logs\fluent-bit.DB
        Buffer_Chunk_Size 32KB
        Buffer_Max_Size   256KB
        Skip_Long_Lines   On
        Refresh_Interval  10
    
  3. 儲存配置檔。

  4. 修改 C:\Program Files\logs-agent\etc\fluent-bit.conf 文件以包含對 C:\Program Files\logs-agent\etc\input-windows-event-log.conf

    @INCLUDE C:\Program Files\logs-agent\etc\input-windows-event-log.conf
    

    主要設定檔 C:\Program Files\logs-agent\etc\fluent-bit.conf 導入帶有該標籤的其他文件 @INCLUDE <path_to_file>

新增 meta 資料

您必須設定 記載代理程式 以包含 applicationNamesubsystemName。 您也可以新增自訂元資料。

  • 應用程式名稱是產生日誌並將其傳送到 IBM Cloud Logs 實例的環境。 使用變數將值設定為主機名 ${COMPUTERNAME} 或輸入電腦主機名稱。
  • 子系統名稱是產生日誌並將其傳送到 IBM Cloud Logs 實例的服務或應用程式。 例如,您可以將其設定為提供者名稱。
[FILTER]
    Name modify
    Match winevtlog.*
    Copy ProviderName subsystemName
    Add applicationName ${COMPUTERNAME}
    Add meta.source ${SOURCE}
    Add meta.channel ${Channel}
    Add meta.providerName ${ProviderName}
    Add meta.environment prod
    Add meta.platform windows

[FILTER]
    Name nest
    Match winevtlog.*
    Operation nest
    Wildcard meta.*
    Nest_under meta
    Remove_prefix meta.

驗證代理配置

透過執行代理來檢查代理配置是否正確。

.\bin\fluent-bit.exe -c C:\Program Files\logs-agent\etc\fluent-bit.conf

代理將啟動並建立與所需目標的連線。

建立 Windows 服務

Windows 服務是長時間運行的背景進程,是在 Windows 上執行代理程式的首選方式。

請完成下列步驟:

  1. 若要將代理程式註冊為 Windows 服務,請執行下列命令。

    binpath= 之後需要一個空格。

    sc.exe create fluent-bit binpath= "C:\Program Files\logs-agent\bin\fluent-bit.exe -c \"C:\Program Files\logs-agent\etc\fluent-bit.conf\""
    
  2. 對於使用 IAMAPIKey 進行驗證的代理,請在登錄中為 fluent-bit 服務建立 API 金鑰。

    New-ItemProperty -Path "HKLM:\System\CurrentControlSet\Services\fluent-bit" -Name "Environment" -Value "IAM_API_KEY=<my_api_key>" -PropertyType MultiString
    
  3. 啟動Windows服務

    sc.exe start fluent-bit
    

驗證日誌是否已傳送到您的目標目的地

請完成下列步驟:

  1. 前往您的IBM Cloud Logs實例的 Web UI。

  2. 正確配置代理程式後,您可以透過預設儀表板視圖查看日誌。