你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
从 Splunk 迁移到 Azure Monitor 日志
Azure Monitor 日志是基于云的托管监视和可观测性服务,在成本管理、可伸缩性、灵活性、集成和低维护开销方面具有许多优势。 该服务旨在处理大量数据并轻松缩放,以满足各种规模的组织的需求。
Azure Monitor 日志从各种源(包括 Windows 事件日志、Syslog 和自定义日志)收集数据,以提供所有 Azure 和非 Azure 资源的统一视图。 使用精细的查询语言和特选可视化效果,可以快速分析数百万条记录,以识别、理解和响应监视数据中的关键模式。
本文介绍如何将 Splunk 可观测性部署迁移到 Azure Monitor 日志,以便进行日志记录和日志数据分析。
有关将安全信息和事件管理 (SIEM) 部署从 Splunk Enterprise Security 迁移到 Azure Sentinel 的信息,请参阅计划到 Microsoft Sentinel 的迁移。
为何要迁移到 Azure Monitor?
迁移到 Azure Monitor 的好处包括:
- 完全托管的服务型软件 (SaaS) 平台,支持:
- 自动升级和缩放。
- 简单的每 GB 即用即付定价。
- 成本优化和监视功能以及低成本的基本和辅助表计划。
- 云原生监视和可观测性,包括:
- 与一系列补充 Azure 服务的本机集成,例如用于安全信息和事件管理的 Microsoft Sentinel、用于自动化的 Azure 逻辑应用、用于仪表板的 Azure 托管 Grafana 以及用于高级分析和响应功能的 Azure 机器学习。
比较产品/服务
Splunk 产品/服务 | 产品 | Azure 产品/服务 |
---|---|---|
Splunk 平台 |
|
Azure Monitor 日志是一个集中式软件即服务 (SaaS) 平台,用于收集、分析和处理 Azure 与非 Azure 资源及应用程序生成的遥测数据。 |
Splunk 可观测性 |
|
Azure Monitor 是一个端到端解决方案,用于从云、多云和本地环境中收集、分析和处理遥测,这些环境基于与 Microsoft Sentinel 共享的强大数据引入管道构建。 Azure Monitor 为企业提供一个全面的解决方案,用于监视云、混合和本地环境,具有网络隔离、复原功能和防范数据中心故障、报告以及警报和响应功能。 Azure Monitor 的内置功能包括:
|
Splunk 安全性 |
|
Microsoft Sentinel 是一种云原生解决方案,通过 Azure Monitor 平台运行,在整个企业中提供智能安全分析和威胁情报。 |
关键概念简介
Azure Monitor 日志 | 类似的 Splunk 概念 | 说明 |
---|---|---|
Log Analytics 工作区 | 命名空间 | Log Analytics 工作区是一个环境,可在其中从所有 Azure 和非 Azure 监视资源收集日志数据。 工作区中的数据可用于查询和分析、Azure Monitor 功能和其他 Azure 服务。 与 Splunk 命名空间类似,可以在 Log Analytics 工作区中管理对数据和项目(如警报和工作簿)的访问。 根据需求设计 Log Analytics 工作区体系结构 - 例如,拆分计费、区域数据存储要求和复原能力注意事项。 |
表管理 | 索引 | Azure Monitor 日志将日志数据引入托管 Azure 数据资源管理器数据库的表中。 在引入期间,服务会自动为数据编制索引和添加时间戳,这意味着可以使用 Kusto 查询语言 (KQL) 查询来存储各种类型的数据并快速访问数据。 使用表属性可管理表架构、数据保留,以及存储数据是为了用于偶尔进行审核和故障排除,还是为了供相关功能和服务进行持续分析和使用。 有关 Splunk 和 Azure 数据资源管理器数据处理和查询概念的比较,请参阅 Splunk 到 Kusto 查询语言的映射。 |
分析、基本和辅助表计划 | Azure Monitor 日志提供三个表计划,可让你降低日志引入和保留成本,并根据需要利用 Azure Monitor 的高级功能和分析功能。 “分析”计划使日志数据可供交互式查询使用,以及供功能和服务使用。 使用“基本”计划能够以更低的成本引入和保留日志进行故障排除和事件响应。 使用“辅助”计划能够以较低的成本引入和保留日志中的低接触数据(例如详细日志),以及用于审核与法规遵从的数据。 |
|
长期保留 | 数据存储桶状态(热、暖、冷、解冻)、存档、动态数据活动存档 (DDAA) | 经济高效的长期保留选项将日志保存在 Log Analytics 工作区中,在需要时你可以立即访问这些数据。 保留配置更改会立即生效,因为数据不会以物理方式传输到外部存储。 可以还原长期保留的数据或运行搜索作业,使特定时间范围内的数据可用于实时分析。 |
访问控制 | 基于角色的用户访问、权限 | 使用 Azure 基于角色的访问控制 (RBAC) 定义哪些人员和资源可以读取、写入特定资源并对其执行操作。 有权访问资源的用户有权访问资源的日志。 Azure 通过内置角色、自定义角色、角色权限继承以及审核历史记录等功能辅助实现数据安全和访问管理。 还可以配置工作区级访问和表级访问,以便对特定数据类型进行精细访问控制。 |
数据转换 | 转换、字段提取 | 通过转换,可在传入数据发送到 Log Analytics 工作区之前对其进行筛选或修改。 使用转换删除敏感数据、扩充 Log Analytics 工作区中的数据、执行计算并筛除不需要的数据,以降低数据成本。 |
数据收集规则 | 数据输入、数据管道 | 定义要收集的数据、转换数据的方式以及要将数据发送到的位置。 |
Kusto 查询语言 (KQL) | Splunk 搜索处理语言 (SPL) | Azure Monitor 日志使用 KQL 的大型子集,KQL 适用于简单的日志查询,但也包括高级功能,例如聚合、联接、智能分析。 使用 Splunk 到 Kusto 查询语言的映射将 Splunk SPL 知识转换为 KQL。 还可以通过教程和 KQL 培训模块来了解 KQL。 |
Log Analytics | Splunk Web、搜索应用、透视工具 | Azure 门户中的一个工具,用于在 Azure Monitor 日志中编辑和运行日志查询。 Log Analytics 还提供了一组丰富的工具,用于在不使用 KQL 的情况下浏览和直观呈现数据。 |
成本优化 | Azure Monitor 提供了可帮助你根据需要了解、监视和优化成本的工具和最佳做法。 |
1. 了解当前使用情况
Splunk 中的当前使用情况可帮助确定要在 Azure Monitor 中选择的定价层,并估算将来的成本:
- 按照 Splunk 指南查看使用情况报告。
- 使用定价计算器的 Azure Monitor 成本估算。
2. 设置 Log Analytics 工作区
可以在 Log Analytics 工作区中从所有受监视资源收集日志数据。 可以将数据保留在 Log Analytics 工作区中长达七年。 借助工作区中的低成本数据存档,在需要时你可以快速轻松地访问长期保留的数据,而不会产生外部数据存储的管理开销。
建议在单个 Log Analytics 工作区中收集所有日志数据,以便于管理。 如果考虑使用多个工作区,请参阅设计 Log Analytics 工作区体系结构。
设置 Log Analytics 工作区以进行数据收集:
-
Azure Monitor 日志根据你使用的 Azure 服务和为 Azure 资源定义的数据收集设置自动在工作区中创建 Azure 表。
配置 Log Analytics 工作区,包括:
使用表级别配置设置,可以:
-
默认的日志数据计划是 Analytics,可用于利用 Azure Monitor 丰富的监视和分析功能。
为特定表设置数据保留和存档策略(如果需要这些策略不同于工作区级别的数据保留和存档策略)。
根据数据模型修改表架构。
-
3. 将 Splunk 项目迁移到 Azure Monitor
要迁移大多数 Splunk 项目,需要将 Splunk 处理语言 (SPL) 翻译为 Kusto 查询语言 (KQL)。 有关详细信息,请参阅 Splunk 到 Kusto 查询语言的映射和 Azure Monitor 中的日志查询入门。
下表列出了 Splunk 项目以及指向在 Azure Monitor 中设置等效项目的指南的链接:
Splunk 项目 | Azure Monitor 项目 |
---|---|
警报 | 警报规则 |
警报操作 | 操作组 |
基础结构 监视 | Azure Monitor 见解是一组随时可用的特选监视体验,具有预配置的数据输入、搜索、警报和可视化效果,可帮助你快速有效地开始分析数据。 |
仪表板 | 工作簿 |
查找 | Azure Monitor 提供了各种方法来扩充数据,包括: - 数据收集规则,用于将多个源中的数据发送到 Log Analytics 工作区,并在引入数据之前执行计算和转换。 - KQL 运算符,例如用于合并来自不同表中数据的联接运算符和从外部存储返回数据的 externaldata 运算符。 - 与 Azure 机器学习或 Azure 事件中心等服务集成,以应用高级机器学习并在其他数据中流式传输。 |
命名空间 | 可以根据在 Log Analytics 工作区或 Azure 资源组上定义的访问控制,向 Azure Monitor 中的项目授予或限制权限。 |
权限 | 访问管理 |
报表 | Azure Monitor 提供了一系列用于分析、可视化和共享数据的选项,包括: - 与 Grafana 集成 - 见解 - 工作簿 - 仪表板 - 与 Power BI 集成 - 与 Excel 集成 |
搜索 | 查询 |
源类型 | 在 Log Analytics 工作区中定义数据模型。 使用引入时转换筛选、格式化或修改传入数据。 |
数据收集方法 | 请参阅收集数据,了解专为特定资源设计的 Azure Monitor 工具。 |
有关迁移 Splunk SIEM 项目(包括检测规则和 SOAR 自动化)的信息,请参阅计划迁移到 Microsoft Sentinel。
4. 收集数据
Azure Monitor 提供了相关工具,用于从环境中 Azure 和非 Azure 资源的日志数据源收集数据。
从资源收集数据:
- 根据下表设置相关数据收集工具。
- 确定需要从资源收集哪些数据。
- 使用转换删除敏感数据、扩充数据或执行计算,并筛除不需要的数据,以降低成本。
下表列出了 Azure Monitor 提供的用于从各种资源类型收集数据的工具。
资源类型 | 数据收集工具 | 类似的 Splunk 工具 | 收集的数据 |
---|---|---|---|
Azure | 诊断设置 | Azure 租户 - Microsoft Entra 审核日志提供登录活动历史记录和在租户中所做更改的审核日志。 Azure 资源 - 日志和性能计数器。 Azure 订阅 - 服务运行状况记录,以及对 Azure 订阅中的资源所做的配置更改的记录。 |
|
应用程序 | Application insights | Splunk 应用程序性能监视 | 应用程序性能监视数据。 |
容器 | 容器见解 | 容器监视 | 容器性能数据。 |
操作系统 | Azure Monitor 代理 | 通用转发器、重转发器 | 监视 Azure 虚拟机和非 Azure 虚拟机的来宾操作系统中的数据。 |
非 Azure 源 | 日志引入 API | HTTP 事件收集器 (HEC) | 基于文件的日志以及发送到受监视资源上的数据收集终结点的任何数据。 |
5. 转换到 Azure Monitor 日志
一种常见方法是逐步转换到 Azure Monitor 日志,同时在 Splunk 中维护历史数据。 在此期间,可以:
- 使用日志引入 API 从 Splunk 引入数据。
- 使用 Log Analytics 工作区数据导出将数据导出到 Azure Monitor。
从 Splunk 导出历史数据:
- 使用一种 Splunk 导出方法以 CSV 格式导出数据。
- 收集导出的数据:
使用 Azure Monitor 代理收集从 Splunk 导出的数据,如使用 Azure Monitor 代理收集文本日志中所述。
或
使用日志引入 API 直接收集导出的数据,如使用 REST API 将数据发送到 Azure Monitor 日志中所述。