居然是你

ELK能进行数据运算后统计吗?

经验分享 | 作者 richardhuxiao | 发布于2017年12月05日 | 阅读数:6241

给各位大神请安,
  本人小白一个,刚接触ELK不久。公司里的应用场景是需要对某个应用程序中输出的LOG中的某些关键字进行运算后统计和分析结果。比如,某个编译开始的时间和结束的时间,然后要统计和分析的是时间间隔。请问用ELK可以完美实现吗?
  请各位大神一定帮忙回答一下,最好能详细说明一下实现方法。拜托拜托!救命啊!!!
已邀请:

puyunjiafly

赞同来自:

在logstash里面结算好时间间隔单独给个字段赋值最好(建议)
 
或者查询es时候调用script(不建议这么做):
事例:
put script_test/people/1
{
  "begintime": 1,
  "endtime": 10
}
#查询
POST script_test/people/_search
{
  "query": {
    "script": {
      "script": "params['_source']['endtime'] - params['_source']['begintime'] > 10"
    }
  }
}
#聚合
POST script_test/people/_search
{
  "aggs": {
    "test": {
      "sum": {
        "script": "params['_source']['endtime'] - params['_source']['begintime']"
      }
    }
  }
}
更多内容搜索es官方文档 关键词:script

richardhuxiao

赞同来自:

@puyunjiafly 那请问如果不用es,在logstash的conf里要怎么写呢?感谢感谢!

living

赞同来自:

input {
elasticsearch {
hosts => [ "local:9200" ]
index => "index"
query => '{"aggs":{"goal":{"terms":{"field":"something","size":100,"order":{"_count":"desc"}}}}}'
scroll => "5m"
}
}

我也是學著做,弄出一堆廢的data。
query這要你自己去處理一下,看能不能得到你要的東西。

要回复问题请先登录注册