大数据时代的全能日志分析专家--Splunk安装与实践

大数据时代的全能日志分析专家

--Splunk安装与实践

(  此文已刊发在《网络运维与管理》杂志  )

0. 

随着大家对网络安全意识的提高,企业网管理人员,必须对IT基础设置进行监控及安全事件的管理,管理数据的数量和种类非常巨大,那么就需要有一款能否分析各种日志数据的工具,经过长期实践,为大家推荐Splunk这么一款全能型分析工具。

1Splunk简介

Splunk是一款功能强大的、记录详细的日志分析软件,Splunk是基于原始日志数据(Raw data)内容建立索引,保存索引的同时也保存原始日志内容,在大数据时代,种类繁多的日志如何能快速分析找到你需要的内容呢,你需要一个更加方便智能的工具,那就是Splunk。它能处理常规的日志格式,比如Apache、Squid、系统日志、邮件日志等这些对所有日志先进行索引,然后可以交叉查询,支持复杂的查询语句,最后通过直观的方式表现出来。它与其他开源日志分析工具不同的是,操作界面支持全中文,而且对于中文版操作系统的日志收集非常不错,目前它的商业版本价格的确不便宜(国内天旦、精诚华厦微科都在代理这款产品,商务可联系他们)。下面我们先看看怎么安装和基本使用吧。

2.Splunk安装

首先到官方http://www.splunk.com/download注册一个账号下载对应的操作系统版本(截止目前最新版本为6.1.3),安装时记住关闭SELinux功能,另外注意一点,如果要通过WMI的方式来搜集Windows(中文版)日志的话,那么Splunk建议装在Windows操作系统(须4GB以上可用空间)上。如果收集的日志主要是各种网络设备及Linux系统日志建议装在类Unix系统上。下面以Redhat Linux系统安装Splunk为例讲解安装过程,启动过程如图1所示。

(1).安装软件包

#rpm –ivhsplunk-4.1.7.95063-linux-2.6-x86_64.rpm

Splunk安装路径在/opt/splunk,这个路径各种UNIX/Linux系统都一样。

(2).关闭Selinux

#setenforce 0

(3).启动splunk,命令如下:

#/opt/splunk/bin/splunk start

(4).浏览Splunk Web接口,在浏览器中输入以下地址:

http://localhost.localdomain:8000

图1 Linux下安装Splunk

用netstat命令检查8000端口是否处于监听状态。

#netstat -ant

Proto Recv-Q Send-Q Local Address               Foreign Address             State

tcp       0      0 0.0.0.0:8000                0.0.0.0:*                   LISTEN

tcp       0      0 0.0.0.0:8089                0.0.0.0:*                   LISTEN

我们看到以上信息输出即可通过网址访问。

3.设置自动运行

1).设置开机自动启动

#ln -s /usr/local/splunk/bin/splunk/etc/rc2.d/S80splunk

2).设置到服务里面

#ln -s /usr/local/splunk/bin/splunk/etc/init.d/splunk

4.系统配置

下面我们通过配置来收集客户端的日志。

1)通过Syslog收集Cisco网络设备的日志

在Cisco网络设备上的配置命令一般为:

logging <syslog server IP Address>

logging trap <severity>

Splunk默认使用UDP 514端口来监听syslog消息。例如:

logging 192.168.122.1

logging trap warning

2)通过Syslog收集Linux主机的日志

在Linux主机上的配置一般为修改/etc/syslog.conf配置,添加以下两行:

# Send syslog to Splunk server

*.<severity>                 @<syslog server IPAddress>

如:

# Send syslog to Splunk server

*.debug                @192.168.122.1

3)通过WMI来收集Windows主机的日志

首先要确保运行Splunk服务(在服务管理器中显示为Splunkd)的帐号有权限读取远程Windows机器的WMI信息。在《Unix/Linux日志分析和流量监控》一书中的第14章中还会讲到利用WMI收集Windows日志。

然后,在Splunk服务器上做一下简单的配置。Splunk的安装路径默认为C:\Program Files\Splunk。在C:\Program Files\Splunk\etc\system\local文件下修改inputs.conf文件,添加以下内容:

[script://$SPLUNK_HOME\bin\scripts\splunk-wmi.py]

interval = 10

source = wmi

sourcetype = wmi

disabled = 0

接着,在同一目录中新建一个文本文件,命名为wmi.conf,并添加以下内容:

[WMI:<Name>]

server = <Remote Windows Host IPAddress>

interval = 60

event_log_file = <Event log Type>

disabled = 0

比如监控IP地址为192.168.122.10的Windows主机上Application和System的Event Log:

[WMI:AppAndSys]

server = 192.168.122.1

interval = 60

event_log_file = Application, System

disabled = 0

其实还可以通过Syslog来收集Windows的日志,这里可以用一个免费工具NTSyslog(下载)。

5.设置日志分析目录

当首次进入Web界面后,需要重设密码并添加数据。进入系统可以将默认语言选择为中文,开始导入数据,如图2所示。

图2 导入数据

选择数据源(从本地),接着选“从文件和目录”,选择/var/log即可。如图3所示。从图中我们也可以看出Splunk默认支持的日志种类很多,包含大多数运维人员平时工作中所需要分析的日志类型。

图3 选择本地数据源

点击应用菜单下方的search即可看到生成的日志报告(比如cron日志,mail日志。当然也可以把我们所需要记录的日志比如php错误日志等都输出到/var/log目录下,对其进行分析)。

6 .Splunk搜索的使用

系统中的搜索工具栏是Splunk最强大的工具,为了学习Splunk,我们先在http://www.splunk.com/base/images/Tutorial/Sampledata.zip下载一个演示文件。我们学习如何添加数据,首先向Splunk添加示例数据方法如下:

在Splunk首页中点击右上角的Home按钮,再选择添加数据,选择服务器本地文件,当你选择正确系统提示:“Use auto-detected source type:access_combined_wcookie”最后保存配置,当系统提示索引建立后就可以查看日志。

图4 开始搜索

我们看看仪表盘的内容,读者应该已经熟悉搜索栏及时间范围选择,摘要仪表板上也有这些内容。但搜索仪表板上还包含其他内容,如事件记录、时间轴、字段菜单及检索到的事件列表或搜索结果。

1).匹配及扫描事件记录:在搜索中,Splunk在检索时将显示两组事件记录:一组为匹配事件记录,另一组为已扫描事件记录。搜索完成后,时间轴上方的记录显示的是匹配事件的总数。时间轴下方事件列表上方的记录显示用户所选时间范围内的时间数目。稍后可以看到,当向下分析事件时,此数目会发生变化。

2).事件的时间轴:时间轴能直观的显示出每一时刻发生的事件。当时间轴随着搜索结果不断更新时,可能会注意到有条状图案。每一条状图案的高度表示时间记录。时间轴的峰值和谷值可表示活动高峰期或服务器停机。此时,时间轴可有效用于强调时间模式或调查各事件活动的高峰期和低谷期。时间轴选项位于时间轴上方。还可以放大或缩小图表。

3).字段菜单:前面说过将数据编入索引时,Splunk可自动按名称和值的格式识别并生成数据信息,我们把这称作是字段。当您进行搜索时,Splunk将把其从字段菜单上识别的所有字段列在搜索结果旁边。您可以选择其他字段来显示您搜索的事件。所选字段都已被设置为搜索结果可见格式。将默认显示主机、源及源类型。其它字段是Splunk从您的搜索结果中抽取的。

4).事件查看器:事件查看器将显示Splunk搜索到的与您的搜索匹配的事件。事件查看器位于时间轴下方。事件默认显示为列表,您也可以选用表格查看。选择按表格形式查看事件时,表格只显示已选字段。

7.Splunk搜索实例解析

我们先构造一个场景,假如有人投诉网站,说在提交表单时总是提示有某个IP地址错误, 10.2.1.44,这时我们该如何利用搜索功能来查找问题呢?

我们可以输入如下内容:sourcetype=access_combined_wcookie10.2.1.44

当然,如果你不知道数据源,那么你也可以直接输入IP地址,这样匹配的条目会非常多,如果能精确找到数据源就很容易找到问题。

图5  使用搜索功能

access_combined_wcookie代表数据源,要根据你提交的日志而定。注意,当您在搜索栏中输入的同时,将弹出Splunk“搜索助手”这个很重要,可以帮助你解决搜索中的很多问题。就如同MS Office中的帮助一样好用。为了缩小范围我们做如下操作,我们还应该在搜索栏中键入purchase:

sourcetype=access_combined_wcookie10.2.1.44 purchase

图6 缩小搜索范围

请看左上角搜到的日志从109降到83条。注意,搜索关键词时,不用区分大小写。

8.使用布尔运算符查找日志

Apache服务器日志中发现大部分事件的状态码为“200”,它代表“成功”。现在有人投诉网站出现了问题,那么就要找出不是200的日志。我们使用布尔运算方法。

图7 使用布尔运算符查找

这时匹配条数骤减到31条。这时发现了HTTP服务器(503)错误,用这个方法可以快速排除无关事件。使用布尔运算符可进行搜索的信息更多,Splunk支持的布尔运算符有与、或和非所以第四步的搜索和下述语句相同:

sourcetype=access_* AND 10.2.1.44 ANDpurchase NOT 200

当搜索中含有布尔表达式时,运算符须全部大写。使用括号将有关表达式组合起来,以便进行更复杂的搜索。计算布尔表达式时,Splunk将从最里面的括号开始运算,接着运算括号外面的下一个值对。当括号内的所有运算符都运行完成,Splunk将先计算或子句,然后计算和或者非子句。

9.使用时间轴功能

现在您已经确认存在问题类型,现在您想找到导致问题的原因。从发现顾客无法购买的那次搜索开始,继续进行下面的步骤。时间轴上的各柱状体,代表搜索的匹配事件发生的时间。滑动鼠标,选中其中一个柱状体,将弹出工具提示,并显示时间数目和该柱距的原始时间戳,1个柱状体=1分钟,这个单位根据你的选择而动态变化,这样您的搜索将仅限于您所选定的1小时内所发生的事件,如图8所示。

图8 使用时间轴

Splunk支持使用星号(*)通配符来搜索“所有”或根据关键词的部分进行模糊检索事件。该搜索可告诉Splunk希望看到在这段时间内发生的所有事件。

时间轴的其他功能:

  • 点击选择上述的所有时间轴,可再次显示所有时间;
  • 点击放大,可锁定与您的搜索匹配的选定事件范围;
  • 点击缩小,可扩展时间轴,看到更多事件;

10.故障定位方面的应用

Splunk能通过搜索出日志中的重要关键字来挖掘出网络设备日志中最有价值的信息。搜索关键字“up OR down”查看日志中存在接口连接情况,splunk将信息转换成时间分布图,使我们更快捷地查看当天或者过去几天设备接口连接状态。

搜索关键字“duplicate”,发现有少量存在IP地址冲突的地址,其中地址冲突所发生的时间以及冲突的源主机MAC地址都可以一目了然;搜索关键字“SYNflood”,可在防火墙日志中查找SYN攻击事件;搜索关键字“power”可快速查找重要设备是否会出现“poweroff”的情况。

搜索关键字“deny”可查找核心交换机上丢弃数据包的具体情况,根据这些情况可以统计一些经常出现的被丢弃数据包源头。输入EventCode=6005 or EventCode=6006查询可以掌握机器的开关机情况,主要是提取6006的事件和6005的事件信息系统,思路是在windows 中打开eventvwr.msc(事件查看器)程序打开事件查看器,在左侧窗口中选择“系统”,从右侧系统事件中查找事件ID为6005、6006的事件(事件ID号为6005的事件表示事件日志服务已启动,即开机事件ID:6006表示关机),它们对应的时间就分别是开机时间和关机时间。

注意:Windows事件ID含义详情请点击这里

11.看视频学用Splunk分析日志

最后轻松一下,大家打开这个链接(前提是你的浏览器支持flash)观看Splunk视频指南: http://www.tudou.com/programs/view/7iXM5WfXpDg/

技巧:

在试用版的Splunk中有500MB日志的限制(个人还无法突破限制),如果你直接将主机架设在生产环境,很快就到达上限,也许你一着急,就把他卸载了,从而错失真么一款优秀的工具,建议开始测试时,找几个典型测试设备在实验室进行功能测试,经过自评价后,有必要在联系商务人员,他们可以免费为您企业进行安装调试。

时间: 2024-10-20 14:19:55

大数据时代的全能日志分析专家--Splunk安装与实践的相关文章

Splunk—云计算&amp;大数据时代的超级日志分析和监控利器

信息科技的不断进步,一方面使得银行业信息和数据逻辑集中程度不断得到提高,另一方面又成为银行业稳健运行的一大安全隐患.Splunk作为智能的IT管理运维平台,能够帮助银行业积极迎接.应对和解决不断出现的各种风险,为其完善IT体系,建立良好的风险管理,提高风险控制能力,实现网络经济时代银行业的新发展. 什么是Splunk? Splunk是一个功能强大的日志管理工具,它不仅可以用多种方式来添加日志,生产图形化报表,最厉害的是它的搜索功能 - 被称为"Google for IT".Splunk

《大数据时代》读后小结

"云计算","大数据"的概念风起云涌,一时貌似所有的人都成了"大数据专家",多多少少都能侃两句,为了适应时代的发展,抽时间看了看<大数据时代>,简单谈一下自己的理解. 大数据的核心就是预测,通过历史数据预测未来.它通常被视为人工智能的一部分,或者更确切地说,被视为一种机器学习.然而对大数据的分析方式与人们的传统思维还是有很大转变的. 第一个转变就是在大数据时代,我们可以分析更多的数据,有时候甚至可以处理和某个特别现象有关的所有数据,而

《大数据时代》读书笔记

大数据开启了一次重大的时代转型.就像望远镜让我们能够感受宇宙,显微镜让我们能够 观测微生物一样,大数据正在改变我们的生活以及理解世界的方式,成为新发明和新服务的源 泉,而更多的改变正蓄势待发-- 大数据的精髓在于我们分析信息时的三个转变,这些转变将改变我们理解和组建社会的方法. 第一个转变就是,在大数据时代,我们可以分析更多的数据,有时候甚至可以处理和第一个转变就是,在大数据时代,我们可以分析更多的数据,有时候甚至可以处理和 某个特别现象相关的所有数据,而不再依赖于随机采样. 某个特别现象相关的

大数据时代企业如何赢得“数据战”

几年前,公司专注于信息技术和互联网技术,而现如今,公司更多关注的是云计算.移动技术和社交技术.不管是上述哪类技术的发展趋势,都对公司数据的处理和分析造成了很多问题.数据的多样性和数据的安全问题,以及数据复杂性和数据量的迅猛增长已经成为公司面临的诸多挑战.为了对公司的真实需求得到进一步的明确与认知,我们有必要在大数据时代的背景之下分析清楚公司面临的这些困难究竟是什么.在存储和处理大数据的问题上,公司的困难程度的分布相对而言比较平均,数据的安全性以18.98%的比例排名第一,其次是系统性能的瓶颈问题

【互动问答分享】第10期决胜云计算大数据时代Spark亚太研究院公益大讲堂

"决胜云计算大数据时代" Spark亚太研究院100期公益大讲堂 [第10期互动问答分享] Q1:Spark on Yarn的运行方式是什么? Spark on Yarn的运行方式有两种:Client和Cluster模式 Client模式如下所示: Cluster模式如下所示: Q2:Yarn的框架内部是如何实现的? Yarn是一个框架,内部实现好了RM和NM: 公开课: 上海:9月26-28日,<决胜大数据时代:Hadoop.Yarn.Spark企业级最佳实践> 北京:

决胜大数据时代:Hadoop&amp;Yarn&amp;Spark企业级最佳实践(8天完整版脱产式培训版本)

Hadoop.Yarn.Spark是企业构建生产环境下大数据中心的关键技术,也是大数据处理的核心技术,是每个云计算大数据工程师必修课. 课程简介 大数据时代的精髓技术在于Hadoop.Yarn.Spark,是大数据时代公司和个人必须掌握和使用的核心内容. Hadoop.Yarn.Spark是Yahoo!.阿里淘宝等公司公认的大数据时代的三大核心技术,是大数据处理的灵魂,是云计算大数据时代的技术命脉之所在,以Hadoop.Yarn.Spark为基石构建起来云计算大数据中心广泛运行于Yahoo!.阿

大数据如何解决传统安全分析面对新型威胁的缺陷

安全数据的大数据化.传统安全分析面对新型威胁的缺陷.情境感知和智能安全的发展大势,使得大数据安全分析迅速进入了网络安全领域.而一旦网络安全遇到大数据安全分析,就必然被深刻地影响并重塑.这种重塑体现在安全防护架构.安全分析体系和业务模式等诸多方面. 1      大数据安全分析重塑安全防护架构 1.1    大数据安全分析重塑SIEM和安管平台 在所有网络安全领域中,大数据安全分析对安全管理平台(SOC平台.安管平台)及安全信息与事件分析(SIEM)系统的影响最为深远. 传统的SIEM和安管平台由

寻路大数据:海量数据与大规模分析

寻路大数据:海量数据与大规模分析(Google大数据专家力作超豪华译者|作序者真正梳理趋势与生态|方案与工具选型|应用场景与价值挖掘的独家内参) [美]Michael Manoochehri(迈克尔.马诺切里)著   戴志伟等 译 ISBN 978-7-121-24472-8 2014年11月出版 定价:59.00元 244页 16开 编辑推荐 微博副总|高德技术副总裁|百度主任架构师|百度技术委员会主席|UCloud创始人&CEO联合作序推荐 大数据包罗万象,谷歌大数据平台技术权威独具匠心,站

大数据时代新闻采编人员职业能力培训

原文  http://datameng.com/info/2014/03/big-data-xinwen-caibian/ 据统计,到2013年,全世界储存的信息如果记录在光盘上,再把这些光盘叠加起来,高度等于从地球到月球的距离.美国互联网数据中心指出,目前世界 上90%以上的数据是近几年才产生的.互联网上的数据每年将增加50%,每两年翻一番.因此有学者认为,人类进入了大数据时代.一般意义上,大数据是指无 法在可容忍的时间内用传统IT技术和软硬件工具对其进行感知.获取.管理.处理和服务的数据集合