I am trying to use elastic search as a target. But I am using the Opensearch from AWS and I couldn’t install the elastic load balancer. Can I use the kinesis firehose to send to Elasticsearch? And just to understand, the Elastic Load balancer replaces firehose or is different approach?
instead using leastic load balancer to send data do ES?
Assuming this is a typo and you mean instead of the snowplow elasticsearch loader:
The enriched events in the kinesis stream are in TSV format, and the self-describing fields are JSON within that TSV.
So just using firehose to pipe them as-is into elasticsearch likely won’t work. You could try to create your own lambda function to run as part of the firehose job to transform the data to JSON using one of our analytics SDKs, and possibly get firehose to work (I don’t know much about firehose so I’m not sure how likely success is here).
However, all of that work is already done for you if you use our loader, so I would consider whether it’s worth the effort.
Yeah pretty much this. Although you could pump Firehose => Lambda => Elasticsearch (you could not go Firehose => ES direct) you’d be reinventing the wheel.