On-Demand Logging

Sidekick Recipes #1: Elasticsearch Ingest

Sidekick Recipes aim to show you how you can get the most from Sidekick.
Baris Kaya
2 mins read

"What problem does Sidekick solve? " This is the question that we ask each other each and every day.

Introducing Sidekick Recipes

Sidekick comes with many advanced features and lets users collect virtually any data from their running applications. All in all, this sounds great but for what do we collect all those data? As the product team, we already have  answers to this question but the number of different use cases that we receive from our customers is surprisingly many. For instance; some tend to use Sidekick for onboarding new engineers to their microservices architecture while others just want to add logs while their apps are running. Seeing all those different uses we decided to start our new series:  Sidekick Recipes!

Sidekick Recipes aim to show you how you can get the most from Sidekick. As we will be providing you with our new library and let you control  the consequences of your tracepoint & logpoint events, possibilities are simply endless. Recipes basically work like any of our client applications (VSCode & IntelliJ extension) but let users add their own logic. We are starting this series with our first recipe: Elasticsearch Ingest

Recipe #1: Elasticsearch Ingest

Origin: One of our customers wanted to retain their Sidekick log data in their Elasticsearch instance.

Elasticsearch integration was already on our roadmap but our customer was looking for a custom solution that they can configure easily and they wanted this integration ASAP. As a result, we have developed our first recipe.

It is a simple node application that you can get from: https://github.com/boroskoyo/sidekickelastic

and it lets you send logs and traces to your own Elasticsearch instance.

Below you can see how you can connect Sidekick with Elasticsearch in just a few steps:

Prerequisites

This recipe has been tested with node v16.14.2

  • npm
npm install npm@latest -g

Installation

  • Clone the repo
git clone https://github.com/boroskoyo/sidekickelastic.git

1. Install NPM packages

npm install

2. Edit <code>config.json</code> according to your needs


"elasticsearch-url": "<>",
"elasticsearch-apikey": "<>",
"sidekick_host": "ws://127.0.0.1",
"sidekick_port": "7777",
"sidekick_token": "",
"sidekick_tracepoint_index": "sidekick_tracepoint"
,"sidekick_logpoint_index": "sidekick_logpoint"

3. Run!

npm start

Conclusion

It is as easy as it gets and we are not done yet. We are planning to release many new recipes for new use cases. We just started with the Elasticsearch recipe but many more to come. We are working hard on exploring ways to combine next-gen ways to combine monitoring with production debugging.

Please let us know your invaluable ideas because they will guide us on our path to discovering the future of application observability. You can get in touch with us through Twitter, and join our Discord community.

Fresh insights from Sidekick experts every week.

Get the best insights, delivered straight to your inbox.