An open API service indexing awesome lists of open source software.

https://github.com/odigos-io/example-qryn

example setup for sending odigos telemetry to qryn destination
https://github.com/odigos-io/example-qryn

Last synced: 24 days ago
JSON representation

example setup for sending odigos telemetry to qryn destination

Awesome Lists containing this project

README

        

# example-qryn

example setup for sending odigos telemetry to qryn self managed destination

## Deployments

For qryn self-managed destination, we deploy the following components:

- ClickHouse database - for qryn to store the telemetry data. The example uses one clickhouse pod with no replication or persistent storage. Production deployments should use a more robust and scalable setup.
- Qryn - the qryn destination that receives the telemetry data store it in ClickHouse and exposes query APIs.
- Grafana - for running run queries on the data and visualizing it.

## Run the Example

### Kubernetes Cluster

Make sure you have a playground Kubernetes cluster running and kubectl is configured to access it. To spin up a local ephemeral cluster for testing, you can use [kind](https://kind.sigs.k8s.io/): `kind create cluster`.

### Deploy Qryn Backend

Run the following make target to deploy the qryn backend components in the `qryn` namespace:

```sh
make deploy
```

### Run Demo Application

Add an application to the cluster to be instrumented with odigos.

You can use any application you like, or odigos simple-demo:

```sh
kubectl apply -f https://raw.githubusercontent.com/odigos-io/simple-demo/main/kubernetes/deployment.yaml
```

### Install Odigos

Use the [odigos cli or helm chart](https://docs.odigos.io/setup/installation) to install odigos in your cluster

### Instrumentation

If you haven't already, install odigos cli and open the odigos ui with:

```
odigos ui
```

- browse to the odigos on-boarding page
- add the sources you want to instrument (or all sources in default ns for the simple-demo)
- add the qryn destination. Give it the name `qryn`. For Api Url, use `http://qryn-qryn-helm.qryn:3100` and keep all other setting as default.

### Generate Traffic

Generate some traffic to the application to see the telemetry data in qryn. If you run the simple-demo application, you can port-forward the service to your local machine and click few buttons on the web page:

```sh
kubectl port-forward svc/frontend 8080:8080
```

## View Data

The easiest way to query and view the data collected by odigos, processed by qryn and stored in ClickHouse is to use Grafana.

Run this in your terminal to port-forward the Grafana service to your local machine:

```sh
make port-forward-grafana
```

and browse to http://localhost:3005 to access the grafana dashboard. The grafana credentials in this demo are:

- UserName: `admin`
- Password: get the autogenerated password by running: `make get-grafana-password`

Then go to the `Explore` section in Grafana and run queries for traces, logs and metrics data.