我的编程空间,编程开发者的网络收藏夹
学习永远不晚

基于Splunk的企业大数据业务分析

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

基于Splunk的企业大数据业务分析

审校 | 梁策 孙淑娟

简介

Splunk是一个著名的日志管理工具。它能够以实时方式挖掘来自于不同机器的日志数据,从而可用于监控、搜索和分析收集的数据。换句话说,它就是一个大数据日志管理工具,可以从存储在Splunk索引中的非结构化数据中提炼出决策信息。因此,Splunk分析有助于将非结构化日志数据转化为企业可以用来获取业务价值的重要信息。此外,它还能够为做出明智的决策提供监控和分析报告,从而有助于在系统性能出现问题时发出报警以便采取纠正措施。

Splunk不仅是一款优秀的日志分析工具,也被大量用作SIEM(安全事件和信息管理)工具。因此,Splunk被置于Gartner魔力象限的领先象限位置(建议有兴趣的读者参考文章https://www.veeam.com/blog/gartner-magic-quadrant-for-it-pros.html,以进一步了解什么是Gartner魔力象限)。

本文旨在展示使用Splunk洞察IT系统的简易性。具体地说,我们将介绍如何通过Splunk来创建报告、如何创建仪表板以及如何设置警报。为了创建Splunk报告,用户需要掌握中级水平的正则表达式相关知识。总之,本文重点不在讲解理论,而是着重展示如何使用Splunk从应用程序日志文件中获取企业需要的分析结论。

示例中应用的工具和方法

数据分析可以是描述性的、诊断性的、预测性的甚至是规定性的。但无论哪种,Splunk都可以帮助企业创建报告和警报,从而获取针对这些分析类型的相关价值。此外,Splunk不仅可以从应用程序日志中收集信息,还可以连接到数据库,既可以从数据库中提取数据也可以将数据推送到数据库中。

在本文中,我们将探讨使用Splunk进行业务分析的三个方面的内容:

1. 连接应用程序日志、生成报告和创建仪表板。

2. 连接到MS SQL Server数据库,展开数据挖掘,并将挖掘结果显示在控制面板的报告中。

3. 设置报警,以便IT团队或业务部门可以接收到特定事件通知。

连接到应用程序日志、生成报告并创建仪表板

在本节中,我们将首先导入一个包含应用程序记录的日志文件。一旦该日志文件导入Splunk,我们要使用正则表达式(Regex)工具来创建报告和仪表板。在创建仪表板时,我们可以将报告创建为事件、表格、图表和单值。其中,事件是存储在日志文件中的单个事务/事件。下文将向你逐一显示单值、表格、比较、事件和图表报告等内容。需要说明一点,该日志文件数据来自一家名为“Awesome Insurance company”的虚构公司。

连接到应用程序并挖掘日志文件

第一步的任务是设置应用程序,以便挖掘日志文件。为此,需要在应用服务器上配置Splunk转发器(Splunk forwarder)并修改配置文件inputs.conf,以确保可以挖掘应用程序日志并将结果推送到Splunk索引(Splunk Index)。不过,在这个测试中,为了简化问题,我干脆使用“Data Inputs”命令导入了一个现成的日志文件(如图)。

一旦点击“Data inputs”命令,即跳转到数据输入页面,其中显示了多个选择任何本地输入的选项,如下图所示点击“Files & Directories”命令项:

在命令“Files & directories”界面中,点击命令“File or Directory”(如图)。然后选择需要挖掘的日志文件,并注意是否需要持续监控该文件或是仅仅操作一次。

单击“Next”命令之后,必要的话我们可以使用事件中断,然后指定源类型(Source Type)的名称。接下来,继续单击“Next”命令将进入索引、应用程序上下文等内容的输入设置界面。所有设置完成后,我们会获得有关当前索引的所有详细信息(见下表)。

创建Splunk报告

我们可以使用正则表达式来创建Splunk报告,也可以从存储在Splunk索引中的数据生成报告。下面表格中给出的是我们用来创建这些Splunk报告的报告名称、报告类型和脚本数据。实战中,Splunk报告可能更为复杂些,但本文旨在展示如何创建不同的报告,并在Splunk仪表板中显示它们。

创建Splunk控制面板显示报告

Splunk提供了一种在控制面板中显示这些报告的方法。在控制面板中显示报告有助于相关人员实时了解业务/应用程序的状态。业务或技术团队可以根据这些实时运营的Splunk报告做出业务决策或采取纠正措施。基于上述需求和脚本,我们可以快速构建一个仪表板。

登录到Splunk,然后点击“Dashboards”命令。在随后界面中点击按钮“Create New Dashboard”,如图所示:

如下图所示,需要在界面中提供有关当前仪表板的详细信息,然后点击“Create”按钮:

随后出现一个为“Awesome Insurance Company”的空的仪表板。请注意,界面中有不少图标命令可用于创建与发布报告:

为了创建报告,只需要单击“Add Chart”按钮并选择要生成的图表类型。在我们的例子中,我点击“Table”命令,如图所示:

随后将在仪表板上创建一个新表;在右侧,我们可以添加Splunk报告脚本。当我们添加脚本并单击“Run & Save”命令时,数据会自动填充到表格中:

下面生成的仪表板名字是“Awesome Insurance Company”,该面板将所有的报告与时间选择器数据保持一致,以便所有的报告都能得到同一时期的结果。

连接到MS SQL Server数据库、挖掘数据及在仪表板报告中显示

查看上面的报告“Application Database Data & Reconciliation”,它不仅显示了来自应用程序日志的数据,还显示了来自数据库的数据。尽管从数据库中挖掘数据有助于全面了解系统,但是从数据库中挖掘数据需要额外的步骤。这是通过使用“Splunk DB Connect”提取数据库数据并将其合并到主索引中来实现的。本文不想给出如何正确配置Splunk数据库连接(DB Connect)的有关细节,而仅立足于如何实现这一操作的高级步骤讲解。

应用程序数据库

假设我们有一个叫做“Awesome Insurance Core System”的应用程序,它有一个名为“Awesome”的数据库。其中有四个表,分别包含投保人、保单、索赔和账单信息。这里的目的不是展示如何正确设置SQL Server数据库或创建表,而是为了让读者了解如何提取驻留在SQL Server中的表数据。

接下来,让我们创建几个SQL Server表并插入一些记录来模拟策略和索赔事务:

使用Splunk挖掘数据

在上面表格填充完模拟数据后,接下来我们需要设置Splunk,以便让它能够挖掘数据库。

首先,需要安装“Splunk DB Connect”。该Splunk数据库连接将帮助我们连接到数据库并获取或拉取数据。首先,需要下载这个连接器的最新版本或与Splunk版本兼容的版本。安装过程非常简单,本文亦不想就此连接器的安装步骤过多展开。

按照安装说明安装了Splunk数据库连接(DB Connect)后,该连接即显示在Splunk应用程序中,如下图所示:

然后,点击图中的命令“Splunk DB Connect”就会打开“Splunk DB Connect”应用程序。然后,需要下面一些操作:切换到配置(“Configuration”)选项卡以便添加标识信息。其实,此处的标识信息也就是定义了一个要连接到数据库的用户。

接下来,需要安装适当的SQL Server驱动程序,以便Splunk可以与MS SQL数据库进行通信。在当前测试中,我安装的是JTDS驱动程序。

创建标识信息后,单击“Connections”选项卡并提供有关连接配置信息。用户需要选择使用哪个用户创建连接、使用哪个驱动程序、数据库所在的主机、数据库使用的端口号以及数据库名称等等。如果有必要,我们也可以提供特定的许可信息。最后,单击“Save”按钮就会创建一个新连接。

完成以上三个步骤后,我们就可以与数据库建立连接,并从底部表中获取记录。点击按钮“Data Lab”,你会看到四部分内容——输入区、输出区、查找区和SQL脚本管理区。因为在当前测试中,我们希望从MS SQL Server数据库中获取数据到Splunk中,所以我们将创建输入区。如下图所示,点击按钮“New Input”:

在这一操作环节,你可以设置输入内容,如使用哪个连接、指定连接哪个目录/数据库和模式,还可以选择下面已提供数据的表格。单击表后,SQL编辑器将生成一个Select*查询。当然,我们可以根据自己的要求修改这个语句。但是,由于我们希望在接收数据时更新此表,因此必须选择表格中的一列,以便于我们的输入跟踪。这一点可以通过在右侧窗格中设置值来实现。我们可以在输入类型部分选择“Rising”。本例中,这个“Rising”列将是“TransactionID”,因为它是唯一的列,并且始终递增1。我们可以在“checkpoint value”项的下面设置一个我们希望输入跟踪的值。我们还可以设置查询超时,以便系统可以在达到x秒时取消查询操作。

SELECT * FROM AWESOME.DBO.CLAIM WHERE TRANSACTIONID >? ORDER BY TRANSACTIONID ASC

接下来,单击“Next”按钮将出现属性设置(“Set Properties”)界面。在此,有些信息是可选的,但我们需要提供名称、执行频率、源类型和索引等信息。在这里,我们指示Splunk将上面特定输入所挖掘的全部数据存储到这个指定索引中。

一旦用户操作到“Finish”这一步,屏幕上将显示一个输入完成的提示界面。

与第一个表的输入创建一样,我们也可以为所有其他3个表设置输入选项。数据现在将开始流入指定的索引(在我们的例子中是“awesome_Index”)中。

既然应用程序日志数据已经存在于索引中,而且也从数据库接收到了数据,所以我们现在可以运行“Application Database Data & Reconciliation”程序的Splunk脚本了。程序运行中,我们注意到源类型可以是上面不同的5种,输入部分既可以是数据库表也可以是日志文件。

设置报警以便触发特定事件时通知IT团队或业务部门

与上面报告创建类似,如果发生关键事件,我们可以设置报警。例如,我们可以为业务内容安排报警,如果有超过x金额的索赔获得批准,就发出报警信息提醒业务部门;或者为技术任务安排报警,例如在系统出现内存不足、服务不可用、连接超时或者登录失败(如果短时间内出现多次登录操作)等错误时提示技术部门。以下部分将展示如何在Splunk中设置报警功能。

运行要搜索的脚本

在本例中,我们试图查看所有获批索赔超过50000美元的信息。一旦生成结果集,我们就可以通过命令“Save As Alert”设置报警。

设置报警

一旦点击命令按钮“Save As Alert”,系统将会创建一个待填写的表格,以便安排报警。我们可以给出一个名字,然后根据计时器系统的设置规划报警时间。此外,我们还可以设置触发条件。

创建触发器动作

在我们设置了上述强制参数之后,我们可以配置触发器操作。在本文展示的测试中,我们将添加触发器(“Add Actions”)操作,比如发送电子邮件(“Send email”)。操作中,我们可以提供电子邮件ID、邮件正文。此外,如果需要的话,还可以添加内联表格支持。这样的设置将提供一个HTML格式的电子邮件正文,且包含来自上述查询结果集的内联表。

总结

Splunk提供了一个支持大数据的日志分析解决方案。具体一点说,Splunk能够以运营智能帮助企业及其相关人员实时查看系统的状态。本文仅仅介绍了一些基本的报告,而实战中的Splunk报告可能非常复杂,也进而能创造更多的业务价值。此外,Splunk还可以连接到数据库,从而创建基于结构化数据库的报告。而且,Splunk可以将日志数据推送到外部数据库,或将外部数据库中的数据复制到Splunk索引。一旦确定数据所在位置,创建报告就非常容易,并且能够提供应用程序事务的整体视图。

此外,Splunk还是一个很好的报警工具,可以在问题出现之前提醒业务或IT团队将之解决。Splunk除了为IT团队提供日志分析解决方案外,还可极好地用于安全管理和DevOps等方面。此外,Splunk还提供了连接其他应用程序的连接器组件以方便使用。总之,通过使用Splunk,企业可以从应用程序日志和应用程序数据库中采集业务数据并进行技术分析,而这将会给他们带来极大的益处。

译者介绍

朱先忠,51CTO社区编辑,51CTO专家博客、讲师,潍坊一所高校计算机教师,自由编程界老兵一枚。早期专注各种微软技术(编著成ASP.NET AJX、Cocos 2d-X相关三本技术图书),近十多年投身于开源世界(熟悉流行全栈Web开发技术),了解基于OneNet/AliOS+Arduino/ESP32/树莓派等物联网开发技术与Scala+Hadoop+Spark+Flink等大数据开发技术。

原文Business Analytics from Application Logs and Database using Splunk,作者:Roopesh Uniyal


免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

基于Splunk的企业大数据业务分析

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

基于Splunk的企业大数据业务分析

Splunk是一个著名的日志管理工具。它能够以实时方式挖掘来自于不同机器的日志数据,从而可用于监控、搜索和分析收集的数据。换句话说,它就是一个大数据日志管理工具,可以从存储在Splunk索引中的非结构化数据中提炼出决策信息。因此,Splun

大数据分析如何帮助企业发展业务

大数据分析将在这里发挥重要作用。这个术语描述了企业处理业务中的大量数据。企业可以对大量数据进行分析,以获取有助于制定更好决策和业务举措的见解。
大数据2024-12-03

促进企业业务繁荣发展的十大数据分析趋势

企业领导者需要了解数据分析的行业趋势,以预测客户需求、提供个性化服务,以及实现业务目标。

数据分析带给企业的九个重大作用

如今数据对企业用户来说是至关重要的,这将标志客户向数据化管理的转变过程,也标志着一个大数据新时代的到来。数据化时代就是数据产生价值的时代,数据化是当今时代发展的大趋势,代表着我们先进生产力。

Java EJB与大数据分析,解锁企业数据价值

Java EJB 作为一种强大的企业级开发框架,与大数据分析相结合,可为企业解锁数据价值,推动业务发展。本文将探讨 EJB 与大数据分析的集成,并提供实用示例来展示其如何促进数据驱动的决策。
Java EJB与大数据分析,解锁企业数据价值
2024-02-20

“大数据”行业风口来临,源于数据分析,终于产业效能提升

从2018年全球大数据储量分布状况分析,我国成为大数据存储量最高的国家,占据全球大数据储量的23%,美国大数据存储量位居全球第二,占比全球大数据储量的20.4%。

企业该如何搭建大数据分析平台

本篇文章为大家展示了企业该如何搭建大数据分析平台,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。  在如今这个高速发展的信息化时代,一切都在转化为数据,一切都在被数据所衡量,可以采用一些BI工具来搭建
2023-06-02

企业数字化转型,关于数据应用的三点分析

随着数字技术的飞速发展,数据的种类和规模正在高速增长,大数据时代来临了。数据已从简单的需要处理的对象,变成一种十分重要的资源了。

企业考虑的大数据问题解析

许多用于构建大数据系统的流行工具价格低廉或可以免费使用,并且它们可以更容易地利用独特的价值流。其建设路径为大规模和多样化提供了机会,但这些工具可能非常复杂。互操作性往往是管理员面临的最大问题之一。编程学习网教育
企业考虑的大数据问题解析
2024-04-23

大数据对企业业务及未来的影响

大数据应用为企业进行市场研究、原型开发、产品开发和演变、用户获取以及营销工具铺平了道路。因此,大多数企业都希望以更新、更具创新性的形式使用“大数据”技术。

各行业领域的企业如何使用数据分析

各行业领域如今都在对数据分析进行投资。医疗保健、IT和金融领域的企业是数据分析技术的最主要投资者之一,许多其他行业也在投资数据分析技术。
数据分析2024-12-14

企业如何在疫情环境中使用大数据分析来协调业务?

当冠状病毒疫情在2020年初在全球爆发时,许多企业和政府部门发现处于一个前所未有的危机中,他们努力在适应和调整。

Atlas如何帮助企业管理和分析大数据

Atlas是一款强大的数据管理和分析工具,可以帮助企业有效地管理和分析大数据。以下是Atlas如何帮助企业管理和分析大数据的一些方式:数据集成和管理:Atlas可以帮助企业集成和管理来自不同数据源的大数据,包括结构化和非结构化数据。企业可以
Atlas如何帮助企业管理和分析大数据
2024-03-07

企业在2021年将面临的5大数据分析挑战

事实证明,将数据集成到战略中是各种规模企业的差异化因素。俗称“数据驱动”不仅仅指价值十亿美元的科技公司。

数据分析对于准备应对财务困境的企业至关重要

数据分析已经成为现代企业运营战略的一个非常重要的方面,而利用大数据的最重要方法之一是财务管理。

强大的数据平台可加速企业业务决策

为一站式解决各种数据挑战,企业必须采取统一的企业数据战略来管理数据。企业数据战略应兼具相关性和实用性,并且可以应用于整个企业,不受地点和业务部门的限制。

农业银行基于FS-LDM模型构建企业级数据模型

中国农业银行将数据建模方法与DataOps全生命周期的标准化流水线相结合, 从组织模式、管理制度、系统工具为数据模型结构提供全方位支撑。
数据模型2024-11-29

建议收藏!大数据分析如何帮助企业成长

数据分析可以告诉您业务的健康状况,以便您对业务中发生的事情以及实现业务目标必须做的事情有一个全面的了解。本文重点介绍数据分析可以帮助业务增长的各种方式。

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录