Chinaunix首页 | 论坛 | 博客
  • 博客访问: 48605
  • 博文数量: 13
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 146
  • 用 户 组: 普通用户
  • 注册时间: 2014-01-29 11:36
个人简介

微博 https://www.weibo.com/huang007

文章分类

全部博文(13)

文章存档

2018年(1)

2014年(12)

我的朋友

分类: 大数据

2018-03-09 16:13:15

最近研究了一段时间Splunk ITSI,SPLUNK已经成为了一个150亿美金的公司。产品做的很有特点,UI也让人耳目一新。本篇描述了我对ITSI的一些研究笔记和其背后实现思路的探讨,希望对读者能有一些帮助。

一、实体

实体本质上由手动录入的标题、key-value键值对组成,键值对分为别名(alias)和信息域(info field)两类。这两类的区别是:Alias用于唯一标识实体也就是用于分组和搜索。info用于补充实体的属性。Alias和info均可能用作参数输入到后续的实体展示中。实体的建立如下图:

实体的展示如下:

实体输入的时候如果重复了,splunk好像不负责去重。这样会导致分组的时候,只会关联第一个实体。

每一个实体会生成一个唯一id。

(一)实体如何跟服务关联的?

实体跟服务的关联是非常松散的,并且实体在Service中是optional的。即使定义了实体,服务也不一定局限于这些实体。(Entity Rules allow for the optional, dynamic filtering of KPIs and can help in root cause analysis. A service need not define any Entity Rules and is not limited to only the entities matching Entity Rules.)简言之,服务主要跟KPI相关,一个KPI可以设置是否由定义的实体所约束,这个后面再展开。

一个服务里面包含多少实体,主要由RULEs来过滤。RULEs如下所示:

 

(二)实体使用的场景有哪些

配置KPI,可以按照实体分组,还可以按照alias过滤。

  

 

 

二、KPI

(一)KPI Base Search定义了什么

1. KPI的名称

2. 通过spl语句描述的数据源

3. 定时周期,计算窗口,监控lag(把数据从发生到入库的延迟也考虑进去,否则kpi算不准)

4. 聚合

a) 是否根据Entity分组,只能定义

b) 是否filter Entity、是否

三、SPL需要增强的函数

(一)aggregate_raw_into_service

例子:aggregate_raw_into_service(count, host)

l 参数:

1. 聚合模式

2. 目标字段

l 输出字段:

1. 聚合结果alert_value

2. 聚合时间_time

3. 定义实体的字段名entity_key(因为没有定义实体,所以是staticservice_aggregate

4. 定义实体的字段名entity_titlestaticservice_aggregate

5. is_entity_defined 0

6. is_service_aggregate 1

记录条数 1

(二)aggregate_raw_into_entity

例子:aggregate_raw_into_entity(count, 4xx_error, application_server)

l 参数

1. 聚合模式

2. 目标字段

3. 分组字段

l 输出字段

1. 聚合结果alert_value

2. 聚合时间_time

3. 分组字段名(本例中就是application_server

(三)match_entities

跟在aggregate_raw_into_entity后面,例子:match_entities(application_server)

l 参数

n 唯一标识实体的字段

l 输出字段

1. entity_id

2. entity_title

3. is_entity_defined 1

4. is_service_aggregate 0

5. serviceid

 

(四)aggregate_entity_into_service

例子:aggregate_raw_into_service(avg)

l 参数

1. 聚合模式

l 输出字段

1. aggregate_raw_into_serviceaggregate_raw_into_entity输出字段和结果的累加

2. is_all_entities_in_maintenance

(五)assess_severity

严重性评估,例子:assess_severity(bc8f2697-39f0-4d8e-ac77-91a2999b2a9c, d938af27a490feac9955f338, true, true)

参数

1. serviceid

2. Kpiid

输出字段

1. aggregate_entity_into_service的输出字段与结果

2. Alert_color

3. Alert_error

4. Alert_level

5. Alert_period

6. Alert_serverity

 

四、Multi KPI Alerts

选择多个指标,根据每个指标的权重进行加权。

这种搜索又称为correlation search

 

五、GlassTable

GlassTable的概念相对简单,KPI的集合

六、Deep Deives

(一)Metric lane

根据搜索产生统计指标

(二)Event lane

根据搜索产生event指标

(三)KPI lane

直接选择已经定义好的kpi指标


阅读(1607) | 评论(0) | 转发(0) |
0

上一篇:lucene的MMapDirectory store老厉害了

下一篇:没有了

给主人留下些什么吧!~~