Winlogbeat 快速入门:安装和配置

编辑

Winlogbeat 快速入门:安装和配置

编辑

本指南介绍了如何快速开始使用 Windows 日志监控。您将学习如何

  • 在您要监控的每个系统上安装 Winlogbeat
  • 指定您的日志文件的位置
  • 将日志数据解析为字段并将其发送到 Elasticsearch
  • 在 Kibana 中可视化日志数据
Winlogbeat dashboard

开始之前

编辑

您需要 Elasticsearch 来存储和搜索您的数据,以及 Kibana 来可视化和管理它。

要快速入门,请启动我们的托管 Elasticsearch 服务的部署。Elasticsearch 服务在 AWS、GCP 和 Azure 上可用。免费试用

步骤 1:安装 Winlogbeat

编辑
  1. 下载页面下载 Winlogbeat zip 文件。
  2. 将内容解压缩到 C:\Program Files
  3. winlogbeat-<版本> 目录重命名为 Winlogbeat
  4. 以管理员身份打开 PowerShell 提示符(右键单击 PowerShell 图标,然后选择“以管理员身份运行”)。
  5. 在 PowerShell 提示符下,运行以下命令以安装服务。
PS C:\Users\Administrator> cd 'C:\Program Files\Winlogbeat'
PS C:\Program Files\Winlogbeat> .\install-service-winlogbeat.ps1

Security warning
Run only scripts that you trust. While scripts from the internet can be useful,
this script can potentially harm your computer. If you trust this script, use
the Unblock-File cmdlet to allow the script to run without this warning message.
Do you want to run C:\Program Files\Winlogbeat\install-service-winlogbeat.ps1?
[D] Do not run  [R] Run once  [S] Suspend  [?] Help (default is "D"): R

Status   Name               DisplayName
------   ----               -----------
Stopped  winlogbeat         winlogbeat

如果您的系统上禁用了脚本执行,则需要将当前会话的执行策略设置为允许脚本运行。例如:PowerShell.exe -ExecutionPolicy UnRestricted -File .\install-service-winlogbeat.ps1

要使用本地非管理员帐户运行 Winlogbeat,请按照这些其他步骤进行操作。

步骤 2:连接到 Elastic Stack

编辑

需要连接到 Elasticsearch 和 Kibana 才能设置 Winlogbeat。

winlogbeat.yml 中设置连接信息。要找到此配置文件,请参阅目录布局

指定您的 Elasticsearch 服务的 cloud.id,并将 cloud.auth 设置为有权设置 Winlogbeat 的用户。例如

cloud.id: "staging:dXMtZWFzdC0xLmF3cy5mb3VuZC5pbyRjZWM2ZjI2MWE3NGJmMjRjZTMzYmI4ODExYjg0Mjk0ZiRjNmMyY2E2ZDA0MjI0OWFmMGNjN2Q3YTllOTYyNTc0Mw=="
cloud.auth: "winlogbeat_setup:YOUR_PASSWORD" 

此示例显示了硬编码的密码,但您应该将敏感值存储在密钥存储中。

要了解有关所需角色和权限的更多信息,请参阅授予用户对安全资源的访问权限

步骤 3:配置 Winlogbeat

编辑

winlogbeat.yml 中,配置您要监控的事件日志。

  1. winlogbeat.event_log 下,指定要监控的事件日志列表。默认情况下,Winlogbeat 监控应用程序、安全和系统日志。

    winlogbeat.event_logs:
      - name: Application
      - name: Security
      - name: System

    要获取可用事件日志的列表,请在 PowerShell 中运行 Get-EventLog *。有关此命令的更多信息,请参阅event_logs.name的配置详细信息。

  2. (可选)设置日志记录选项以将 Winlogbeat 日志写入文件

    logging.to_files: true
    logging.files:
      path: C:\ProgramData\winlogbeat\Logs
    logging.level: info
  3. 保存配置文件后,使用以下命令对其进行测试。

    PS C:\Program Files\Winlogbeat> .\winlogbeat.exe test config -c .\winlogbeat.yml -e

有关配置 Winlogbeat 的更多信息,另请参阅

步骤 4:设置资产

编辑

Winlogbeat 附带用于解析、索引和可视化数据的预定义资产。要加载这些资产

  1. 请确保在 winlogbeat.yml 中指定的用户有权设置 Winlogbeat
  2. 从安装目录运行

    PS > .\winlogbeat.exe setup -e

此步骤加载用于写入 Elasticsearch 的推荐索引模板,加载用于解析事件的提取管道(仅限 x-pack),并部署用于可视化 Kibana 中数据的示例仪表板。

需要连接到 Elasticsearch(或 Elasticsearch 服务)才能设置初始环境。如果您使用不同的输出(例如 Logstash),请参阅

步骤 5:启动 Winlogbeat

编辑

在启动 Winlogbeat 之前,请修改 winlogbeat.yml 中的用户凭据,并指定有权发布事件的用户。

要启动 Winlogbeat 服务,请运行

PS C:\Program Files\Winlogbeat> Start-Service winlogbeat

Winlogbeat 现在应该正在运行。如果您使用了此处描述的日志记录配置,则可以在 C:\ProgramData\winlogbeat\Logs\winlogbeat 查看日志文件。

您可以从 Windows 中的“服务”管理控制台查看服务的状态并控制它。要启动管理控制台,请运行此命令

PS C:\Program Files\Winlogbeat> services.msc

停止 Winlogbeat

编辑

使用以下命令停止 Winlogbeat 服务

PS C:\Program Files\Winlogbeat> Stop-Service winlogbeat

步骤 6:在 Kibana 中查看您的数据

编辑

Winlogbeat 附带用于可视化日志数据的预先构建的 Kibana 仪表板和 UI。您在之前运行 setup 命令时加载了仪表板。

要打开仪表板

  1. 启动 Kibana

    1. 登录到您的 Elastic Cloud 帐户。
    2. 导航到您的部署中的 Kibana 端点。
  2. 在侧面导航中,单击发现。要查看 Winlogbeat 数据,请确保选择了预定义的 winlogbeat-* 数据视图。

    如果在 Kibana 中看不到数据,请尝试将时间过滤器更改为更大的范围。默认情况下,Kibana 显示最近 15 分钟。

  3. 在侧面导航中,单击仪表板,然后选择要打开的仪表板。

这些仪表板作为示例提供。我们建议您自定义它们以满足您的需求。

使用本地非管理员帐户运行 Winlogbeat

编辑

默认情况下,Winlogbeat 服务以 本地系统帐户运行。如果您想以不是管理员的本地用户帐户运行 Winlogbeat 服务,请按照以下步骤操作。必须在安全策略中授予本地用户帐户 作为服务登录 权限,并使其成为 Builtin\Event Log Readers 组的一部分以读取事件日志。

  1. 使用此命令打开“服务管理”控制台

    PS C:\Program Files\Winlogbeat> services.msc
  2. 右键单击名为 winlogbeat 的服务,然后选择 属性
  3. 登录 选项卡下,选择 此帐户:,然后浏览到您想要用作 Winlogbeat 服务运行的本地帐户用户。
  4. 输入本地用户帐户的密码,然后单击 应用
  5. 在 Windows 搜索中搜索并打开 本地组策略编辑器,或者从 Powershell 运行 gpedit.msc
  6. 导航到路径:计算机设置 → 安全设置 → 本地策略,然后在其中打开 用户权限分配
  7. 用户权限分配 中,将您的本地用户帐户添加到名为 作为服务登录 的策略。这应该允许您的本地用户帐户作为服务登录。
  8. 通过在 Powershell 中运行 lusrmgr.msc 打开 本地用户和组管理器
  9. 用户 下,右键单击您的本地帐户用户并打开 属性
  10. 选择 隶属于 选项卡,然后单击 添加...
  11. 找到并选择名为 Event Log Readers 的组,然后单击 应用。这将允许您的本地帐户用户读取事件日志。

下一步是什么?

编辑

现在您的日志已经流式传输到 Elasticsearch 中,了解如何统一您的日志、指标、正常运行时间和应用程序性能数据。

  1. 通过安装和配置其他 Elastic Beats 从其他来源摄取数据

    Elastic Beats 用于捕获

    Metricbeat

    基础设施指标

    Filebeat

    日志

    Heartbeat

    正常运行时间信息

    APM

    应用程序性能指标

    Auditbeat

    审计事件

  2. 使用 Kibana 中的 Observability 应用来搜索您的所有数据

    Elastic 应用 用于

    Metrics 应用

    探索您的生态系统中系统和服务的指标

    Logs 应用

    实时跟踪相关的日志数据

    Uptime 应用

    监控您的应用和服务中的可用性问题

    APM 应用

    监控应用程序性能

    SIEM 应用

    分析安全事件