Skip to content
This repository has been archived by the owner on Oct 17, 2023. It is now read-only.

boroskoyo/sidekick-loki

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation


Logo

+

Logo

Sidekick Recipes: Send logs to Loki -Add missing logs to your running microservices

Send your collected tracepoint & logpoint events to your Loki instances.
Explore the docs »

Sidekick Home · Report Bug & Request Feature

Table of Contents
  1. About The Recipe
  2. Getting Started
  3. Usage
  4. Contact

About The Recipe


Sidekick is a production debugging and on-demand logging tool where you can debug your running applications while they keep on running. Sidekick provides the ability to add logs and put non-breaking breakpoints in your application code which captures the snapshot of the application state, the call stack, variables, etc.

Sidekick Actions:

  • A tracepoint is basically a non-breaking remote breakpoint. In short, it takes a snapshot of the variables when the code hits that line.
  • Logpoints open the way for dynamic logging to Sidekick users. Replacing traditional logging with dynamic logging has the potential to lower stage sizes, costs, and time for log searching while adding the ability to add new logpoints without editing the source code, redeploying or restarting the application

This recipe aims to help you send your collected tracepoint & logpoint events to your own Loki instances.

(back to top)

Built With

(back to top)

Getting Started

Prerequisites

tested with node v16.14.2

Installation

  1. Clone the repo

    git clone https://github.com/boroskoyo/sidekick-elastic.git
  2. Install NPM packages

    npm install
  3. Create a .env file and edit according to your needs

     sidekick_email: ""
     sidekick_password: ""
     loki_url: ""
     loki_auth: ""
  4. Edit the ingestFunc function if yo want to alter your logs. You can also define different functions for tracepoints & logpoints.

     function ingestFunc () {
         return async function (data) {
             logger.info(JSON.stringify(data));
         }
     }
  5. Run!

    npm start

(back to top)

Usage

You can also run this recipe in a container. For this purpose a Dockerfile is located in the directory.

(back to top)

Contact

Barış Kaya - @boroskoyo

Sidekick: website

(back to top)