你当前正在访问 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 的好处包括:

比较产品/服务

Splunk 产品/服务 产品 Azure 产品/服务
Splunk 平台
  • Splunk 云平台
  • Splunk Enterprise
Azure Monitor 日志是一个集中式软件即服务 (SaaS) 平台,用于收集、分析和处理 Azure 与非 Azure 资源及应用程序生成的遥测数据。
Splunk 可观测性
  • Splunk Infrastructure Monitoring
  • Splunk 应用程序性能监视
  • Splunk IT 服务智能
Azure Monitor 是一个端到端解决方案,用于从云、多云和本地环境中收集、分析和处理遥测,这些环境基于与 Microsoft Sentinel 共享的强大数据引入管道构建。 Azure Monitor 为企业提供一个全面的解决方案,用于监视云、混合和本地环境,具有网络隔离复原功能和防范数据中心故障报告以及警报和响应功能。
Azure Monitor 的内置功能包括:
  • Azure Monitor 见解 - 随时可用的特选监视体验,具有预配置的数据输入、搜索、警报和可视化效果。
  • Application Insights - 为实时 Web 应用提供应用程序性能管理 (APM)。
  • Azure Monitor AIOps 和内置机器学习功能 - 提供见解,并帮助你排查问题和自动执行数据驱动的任务,例如预测容量使用情况和自动缩放、识别和分析应用程序性能问题,以及检测虚拟机、容器和其他资源中的异常行为。
这些功能不收取安装费。
Splunk 安全性
  • Splunk Enterprise Security
  • Splunk Mission Control
    Splunk SOAR
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 中选择的定价层,并估算将来的成本:

2. 设置 Log Analytics 工作区

可以在 Log Analytics 工作区中从所有受监视资源收集日志数据。 可以将数据保留在 Log Analytics 工作区中长达七年。 借助工作区中的低成本数据存档,在需要时你可以快速轻松地访问长期保留的数据,而不会产生外部数据存储的管理开销。

建议在单个 Log Analytics 工作区中收集所有日志数据,以便于管理。 如果考虑使用多个工作区,请参阅设计 Log Analytics 工作区体系结构

设置 Log Analytics 工作区以进行数据收集:

  1. 创建 Log Analytics 工作区

    Azure Monitor 日志根据你使用的 Azure 服务和为 Azure 资源定义的数据收集设置自动在工作区中创建 Azure 表。

  2. 配置 Log Analytics 工作区,包括:

    1. 定价层
    2. 根据定价层将 Log Analytics 工作区链接到专用群集,以利用高级功能(如果符合条件)。
    3. 每日上限
    4. 数据保留
    5. 网络隔离
    6. 访问控制
  3. 使用表级别配置设置,可以:

    1. 定义每个表的日志数据计划

      默认的日志数据计划是 Analytics,可用于利用 Azure Monitor 丰富的监视和分析功能。

    2. 为特定表设置数据保留和存档策略(如果需要这些策略不同于工作区级别的数据保留和存档策略)。

    3. 根据数据模型修改表架构

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 资源的日志数据源收集数据。

从资源收集数据:

  1. 根据下表设置相关数据收集工具。
  2. 确定需要从资源收集哪些数据。
  3. 使用转换删除敏感数据、扩充数据或执行计算,并筛除不需要的数据,以降低成本。

下表列出了 Azure Monitor 提供的用于从各种资源类型收集数据的工具。

资源类型 数据收集工具 类似的 Splunk 工具 收集的数据
Azure 诊断设置 Azure 租户 - Microsoft Entra 审核日志提供登录活动历史记录和在租户中所做更改的审核日志。
Azure 资源 - 日志和性能计数器。
Azure 订阅 - 服务运行状况记录,以及对 Azure 订阅中的资源所做的配置更改的记录。
应用程序 Application insights Splunk 应用程序性能监视 应用程序性能监视数据。
容器 容器见解 容器监视 容器性能数据。
操作系统 Azure Monitor 代理 通用转发器、重转发器 监视 Azure 虚拟机和非 Azure 虚拟机的来宾操作系统中的数据。
非 Azure 源 日志引入 API HTTP 事件收集器 (HEC) 基于文件的日志以及发送到受监视资源上的数据收集终结点的任何数据。

示意图显示连接到 Azure Monitor 日志的各种数据源。

5. 转换到 Azure Monitor 日志

一种常见方法是逐步转换到 Azure Monitor 日志,同时在 Splunk 中维护历史数据。 在此期间,可以:

从 Splunk 导出历史数据:

  1. 使用一种 Splunk 导出方法以 CSV 格式导出数据。
  2. 收集导出的数据:
    1. 使用 Azure Monitor 代理收集从 Splunk 导出的数据,如使用 Azure Monitor 代理收集文本日志中所述。

    2. 使用日志引入 API 直接收集导出的数据,如使用 REST API 将数据发送到 Azure Monitor 日志中所述。

示意图显示 Azure Monitor 日志中数据从 Splunk 流式传输到 Log Analytics 工作区。

后续步骤