Skip to content

bwplotka/correlator

Repository files navigation

correlator

A Prove of concept (PoC) of HTTP Service enabling smart correlations between cloud-native data.

Description

This PoC was introduced in KubeConEU 2022 in the talk "Story of Correlation: Integrating Thanos Metrics with Observability Signals" by @kakkoyun and @bwplotka

Slides are available here

How to use the demo?

Requirements: Go installed in version 1.17 or higher.

  1. From the root repo run make docker which will build two images: ping for demo service we observe and correlator which is our correlator microservice.

  2. Run Go unit test located in examples/observability/observability_test.go. You can do that via your IDE or by running go test -v -run "TestCorrelatorWithObservability" ./.... NOTE this is interactive e2e tests implemented in https://github.com/efficientgo/e2e framework.

  3. Once started this test should spin up the demo setup that looks as in the diagram below:

    diagram

  4. 6 browser tabs should open once setup started (within 10 seconds):

    1. Thanos UI showing alerts.
    2. Thanos UI allowing querying metrics.
    3. Grafana home UI.
    4. Jaeger UI allowing searching for traces.
    5. Parca UI allowing searching for profiles.
    6. Correlator UI allowing to pass Alerts.
  5. You can pass firing Alert name from Thanos UI Alert tab (it should be firing after minute or two) to Correlator UI, which should return JSON response with useful links and descriptions. NOTE: We recommend using some JSON prettify Chrome plugin for link formatting. With correct alert name it should look like this:

    diagram

  6. You can cleanly terminate setup by clicking on URL provided in test output on line that starts with "Waiting for user HTTP request on. Alternatively copy this URL manually to browser. You should see EMPTY page. From now on the Go test should finish with "passed" status.

Projects Used

Projects are using Apache 2 License if not marked otherwise.

Standalone Projects

Go Libraries

About

Small HTTP Service enabling smart correlations between cloud-native data.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published