logstash 来自ElasticSearch的数据作为http_poller的输入

hujrc8aj  于 12个月前  发布在  Logstash
关注(0)|答案(1)|浏览(183)

我正在尝试做以下事情:从Kafka中提取一些数据(假设是一个浮点值),并通过Logstash管道将它们添加到对某个Rest API的http调用的主体中。这真的可能吗?我试图通过对elasticsearch的查询来实现这一点,但没有成功。请在下面查找我的Logstash管道:

input {
  elasticsearch {
   kafka {
       bootstrap_servers => 'kafka:9094'
       topics => ["..."]
       client_id => "..."
       group_id => "..."
       codec => json {}
        }
  }
}

filter {
   http {
     verb => "POST"
     url => "http://some url"
     body_format => "json"
     body => {
       "instances" => "%{instances}"
     }
}

output{
  elasticsearch {
    hosts => [ "elasticsearch:9200" ]
    index => "demo_results"
  }
}

字符串
换句话说,我不知道如何从弹性发送数据到http_poller调用!
多谢了,
乔治.

2ekbmq32

2ekbmq321#

您可以做的是利用elasticsearch输入的调度功能,以便它在规则的时间间隔执行以获取您需要的任何内容。
然后,当你得到你想要的数据时,你可以使用http filter来调用你的远程API,使用你从Elasticsearch获取的数据。

input {
  elasticsearch {
    hosts => ["...:9200"]
    index => ["demo_data"]
    query => '{ "query": { "match": { "instances": 20 } } }'
    size => 1
    schedule => { cron => "* * * * * UTC"}
  }  
}
filter {
   http {
     verb => "POST"
     url => "http://some url"
     body_format => "json"
     body => {
       "instances" => "%{instances}"
     }
   }
}
output{
  elasticsearch {
    hosts => [ "elasticsearch:9200" ]
    index => "demo_results"
  }
}

字符串

相关问题