Winlogbeat 快速入门:安装和配置
编辑Winlogbeat 快速入门:安装和配置编辑
本指南介绍如何快速开始使用 Windows 日志监控。您将学习如何
- 在您要监控的每个系统上安装 Winlogbeat
- 指定日志文件的路径
- 将日志数据解析为字段并将其发送到 Elasticsearch
- 在 Kibana 中可视化日志数据
开始之前编辑
您需要 Elasticsearch 来存储和搜索您的数据,以及 Kibana 来可视化和管理它。
要快速入门,请启动我们的 托管 Elasticsearch 服务 部署。Elasticsearch 服务在 AWS、GCP 和 Azure 上可用。免费试用.
要安装和运行 Elasticsearch 和 Kibana,请参阅 安装 Elastic Stack.
步骤 1:安装 Winlogbeat编辑
- 从 下载页面 下载 Winlogbeat zip 文件。
- 将内容解压缩到
C:\Program Files
。 - 将
winlogbeat-<version>
目录重命名为Winlogbeat
。 - 以管理员身份打开 PowerShell 提示符(右键单击 PowerShell 图标并选择以管理员身份运行)。
- 从 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编辑
设置 Winlogbeat 需要连接到 Elasticsearch 和 Kibana。
在 winlogbeat.yml
中设置连接信息。要找到此配置文件,请参阅 目录布局.
指定 cloud.id Elasticsearch 服务,并将 cloud.auth 设置为有权设置 Winlogbeat 的用户。例如
cloud.id: "staging:dXMtZWFzdC0xLmF3cy5mb3VuZC5pbyRjZWM2ZjI2MWE3NGJmMjRjZTMzYmI4ODExYjg0Mjk0ZiRjNmMyY2E2ZDA0MjI0OWFmMGNjN2Q3YTllOTYyNTc0Mw==" cloud.auth: "winlogbeat_setup:YOUR_PASSWORD"
此示例显示硬编码密码,但您应该将敏感值存储在 秘密密钥库 中。 |
-
设置 Winlogbeat 可以找到 Elasticsearch 安装的地址和端口,并设置有权设置 Winlogbeat 的用户的用户名和密码。例如
output.elasticsearch: hosts: ["https://myEShost:9200"] username: "winlogbeat_internal" password: "YOUR_PASSWORD" ssl: enabled: true ca_trusted_fingerprint: "b9a10bbe64ee9826abeda6546fc988c8bf798b41957c33d05db736716513dc9c"
此示例显示硬编码密码,但您应该将敏感值存储在 秘密密钥库 中。
此示例显示硬编码指纹,但您应该将敏感值存储在 秘密密钥库 中。指纹是 CA 证书的十六进制编码 SHA-256,当您首次启动 Elasticsearch 时,默认情况下会启用 Elasticsearch 的安全功能,例如网络加密(TLS)。如果您使用的是 Elasticsearch 首次启动时生成的自签名证书,则需要在此处添加其指纹。指纹在 Elasticsearch 启动日志中打印,或者您可以参考 将客户端连接到 Elasticsearch 文档 以了解有关检索指纹的其他选项。如果您为 Elasticsearch 提供自己的 SSL 证书,请参考 Winlogbeat 关于如何设置 SSL 的文档。
-
如果您打算使用我们预先构建的 Kibana 仪表板,请配置 Kibana 端点。如果 Kibana 运行在与 Elasticsearch 相同的主机上,则跳过此步骤。
运行 Kibana 的机器的主机名和端口,例如
mykibanahost:5601
。如果您在端口号之后指定了路径,请包括方案和端口:http://mykibanahost:5601/path
。Kibana 的
username
和password
设置是可选的。如果您没有为 Kibana 指定凭据,Winlogbeat 将使用为 Elasticsearch 输出指定的username
和password
。要使用预先构建的 Kibana 仪表板,此用户必须有权查看仪表板或拥有
kibana_admin
内置角色。
要了解有关所需角色和权限的更多信息,请参阅 授予用户访问受保护资源的权限。
步骤 3:配置 Winlogbeat编辑
在 winlogbeat.yml
中,配置您要监控的事件日志。
-
在
winlogbeat.event_log
下,指定要监控的事件日志列表。默认情况下,Winlogbeat 监控应用程序、安全和系统日志。winlogbeat.event_logs: - name: Application - name: Security - name: System
要获取可用事件日志的列表,请在 PowerShell 中运行
Get-EventLog *
。有关此命令的更多信息,请参阅 event_logs.name 的配置详细信息。 -
(可选) 设置日志记录选项以将 Winlogbeat 日志写入文件
logging.to_files: true logging.files: path: C:\ProgramData\winlogbeat\Logs logging.level: info
-
保存配置文件后,使用以下命令对其进行测试。
PS C:\Program Files\Winlogbeat> .\winlogbeat.exe test config -c .\winlogbeat.yml -e
有关配置 Winlogbeat 的更多信息,另请参阅
- 配置 Winlogbeat
- 配置文件格式
-
winlogbeat.reference.yml
:此参考配置文件显示所有未弃用的选项。您会在与winlogbeat.yml
相同的位置找到它。
步骤 4:设置资产编辑
Winlogbeat 带有用于解析、索引和可视化您的数据的预定义资产。要加载这些资产
- 确保
winlogbeat.yml
中指定的用户 有权设置 Winlogbeat。 -
从安装目录运行
PS > .\winlogbeat.exe setup -e
此步骤将加载推荐的 索引模板 用于写入 Elasticsearch,加载摄取管道以解析事件(仅限 x-pack),并部署示例仪表板以在 Kibana 中可视化数据。
设置初始环境需要连接到 Elasticsearch(或 Elasticsearch 服务)。如果您使用的是其他输出,例如 Logstash,请参阅
- 手动加载索引模板
- 加载 Kibana 仪表板
- 加载摄取管道(仅限 x-pack)
步骤 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
命令时加载了这些仪表板。
要打开仪表板
-
启动 Kibana
- 登录 您的 Elastic Cloud 帐户。
- 导航到部署中的 Kibana 端点。
将浏览器指向 https://127.0.0.1:5601,将
localhost
替换为 Kibana 主机名。 -
在侧边导航中,单击 发现。要查看 Winlogbeat 数据,请确保选择了预定义的
winlogbeat-*
索引模式。如果您没有在 Kibana 中看到数据,请尝试将时间过滤器更改为更大的范围。默认情况下,Kibana 显示最近 15 分钟的数据。
- 在侧边导航中,单击 仪表板,然后选择您要打开的仪表板。
仪表板作为示例提供。我们建议您 自定义 它们以满足您的需求。
使用本地非管理员帐户运行 Winlogbeat编辑
默认情况下,Winlogbeat
服务以 本地系统
帐户运行。如果您想以不是管理员的本地用户帐户运行 Winlogbeat
服务,请按照以下步骤操作。本地用户帐户必须在安全策略中授予 以服务身份登录
,并且必须成为 Builtin\Event Log Readers
组的成员才能读取事件日志。
-
使用以下命令打开服务管理控制台
PS C:\Program Files\Winlogbeat> services.msc
- 右键单击名为
winlogbeat
的服务,然后选择属性
- 在
登录
选项卡下,选择此帐户:
并浏览到您要以其身份运行 Winlogbeat 服务的本地帐户用户。 - 输入本地用户帐户的密码,然后单击
应用
。 - 在 Windows 搜索中搜索并打开
本地组策略编辑器
或从 Powershell 运行gpedit.msc
。 - 导航到路径:
计算机配置 → 安全设置 → 本地策略
,并在其中打开用户权限分配
。 - 在
用户权限分配
中,将您的本地用户帐户添加到名为以服务身份登录
的策略中。这应该允许您的本地用户帐户以服务身份登录。 - 通过在 Powershell 中运行
lusrmgr.msc
来打开本地用户和组管理器
。 - 在
用户
下,右键单击您的本地帐户用户,然后打开属性
。 - 选择
成员
选项卡,然后单击添加...
- 找到并选择名为
事件日志读取器
的组,然后单击应用
。这应该允许您的本地帐户用户读取事件日志。
下一步编辑
现在您已将日志流式传输到 Elasticsearch,了解如何统一您的日志、指标、正常运行时间和应用程序性能数据。
-
通过安装和配置其他 Elastic Beats 从其他来源提取数据
Elastic Beats 捕获 基础设施指标
日志
正常运行时间信息
应用程序性能指标
审计事件
-
使用 Kibana 中的可观察性应用程序搜索所有数据
Elastic 应用程序 用于 探索整个生态系统中有关系统和服务的指标
实时跟踪相关日志数据
监控应用程序和服务中的可用性问题
监控应用程序性能
分析安全事件