Splunk – 快速指南

Splunk – 快速指南


Splunk – 概述

Splunk 是一种处理机器数据和其他形式的大数据并从中获得洞察力的软件。该机器数据由运行网络服务器的 CPU、IOT 设备、来自移动应用程序的日志等生成。这些数据没有必要提供给最终用户,也没有任何商业意义。但是,它们对于了解、监控和优化机器性能极为重要。

Splunk 可以读取这种非结构化、半结构化或很少结构化的数据。读取数据后,它允许对这些数据进行搜索、标记、创建报告和仪表板。随着大数据的出现,Splunk 现在能够从各种来源摄取大数据,这些数据可能是也可能不是机器数据,并对大数据进行分析。

所以,从一个简单的日志分析工具,Splunk已经走过了漫长的道路,成为非结构化机器数据和各种形式大数据的通用分析工具。

产品类别

Splunk 提供以下三种不同的产品类别 –

  • Splunk Enterprise – 由拥有大型 IT 基础设施和 IT 驱动业务的公司使用。它有助于收集和分析来自网站、应用程序、设备和传感器等的数据。

  • Splunk Cloud – 它是与企业版具有相同功能的云托管平台。它可以从 Splunk 本身或通过 AWS 云平台使用。

  • Splunk Light – 它允许从一个地方实时搜索、报告和警报所有日志数据。与其他两个版本相比,它的功能和特性有限。

Splunk 功能

在本节中,我们将讨论企业版的重要功能 –

数据摄取

Splunk 可以摄取各种数据格式,如 JSON、XML 和非结构化机器数据,如 Web 和应用程序日志。非结构化数据可以根据用户的需要建模为数据结构。

数据索引

摄取的数据由 Splunk 编制索引,以便在不同条件下进行更快的搜索和查询。

数据搜索

在 Splunk 中搜索涉及使用索引数据来创建指标、预测未来趋势和识别数据模式。

使用警报

当在所分析的数据中发现某些特定标准时,Splunk 警报可用于触发电子邮件或 RSS 提要。

仪表盘

Splunk Dashboards 可以以图表、报告和透视等形式显示搜索结果。

数据模型

索引数据可以建模为一个或多个基于专业领域知识的数据集。这使得分析业务案例的最终用户更容易导航,而无需学习 Splunk 使用的搜索处理语言的技术细节。

Splunk – 环境

在本教程中,我们的目标是安装企业版。此版本可在启用所有功能的情况下免费试用 60 天。您可以使用以下链接下载安装程序,该链接适用于 Windows 和 Linux 平台。

https://www.splunk.com/en_us/download/splunk-enterprise.html。

Linux 版本

Linux 版本是从上面给出的下载链接下载的。我们选择 .deb 包类型,因为安装将在 Ubuntu 平台上完成。

我们将逐步学习 –

步骤1

下载 .deb 包,如下面的屏幕截图所示 –

Linux安装1

第2步

转到下载目录并使用上面下载的软件包安装 Splunk。

Linux安装2

第 3 步

接下来,您可以使用以下带有接受许可证参数的命令来启动 Splunk。它会询问您应该提供并记住的管理员用户名和密码。

Linux安装3

第四步

Splunk 服务器启动并提及可以访问 Splunk 界面的 URL。

Linux安装4

第 5 步

现在,您可以访问 Splunk URL 并输入在步骤 3 中创建的管理员用户 ID 和密码。

Linux安装5

视窗版本

Windows 版本可用作 msi 安装程序,如下图所示 –

安装1

双击 msi 安装程序可直接安装 Windows 版本。我们必须做出正确选择才能成功安装的两个重要步骤如下。

步骤1

当我们在本地系统上安装它时,选择本地系统选项,如下所示 –

安装2

第2步

输入管理员密码并记住它,因为它将在以后的配置中使用。

安装3

第 3 步

在最后一步中,我们看到 Splunk 已成功安装并且可以从 Web 浏览器启动。

安装4

第四步

接下来,打开浏览器并输入给定的 URL,http://localhost:8000,然后使用管理员用户 ID 和密码登录 Splunk。

安装5

Splunk – 接口

Splunk Web 界面包含搜索、报告和分析摄取的数据所需的所有工具。相同的 Web 界面提供用于管理用户及其角色的功能。它还提供数据摄取链接和 Splunk 中可用的内置应用程序。

下图显示了您使用管理员凭据登录 Splunk 后的初始屏幕。

接口1

管理员链接

管理员下拉菜单提供了设置和编辑管理员详细信息的选项。我们可以使用以下屏幕重置管理员电子邮件 ID 和密码 –

接口2

进一步从管理员链接,我们还可以导航到首选项选项,我们可以在其中设置登录页面将在其上打开的时区和主页应用程序。目前,它在主页上打开,如下所示 –

接口3

设置链接

这是一个链接,显示了 Splunk 中可用的所有核心功能。例如,您可以通过选择查找链接来添加查找文件和查找定义。

我们将在后续章节中讨论这些链接的重要设置。

接口4

搜索和报告链接

搜索和报告链接将我们带到可以找到可用于搜索为这些搜索创建的报告和警报的数据集的功能。它清楚地显示在下面的屏幕截图中 –

接口5

Splunk – 数据摄取

Splunk 中的数据摄取通过作为搜索和报告应用程序一部分添加数据功能发生登录后,Splunk 界面主屏幕显示添加数据图标,如下所示。

摄取 1

单击此按钮后,我们会看到一个屏幕,用于选择我们计划推送到 Splunk 进行分析的数据的来源和格式。

收集数据

我们可以从Splunk官网获取数据进行分析。保存此文件并将其解压缩到您的本地驱动器中。打开文件夹后,您可以找到三个具有不同格式的文件。它们是某些 Web 应用程序生成的日志数据。我们还可以收集 Splunk 提供的另一组数据,可从 Splunk 官方网页获取。

我们将使用这两组数据来了解 Splunk 各种功能的工作情况。

上传数据

接下来,我们从文件夹mailsv 中选择文件secure.log如上一段所述,我们已将其保存在本地系统中。选择文件后,我们使用右上角的绿色下一步按钮进入下一步。

摄取 2

选择来源类型

Splunk 有一个内置功能来检测正在摄取的数据的类型。它还为用户提供了一个选项来选择与 Splunk 选择的数据类型不同的数据类型。单击源类型下拉菜单,我们可以看到 Splunk 可以摄取并启用搜索的各种数据类型。

在下面给出的当前示例中,我们选择默认源类型。

摄取 3

输入设置

在数据摄取的这一步中,我们配置从中摄取数据的主机名。以下是主机名可供选择的选项 –

常数值

它是源数据所在的完整主机名。

路径上的正则表达式

当您想使用正则表达式提取主机名时。然后在正则表达式字段中输入要提取的主机的正则表达式。

路径中的段

如果要从数据源路径中的段中提取主机名,请在段号字段中输入段号。例如,如果源路径是 /var/log/ 并且您希望第三段(主机服务器名称)作为主机值,请输入“3”。

接下来,我们选择要在输入数据上创建的索引类型以进行搜索。我们选择默认的索引策略。汇总索引仅通过聚合创建数据汇总并在其上创建索引,而历史索引用于存储搜索历史。下图清楚地描绘了它 –

摄取 4

查看设置

单击下一步按钮后,我们会看到我们选择的设置的摘要。我们查看它并选择 Next 完成数据的上传。

摄取 5

完成加载后,将出现以下屏幕,显示成功的数据摄取以及我们可以对数据采取的进一步可能的操作。

摄取6

Splunk – 源类型

所有传入 Splunk 的数据首先由其内置的数据处理单元进行判断,并分类为某些数据类型和类别。例如,如果它是来自 apache 网络服务器的日志,Splunk 能够识别并从读取的数据中创建适当的字段。

Splunk 中的此功能称为源类型检测,它使用称为“预训练”源类型的内置源类型来实现此目的。

这使得分析更容易,因为用户不必手动对数据进行分类并将任何数据类型分配给传入数据的字段。

支持的源类型

通过添加数据功能上传文件,然后选择源类型下拉菜单,可以查看 Splunk 中支持的源类型在下图中,我们上传了一个 CSV 文件,然后检查了所有可用选项。

来源类型1

来源类型子类别

即使在这些类别中,我们还可以进一步单击以查看支持的所有子类别。因此,当您选择数据库类别时,您可以找到 Splunk 可以识别的不同类型的数据库及其支持的文件。

来源类型2

预训练的源类型

下表列出了 Splunk 识别的一些重要的预训练源类型 –

Source Type Name 自然
access_combined NCSA 组合格式 http web 服务器日志(可以由 apache 或其他 web 服务器生成)
access_combined_wcookie NCSA 组合格式 http web 服务器日志(可以由 apache 或其他 web 服务器生成),末尾添加 cookie 字段
apache_error 标准 Apache Web 服务器错误日志
linux_messages_syslog 标准 linux syslog(大多数平台上的 /var/log/messages)
log4j 任何使用 log4j 的 J2EE 服务器生成的 Log4j 标准输出
mysqld_error 标准的mysql错误日志

Splunk – 基本搜索

Splunk 具有强大的搜索功能,使您能够搜索摄取的整个数据集。此功能可通过名为Search & Reporting的应用程序访问,该应用程序可在登录 Web 界面后在左侧栏中看到。

基本搜索1

单击搜索和报告应用程序后,我们会看到一个搜索框,我们可以在其中开始搜索我们在上一章中上传的日志数据。

我们以如下所示的格式键入主机名,然后单击最右上角的搜索图标。这为我们提供了突出显示搜索词的结果。

基本搜索2

组合搜索词

我们可以将用于搜索的术语一个接一个地组合起来,但将用户搜索字符串放在双引号下。

基本搜索3

使用通配符

我们可以在搜索选项中使用通配符与AND/OR运算符结合使用在下面的搜索中,我们得到的结果是日志文件包含失败、失败、失败等术语,以及同一行中的密码术语。

基本搜索4

细化搜索结果

我们可以通过选择一个字符串并将其添加到搜索中来进一步细化搜索结果。在下面的示例中,我们单击字符串3351并选择选项Add to Search

3351添加到搜索词后,我们得到以下结果,其中仅显示日志中包含 3351 的那些行。还要标记搜索结果的时间线随着我们优化搜索而发生的变化。

基本搜索

Splunk – 字段搜索

当 Splunk 读取上传的机器数据时,它会解释数据并将其划分为多个字段,这些字段代表有关整个数据记录的单个逻辑事实。

例如,单个信息记录可能包含服务器名称、事件的时间戳、记录的事件类型是登录尝试还是 http 响应等。即使是非结构化数据,Splunk 也会尝试将字段划分为键值配对或根据它们拥有的数据类型将它们分开,数字和字符串等。

继续上一章上传的数据,我们可以通过单击显示字段链接来查看secure.log文件中的字段,这将打开以下屏幕。我们可以注意到 Splunk 从此日志文件生成的字段。

字段搜索

选择字段

我们可以通过从所有字段列表中选择或取消选择字段来选择要显示的字段。单击所有字段会打开一个窗口,显示所有字段的列表。其中一些字段带有复选标记,表明它们已被选中。我们可以使用复选框来选择要显示的字段。

除了字段名称之外,它还显示字段具有的不同值的数量、其数据类型以及该字段出现的事件百分比。

字段搜索

现场总结

通过单击字段名称,可以获得每个选定字段的非常详细的统计信息。它显示该字段的所有不同值、它们的计数和它们的百分比。

字段搜索

在搜索中使用字段

字段名称也可以与搜索的特定值一起插入搜索框中。在下面的示例中,我们的目标是查找名为mailsecure_log的主机的 10 月 15 日日期的所有记录我们得到这个特定日期的结果。

字段搜索

Splunk – 时间范围搜索

Splunk Web 界面显示时间线,表明事件在一段时间内的分布。有预设的时间间隔,您可以从中选择特定的时间范围,也可以根据需要自定义时间范围。

下面的屏幕显示了各种预设时间线选项。选择这些选项中的任何一个都将仅获取该特定时间段的数据,您也可以使用可用的自定义时间线选项进一步分析这些数据。

时间范围搜索1

例如,选择上个月选项只会为我们提供上个月的结果,您可以在下面的时间线图的分布中看到。

时间范围搜索2

选择时间子集

通过在时间轴中的条上单击并拖动,我们可以选择已经存在的结果子集。这不会导致重新执行查询。它只从现有结果集中过滤掉记录。

下图显示了从结果集中选择的一个子集 –

时间范围搜索3

最早和最新

搜索栏中可以使用最早和最晚这两个命令来指示过滤结果的时间范围。它类似于选择时间子集,但它是通过命令而不是单击特定时间线栏的选项。因此,它可以更好地控制您可以选择用于分析的数据范围。

时间范围搜索4

在上图中,我们给出了过去 7 天到过去 15 天之间的时间范围。因此,显示这两天之间的数据。

附近活动

我们还可以通过提及我们希望过滤掉事件的接近程度来查找特定时间的附近事件。我们可以选择间隔的比例,例如 – 秒、分钟、天和周等。

Splunk – 共享导出

当您运行搜索查询时,结果将作为作业存储在 Splunk 服务器中。虽然此作业是由一个特定用户创建的,但它可以与其他用户共享,以便他们可以开始使用此结果集,而无需再次为其构建查询。结果也可以导出并保存为可以与不使用 Splunk 的用户共享的文件。

分享搜索结果

一旦查询成功运行,我们可以在网页的中间右侧看到一个向上的小箭头。单击此图标可提供可访问查询和结果的 URL。需要向将使用此链接的用户授予权限。通过 Splunk 管理界面授予权限。

分享导出1

查找保存的结果

通过在 Splunk 界面右上角的活动菜单下查找作业链接,可以找到保存以供具有适当权限的所有用户使用的作业。在下图中,我们单击名为作业的突出显示链接以查找已保存的作业。

分享导出3

单击上面的链接后,我们将获得所有已保存作业的列表,如下所示。他,我们必须注意有一个过期日期帖子,保存的作业将自动从 Splunk 中删除。您可以通过选择作业并单击“编辑所选”,然后选择“延长到期时间”来调整此日期。

分享导出4

导出搜索结果

我们还可以将搜索结果导出到文件中。可用于导出的三种不同格式是:CSV、XML 和 JSON。选择格式后单击导出按钮将文件从本地浏览器下载到本地系统。这在下图中进行了解释 –

共享导出2

Splunk – 搜索语言

Splunk 搜索处理语言 (SPL) 是一种包含许多命令、函数、参数等的语言,编写这些语言是为了从数据集中获得所需的结果。例如,当您获得搜索词的结果集时,您可能还想从结果集中过滤一些更具体的词。为此,您需要将一些附加命令添加到现有命令中。这是通过学习 SPL 的用法来实现的。

SPL 的组成部分

SPL 具有以下组件。

  • 搜索词– 这些是您正在寻找的关键字或短语。

  • 命令– 您要对结果集采取的操作,例如格式化结果或对其进行计数。

  • 函数– 您要对结果应用哪些计算。如总和、平均等。

  • 条款– 如何对结果集中的字段进行分组或重命名。

让我们在下一节中借助图像讨论所有组件 –

搜索词

这些是您在搜索栏中提及的术语,用于从数据集中获取符合搜索条件的特定记录。在下面的示例中,我们正在搜索包含两个突出显示的术语的记录。

Spl_1

命令

您可以使用 SPL 提供的许多内置命令来简化分析结果集中数据的过程。在下面的示例中,我们使用 head 命令仅从搜索操作中筛选出前 3 个结果。

Spl_2

职能

除了命令之外,Splunk 还提供了许多内置函数,这些函数可以从正在分析的字段中获取输入,并在对该字段应用计算后给出输出。在下面的示例中,我们使用Stats avg()函数计算作为输入的数字字段的平均值。

Spl_3

条款

当我们想要获得按某个特定字段分组的结果或者我们想要重命名输出中的一个字段时,我们分别使用group by子句和 as 子句。在下面的示例中,我们获得了web_application日志中存在的每个文件的平均字节大小如您所见,结果显示了每个文件的名称以及每个文件的平均字节数。

Spl_4

觉得文章有用?

点个广告表达一下你的爱意吧 !😁