为 Windows 部署日志记录代理
您可以部署日志记录代理来收集基础架构和应用程序日志,并将其从 Windows 系统路由到IBM Cloud Logs实例。 有关支持的 Windows 环境的更多信息,请参阅 "日志记录代理用于未启动的环境。
完成以下步骤,将代理部署到受支持的 Windows 系统。
定义代理的身份验证方法
为代理选择身份类型和验证方法。 然后,根据需要创建一个 API 密钥。
完成以下步骤:
-
选择身份类型:服务 ID 或受信任配置文件
您可以使用服务 ID 或受托配置文件对IBM Cloud Logs服务进行身份验证。 受信任配置文件仅支持Virtual Servers for VPC。 创建实例时必须启用元数据服务,并通过指定 ID 将受信任配置文件链接到实例。 更多信息请参阅 创建虚拟服务器实例。
-
向您选择的身份授予摄取权限。
向IBM Cloud Logs 发送日志需要使用 "
Sender角色。有关更多信息,请参阅 为摄取授予 IAM 权限。
有关受信任配置文件的更多信息,请参阅 生成用于摄取的受信任配置文件。
-
生成一个用于服务ID认证的API密钥。
使用受信任配置文件进行身份验证时,不需要此步骤。
更多信息,请参阅 生成用于摄取的 API 密钥。
下载代理文件
完成以下步骤:
-
登录 Windows 环境。
-
下载 Windows 代理 ZIP 压缩包。
有关当前日志记录代理版本的信息,请参阅 代理发布说明。
-
通过运行以下命令验证校验和:
sha256sum -c <sha256_filename>其中,“
<sha256_filename>是下载的”*.sha256文件的文件名。 -
使用 Powershell,展开 "
Program Files目录下的 Windows 代理存档。Expand-Archive -Path <archive_filename> -DestinationPath "C:\Program Files\"其中,
<archive_filename>是下载的*.zip文件的名称。 -
将目录更改为已扩展的 Windows 代理存档。
cd "C:\Program Files\logs-agent" -
从
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]
Where
-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>-
指定“
IAMAPIKey或”VSITrustedProfile。 -IAMApiKey <iam_api_key>-
(可选)指定Cloud Identity and Access Management模式下需要)。API 密钥("
IAMAPIKey模式必填)。 确保按照 生成 API 密钥 中的说明进行操作。有关“Cloud Identity and Access ManagementAPI 密钥的更多信息,请参阅”管理应用程序接口密钥。
-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 启用了安全访问,请设置此标志。 缺省情况下不启用此选项。
配置 日志记录代理 以包含或排除文件
您可以配置 日志记录代理 以包含或排除代理监控的文件。
-
在
C:\Program Files\logs-agent\etc中创建输入插件配置文件input-tail.conf。 -
添加输入部分。
用要监控的目录和文件设置路径。
在 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 -
保存配置文件。
-
修改
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>标记的其他文件。
添加元数据
您必须配置 日志记录代理 包含 applicationName 和 subsystemName。 您还可以添加自定义元数据。
- 应用程序名称是向 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 上运行代理的首选方式。
完成以下步骤:
-
要将代理注册为 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\"" -
对于使用“
IAMAPIKey进行身份验证的代理,请在注册表中为”fluent-bit服务创建一个 API 密钥。New-ItemProperty -Path "HKLM:\System\CurrentControlSet\Services\fluent-bit" -Name "Environment" -Value "IAM_API_KEY=<my_api_key>" -PropertyType MultiString -
启动 Windows 服务
sc.exe start fluent-bit
验证日志是否已传送到目标目的地
完成以下步骤:
-
正确配置代理后,您可以通过默认仪表板视图查看日志。