Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ember.js/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
<img src="//i.stack.imgur.com/RUiNP.png" height="16" width="18" alt="" class="sponsor tag img">elasticsearch Logstash ElasticSearch中的聚合_<img Src="//i.stack.imgur.com/RUiNP.png" Height="16" Width="18" Alt="" Class="sponsor Tag Img">elasticsearch_Logstash - Fatal编程技术网 elasticsearch Logstash ElasticSearch中的聚合,elasticsearch,logstash,elasticsearch,Logstash" /> elasticsearch Logstash ElasticSearch中的聚合,elasticsearch,logstash,elasticsearch,Logstash" />

elasticsearch Logstash ElasticSearch中的聚合

elasticsearch Logstash ElasticSearch中的聚合,elasticsearch,logstash,elasticsearch,Logstash,我将logstash与输入elasticsearch和输出elasticsearch一起使用。这两种elasticsearch都有不同的实例。 在数据进入输出块之前,我想聚合一些文档,创建新文档的散列,并在弹性搜索中插入嵌套文档。 所以基本上我想在elasticsearch中插入嵌套文档之前做一些处理。这可能吗 input{ # something here to get a value of variable stored in a different file elastic

我将logstash与输入elasticsearch和输出elasticsearch一起使用。这两种elasticsearch都有不同的实例。 在数据进入输出块之前,我想聚合一些文档,创建新文档的散列,并在弹性搜索中插入嵌套文档。 所以基本上我想在elasticsearch中插入嵌套文档之前做一些处理。这可能吗

input{
    # something here to get a value of variable stored in a different file
    elasticsearch{
    hosts=>"abc.de.fg.hi:jklm"
    query=>'{--some query---}'
    }
    }
    output{

    elasticsearch{
    hosts=>"xxx.xx.xx.xx:yyyy"

    }
我正在使用“聚合”插件

在我的例子中,输入来自UDP,我使用“grok”对其进行过滤,但我相信您可以通过稍微调整代码来实现您想要做的事情

如果没有您想要准确实现的示例,我所能做的就是向您展示我的代码示例:

aggregate {
    task_id => “%{action}_%{progress}”
    code =>
    “
    map[‘avg’] || = 0;
    map[‘avg’] += event.get(‘elapsed’);
    map[‘my_count’] || = 0;
    map[‘my_count’] += 1;

    if (map[‘my_count’] == ${LogstashAggregationCount})#Environment variable
        event.set(‘elapsedAvg’, (map[‘avg’] / map[‘my_count’]))
        event.set(‘Aggregetion’, true)
        map[‘avg’] = 0
        map[‘my_count’] = 0
    end
    “
}    
if (![Aggregetion]) {
    drop {}
}
当然,您需要根据您的具体情况进行调整。有关我的代码的更深入解释,请阅读此处:

我正在使用“聚合”插件

在我的例子中,输入来自UDP,我使用“grok”对其进行过滤,但我相信您可以通过稍微调整代码来实现您想要做的事情

如果没有您想要准确实现的示例,我所能做的就是向您展示我的代码示例:

aggregate {
    task_id => “%{action}_%{progress}”
    code =>
    “
    map[‘avg’] || = 0;
    map[‘avg’] += event.get(‘elapsed’);
    map[‘my_count’] || = 0;
    map[‘my_count’] += 1;

    if (map[‘my_count’] == ${LogstashAggregationCount})#Environment variable
        event.set(‘elapsedAvg’, (map[‘avg’] / map[‘my_count’]))
        event.set(‘Aggregetion’, true)
        map[‘avg’] = 0
        map[‘my_count’] = 0
    end
    “
}    
if (![Aggregetion]) {
    drop {}
}

当然,您需要根据您的具体情况进行调整。要更深入地解释我的代码,请阅读此处:

不幸的是,目前无法从Logstash中运行聚合。值得一提的是,我一直在开发一个插件来实现这一点,但我还没有发布它。我将在运行某些内容时更新此线程。您可能希望同时研究,这可能会起作用。没有关于如何使用Aggregation的新闻不幸的是,目前无法从Logstash中运行聚合。值得一提的是,我一直在开发一个插件来实现这一点,但我还没有发布它。我将在运行某些内容时更新此线程。在此期间,您可能需要研究聚合,这可能会奏效。没有关于如何使用聚合的新闻