谁用splunk?


摘要:如果管理着几百台机器,一天老板问:今天哪台机器宕机了?影响了多少个用户订单请求?是谁的代码?可能你需要使用splunk了。

1 SPLUNK简介

1.1      什么是splunk

Splunk is software that indexes IT data from any application, server or network device that makes up your IT infrastructure. It’s a powerful and versatile search and analysis engine that lets you investigate, troubleshoot, monitor, alert, and report on everything that’s happening in your entire IT infrastructure from one location in real time.

简言之,Splunk索引log,根据log,检索查询某段时间内的系统状态。

1.2      谁需要使用Splunk

Splunk is versatile and thus has many uses and many different types of users. System administrators, network engineers, security analysts, developers, service desk, and support staff — even Managers, VPs, and CIOs — use Splunk to do their jobs better and faster.

  • 管理者用splunk生成报表或dashboard监控和总结系统的健康程度、性能、行为、容量。
  • 系统管理员用splunk监控严重的系统错误,系统负载,性能指标。
  • 网络工程师用splunk分析网络问题。
  • 应用工程师用splunk分析业务数据:Splunk官网的tutorial就是利用apache log进行商店的业务统计的例子。分析哪些商品被浏览的最多,哪些商品被下订单最多,哪天服务器挂了并影响了多少次浏览或订单,昨日的TOP N最受欢迎的商品,昨日的订单总量和销售额。根据APACHE的log,不需要开发另外一个系统,就可以使用splunk基于log来对海量的数据进行统计,分析出业务数据(当然,splunk不会对数据进行合并,比如365天的数据合并为1年,因此如果要做一个在线的报表系统如:百度统计,splunk并不是一个好选择,除非用户愿意获取一个汇总的数值时等待1分钟甚至更长的时间)。

1.3 Splunk的功能

生成报表:a) 日志具有时间的特点,splunk会对时间维度建索引。因此猜想:splunk的扩容方案很可能是通过时间维度来划分的。历史数据也不需要重新再索引;只需要把这段时间新增的数据追加到老数据的倒排链尾端即可,倒排链的基本顺序不用调整。B) 支持用户自定义数据的扩展SCHEMA,用户可以提供ID映射到name的文件,在统计时生成的报表就把ID转换为name,这样生成的报表比较适合你的老板看。

记录(行)为检索和报表统计单位:Splunk是全文索引,对于apache、system等常见服务的log进行了模式定制,能够根据日志的格式,提取出一些字段,这些字段可用于条件查询。Splunk用于展现和报表统计的基本单位是:一条记录(行)。(比如统计今日apache服务器收到多少POST请求)。

索引和检索都具有流式特点: a) Splunk的索引具有流式的特点:不停的索引,经索引的内容,立刻就能检索出来。 b) Splunk的检索具有流式的特点:不停加载检索结果,直至全部检索完毕,可以控制是否停止检索,按照时间维度逆时检索。因此猜想:其倒排结构仅仅根据时间有关。

丰富的查询表达式:a) 搜索引擎常见的高级查询:AND/OR/NOT的各种组合。b) 类似于SQL的select in:SUB-SEARCH。C) 支持pipe与内建统计命令(chart, timechart, stat, eval, count),pipe把查询结果输出给统计命令,统计命令输出的结果为一个报表,报表的字段、x/y轴的名字自定义。

查询结果或报表的管理:可以存储查询结果或报表;可以定制一个dashboard,上面有很多个panel,每个panel是一个报表;多用户间设置报表的ACCESS。

丰富的索引数据源:支持本地、异地的数据。异地数据需要在异地的机器上安装splunk的客户端。可以配置的数据源为多个host上的数据。

Splunk的索引字段主要有5个:

  • Host:日志来自那台主机
  • Source type: 日志的类别
  • Source: 日志的文件名
  • Time: 日志的日期
  • Content: log的每一行

Splunk对以上5个字段建索引,但是却可以根据日志的格式,提取出一些字段用于查询时的条件过滤。比如,对于apache服务器的log,有GET/POST,那么可以查询GET的记录有多少个。

补充点内容:

Fields从event中被抽取发生在两个阶段:indexing和search。indexing阶段的Fields被称之为Default Fields.
Default Fields有以下:internal fields(_raw,_indextime,_cd,都是系统的相关信息),default fields(host, index, linecount, punct, source, sourcetype, splunk_server, timestamp),default datetime fields(date_hour, date_mday, date_minute, date_month, date_second, date_wday, date_year, date_zone)

_raw代表原始数据,比如可以用来做正则表达式规则匹配。_cd代表event在index中的位置。由2个数字构成,32位整数代表index bucket桶号,64位整数代表桶内便宜。尽内部使用。

linecount代表一个event发生的行数。比如检索:40 linecount=40 host=corp1 NOT 400
代表搜索host等于corp1,然后包含40且不包含400的event的次数等于40的event。
也就是说,索引的时候可能会对linecount进行聚合;检索的时候,对每个event进行过滤。

每一次搜索行为,是一个job。搜索结果会被保存10分钟,如果想在这10分钟之后再看这个结果或跟别人分享,那么需要save这个job。

考虑二次检索行为(select in),我理解splunk会首先完成第一次检索,然后在第一次检索的结果中,再进行第二次检索。经过判断,如果第一次检索的逻辑中没有聚合性质的操作,那么可以一边做第一次检索,一边在第一次检索的当前结果中进行第二次检索,并流式得动态展示内容。

2 SPLUNK功能介绍与实现分析

2.1 索引

2.2 检索

3 SPLUNK系统架构

参考文献:

http://docs.splunk.com/Documentation/Splunk/latest/User/WelcometotheSplunktutorial

http://blog.hiwgy.com/2012/05/12/splunk/


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了小程序应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 适合毕业设计、课程设计作业。这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。 所有源码均经过严格测试,可以直接运行,可以放心下载使用。有任何使用问题欢迎随时与博主沟通,第一时间进行解答!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值