Skip to content

ElasticSearch

Important

To save data to Elasticsearch install garf-io with Elasticsearch support

pip install garf-io[elasticsearch]

elasticsearch writer allows you to index GarfReport to Elasticsearch.

garf query.sql --source API_SOURCE \
  --output elasticsearch \
  --elasticsearch.hosts=localhost:9200
from garf.core import report
from garf.io.writers import elasticsearch_writer

# Create example report
sample_report = report.GarfReport(results=[[1]], column_names=['one'])

writer = elasticsearch_writer.ElasticsearchWriter(hosts='localhost:9200')
writer.write(sample_report, 'index_name')

Parameters

Hosts

By default it connects to localhost:9200. You can overwrite it with hosts parameter.

garf query.sql --source API_SOURCE \
  --output elasticsearch \
  --elasticsearch.hosts=host1:9200,host2:9200
from garf.core import report
from garf.io.writers import elasticsearch_writer

# Create example report
sample_report = report.GarfReport(results=[[1]], column_names=['one'])

writer = elasticsearch_writer.ElasticsearchWriter(hosts=["host1:9200", "host2:9200"])
writer.write(sample_report, 'index_name')

Authentication

You can provide authentication credentials using http_auth parameter (Python only).

from garf.core import report
from garf.io.writers import elasticsearch_writer

# Create example report
sample_report = report.GarfReport(results=[[1]], column_names=['one'])

writer = elasticsearch_writer.ElasticsearchWriter(
    hosts='localhost:9200',
    http_auth=('user', 'password')
)
writer.write(sample_report, 'index_name')