Splunk大数据分析经验分享:从入门到夺门而逃

本文详细介绍了Splunk的初识、安装与配置、使用转发器转发数据、实战数据导入与分析,以及创建APP等全过程。内容涵盖了Linux和Windows上的安装步骤、配置Splunk的服务器名称、端口号、通用转发器的使用,以及通过SPL语言进行数据搜索和可视化。此外,文章还分享了如何处理和分析Apache日志,以及如何创建和管理自定义APP,是学习和使用Splunk的全面指南。
摘要由CSDN通过智能技术生成

大家好,我是U神,关于Splunk的文章网上非常少,中文的官方文档也很少。这篇文章的都是我观看某Splunk视频(那视频好贵,我是通过某XX看到的)后写下的学习笔记,我用自己通俗易懂的语言非常详细地写了splunk的安装、CLI命令、SPL语言、数据分析等。记录这些笔记花了较长时间,一方面是让学习更加深刻,一方面防止忘记了后可以找找笔记再看看,另一方面发出来也想分享给每一个想学习Splunk的朋友,相信这篇文章会是你入门的最佳选择。 

目录

0×01 初识splunk0x02 Linux上安装Splunk0x03 Windows上安装Splunk

0×04 Splunk安装后配置

0×05 Splunk的目录结构

0×06 Splunk常用的CLI命令

0×07 实战-导入数据前的准备

0×08 实战-导入并分析本地数据-1

0×09 实战-导入并分析本地数据-2

0×10 使用转发器转发数据

0×11 实战-数据分析和可视化-1

0×12 实战-数据分析和可视化-2

0×13 邮箱服务器配置

0×14 创建APP 0X15 Splunk技巧

0×01 初识splunk

一、公司:

美国Splunk公司,成立于2004年,2012年纳斯达克上市,第一家大数据上市公司,荣获众多奖项和殊荣。 总部位于美国旧金山,伦敦为国际总部,香港设有亚太支持中心,上海设有海外第一个研发中心。 目前国内最大的客户许可是800GB/天。 产品:Splunk Enterprise【企业版】、Splunk Free【免费版】、Splunk Cloud、Splunk Hunk【大数据分析平台】、Splunk Apps【基于企业版的插件】等。

二、产品:

Splunk Enterprise,企业版,B/S架构,按许可收费,即每天索引的数据量。

(购买20GB的许可,则默认每天可索引20G数据量;一次购买永久使用;如果使用试用版,试用期结束之后会切换到免费版)

Splunk Free,免费版,每天最大数据索引量500MB,可使用绝大多数企业版功能。

(免费版没有例如:身份验证、分布式搜索、集群等功能)

Splunk Universal Forwarder,通用转发器,是Splunk提供的数据采集组件,免费,部署在数据源端,无UI界面,非常轻量,占用资源小。

(转发器无许可证,是免费的;企业版专用的;所以部署在数据源,例如:部署在你的WEB服务器上,监控你的WEB日志,实时监控,产生一条日志则转发一条,进行增量转发;一般配置修改配置文件或者使用CLI命令。占用资源小)

三、Splunk是什么

面向机器数据的全文搜索引擎;

(使用搜索引擎的方式处理数据;支持海量级数据处理)

准实时的日志处理平台;

基于时间序列的索引器;

大数据分析平台;

一体化的平台:数据采集->存储->分析->可视化;

通用的搜索引擎,不限数据源,不限数据格式;

提供荣获专利的专用搜索语言SPL(Search Processing Language),语法上类似SQL语言

Splunk Apps 提供更多功能

(针对操作系统、思科网络设备,splunk都提供了专用的APP,接入数据源都可以看到直观的仪盘表。)

四、机器数据是什么

机器数据是指:设备和软件产生的日志数据、性能数据、网络数据包。这些数据都是一些非结构化的数据,我们可以统一将这些数据统一采集到splunk之后,splunk可以对这些数据进行索引、调查、监控、可视化等。

201612190912010043.jpg

五、Splunk组件

索引器:索引器是用于为数据创建索引的Splunk Enterprise 实例。索引器将原始数据转换为事件并将事件存储至索引(Index)中。索引器还搜索索引数据,以响应搜索请求。

搜索头:在分布式搜索环境中,搜索头是处理搜索管理功能、指引搜索请求至一组搜索节点,然后将结果合并返回至用户的Splunk Enterprise 实例。如果该实例仅搜索不索引,通常被称为专用搜索头。

搜索节点:在分布式搜索环境中,搜索节点是建立索引并完成源自搜索头搜索请求的Splunk Enterprise实例。

转发器:转发器是将数据转发至另一个Splunk Enterprise 实例(索引器或另一个转发器)或至第三方系统的Splunk Enterprise 实例。

接收器:接收器是经配置从转发器接收数据的Splunk Enterprise 实例。接收器为索引器或另一个转发器。

应用:应用是配置、知识对象和客户设计的视图和仪表板的集合,扩展Splunk Enterprise 环境以适应Unix 或Windows 系统管理员、网络安全专家、网站经理、业务分析师等组织团队的特定需求。单个Splunk Enterprise 安装可以同时运行多个应用。

六、Splunk分布式架构

201612190912011264.jpg

如上图所示:

1、可分为三层:第一层为数据源端:如应用服务器、服务总线、网络设备、防火墙等。

2、如果要采集这些数据例如:应用服务器可安装splunk的转发器,防火墙的数据可以通过TCP\UPD端口将数据发送到Splunk的中间层,Splunk的中间层称为splunk的索引器(接收器),数据将存储在这一层。

3、用户使用search head检索实例,search head将检索请求发送到各个索引器中。再把结果汇集到search head中,最后呈现给用户观看。

4、 数据源的转发器会将数据转发到多个splunk的实例中,转发器将进行自动负载均衡。

七、通用转发器

转发器分为重量(Heavy)、轻量(Light)和通用转发器(Universal)三种类型。

最常用的是通用转发器,其他两类很少使用。

与完整Splunk Enterprise实例相比,通用转发器的唯一目的是转发数据。与完整Splunk Enterprise 实例不同的是,您无法使用通用转发器索引或搜索数据。

为实现更高性能和更低的内存占用,它具有几个限制:

通用转发器没有搜索、索引或告警功能。

通用转发器不解析数据。

通用转发器不通过syslog 输出数据。

与完整Splunk Enterprise 不同的是,通用转发器不包含捆绑的Python 版本。

八、多种应用场景

201612190912012133.jpg

0×02 Linux上安装Splunk

一、配置时间:

配置一致的时间

建议搭建企业内NTP服务器,将所有相关设备指向该服务器

(如果各个机器的时间不一致,就会因此产生问题。所以建议搭建一台NTP服务器,让所有设备的时间指向NTP服务器,让所有设备统一时间)

二、安装准备

本次安装基于CentOS 6.7, 64位

建议部署在64位环境下

Splunk Enterprise:

splunk-6.4.2-00f5bb3fa822-Linux-x86_64.tgz

Splunk 通用转发器:

splunkforwarder-6.4.2-00f5bb3fa822-Linux-x86_64.tgz

本次以root用户安装(可以使用非root)

三、 安装步骤

1)、wget下载tgz的压缩包。

wget -c https://download.splunk.com/products/splunk/releases/6.5.1/linux/splunk-6.5.1-f74036626f0c-Linux-x86_64.tgz ;

2)、解压缩:#tar -zxvf splunk-6.5.1-f74036626f0c-Linux-x86_64.tgz -C /opt (默认我们解压到/opt目录下)

201612190912013247.jpg

3)、splunk的可执行程序都放在/opt/splunk/bin/下,启动该程序应执行splunk,splunk命令参数如下:

#注意:以下命令我们称之为CLI命令,如下:通用转发器和splunk命令都可以如下执行

./splunk
start      //启动splunk
--accept-license  //自动接收许可
restart   //重启splunk
status    //查看splunk状态
version   //查看splunk版

开始启动的时候记得记住加上–accept-license,这样更便于我们安装。

201612190912015464.jpg

4)、splunk安装之后开启Splunk Web端口8000。Splunkd端口8089端为管理端口。 安装之后我们可以在浏览器中访问splunk 8000端口的WEB界面。

201612190912016557.jpg

注意:如果外部计算机无法访问它。需要关闭iptables服务或将该端口加入策略中

#services iptables stop [其它类unix系统关闭防火墙]

systemctl stop firewalld.service  [CentOS 7下停止防火墙]

Splunk地址如: http://192.168.199.205:8000 ,进入splunk默认的管理员为:admin 、密码为changeme。第一登录便会强制要求修改密码

配置splunk开机启动 ./splunk enable boot-start //这样每次开机,splunk服务都会开机启动

201612190912017915.jpg

#通过上述命令查看splunk状态和版本信息 ./splunk status

201612190912018745.jpg

#查看进程相关信息 : ps -f | grep splunk

201612190912023433.jpg

四、 Splunk的卸载

./splunk disable boot-start //关闭自启动

./splunk stop //停止splunk

./rm–rf/opt/splunk //移除splunk安装目录

卸载要慎重,注意数据备份

五、安装 Splunk 通用转发器

1)、将通用转发器解压到opt目录下,Splunk转发器的安装方法和splunk一致,但它无UI界面。

tar zxvf splunkforwarder-6.4.2-00f5bb3fa822-Linux-x86_64.tgz -C /opt

2)、切换到Splunkforwarder的bin目录下去启动通用转发器

cd /opt/splunkforwarder/bin/ //切换到通用转发器的可执行程序目录

./splunk start –accept-license //启动通用转发器

注意:如果splunk web和通用转发器安装在同一 服务器,通用转发器的管理端口也是8090,则会提示被splunk占用,选择yes修改转发器管理端口,如下:

201612190912024390.jpg

我们可通过CLI命令查看splunkd的端口

./splunk show splunkd-port //不过这里得输入splunk登录的账号密码

201612190912025249.jpg

./splunk set splunkd-port 8091 //修改splund的端口为8091,提示:重启生效

201612190912029556.jpg

3)、修改通用转发器密码

默认密码:admin/changeme

修改密码如下:其中role是角色,auth是验证原密码

./splunk edit user admin -password ‘admin’ -role admin -auth admin:changeme

201612190912031617.jpg

0×03 Windows上安装Splunk

一、安装准备:

#搭建NPT服务器

配置一致的时间

建议搭建企业内NTP服务器,将所有相关设备指向该服务器

#安装用户的选择

本地系统用户,本次采用此方式

域用户,较复杂,请参考文档

#安装环境

本次安装基于Windows 7, 64位

建议部署在64位环境下

Splunk Enterprise:

splunk-6.4.2-00f5bb3fa822-x64-release.msi

Splunk 通用转发器:

splunkforwarder-6.4.2-00f5bb3fa822-x64-release.msi

二、 安装步骤

GUI安装,比较简单, 此处不演示。

Splunk默认安装在 “C:\Program Files\Splunk”

安装之后会注册两个服务,它的显示名称为:Splunkd Service、splunkweb (legacy purposes only)

201612190912032320.jpg

启动:splunk start

关闭:splunk stop

重启:splunk restart

查看状态:splunk status

查看版本:splunk version

通过Windows DOS命令:

net start splunkd

net stop splunkd

通过服务面板 (services.msc)

201612190912032964.jpg

#查看splunk web的端口命令为:

splunk show web-port

201612190912033824.jpg

三、卸载splunk

依照上方的讲解的停止splunkd。

通过Windows控制面板的卸载程序卸载。

201612190912034488.jpg

四、 安装Splunk 通用转发器

GUI安装,比较简单,选择:自定义(Customize Options),如下可选择SSL证书。

201612190912035308.jpg

#其次安装的用户如下:

local system :本地系统用户

domain account :域账号

#选择是否收集的日志选项(Windows Event logs)。如:应用日志、安全日志、系统日志、转发事件日志、安装日志。

#选择是否收集Windows 的性能数据(Performance Monitor)。如:CPU、内存、磁盘、网络状态等

#注&#x

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值