Data Collection

Getting Data From Http Rest Api Into Elasticsearch Using Fluentd

Looking to get data out of http rest api into elasticsearch? You can do that with fluentd in 10 minutes!

![](/images/plugin_icon/http_rest_api.png) ![](/images/plugin_icon/elasticsearch.png)

Here is how:

$ gem install fluentd
$ gem install fluent-plugin-elasticsearch
$ touch fluentd.conf

fluentd.conf should look like this (just copy and paste this into fluentd.conf):

<source>
  type http
  port 8888
  bind 0.0.0.0
  body_size_limit 32m
  keepalive_timeout 10s
  # tag is part of the URL, e.g.,
  # curl -X POST -d 'json={"action":"login","user":2}' http://localhost:8888/tag.here
</source>

<match **>
  type elasticsearch
  logstash_format true
  host <hostname> #(optional; default="localhost")
  port <port> #(optional; default=9200)
  index_name <index name> #(optional; default=fluentd)
  type_name <type name> #(optional; default=fluentd)
</match>

After that, you can start fluentd and everything should work:

$ fluentd -c fluentd.conf

Of course, this is just a quick example. If you are thinking of running fluentd in production, consider using td-agent, the enterprise version of Fluentd packaged and maintained by Treasure Data, Inc..