> ## Documentation Index
> Fetch the complete documentation index at: https://checklyhq.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Export Metrics & Data via Coralogix

> Deep integration with Coralogix for Open Telemetry tracing, RUM monitoring, and alert notifications

Checkly deeply integrates with [Coralogix](https://coralogix.com/) in three ways:

1. Checkly can automatically instrument all check executions with **Open Telemetry tracing** and send the data to Coralogix
   as traces.
2. Checkly can automatically instrument your Browser checks with **Coralogix RUM (Real User Monitoring)**.
3. Checkly can send **alert notifications** when checks pass and/or fail to **Coralogix Logs**.

## Open Telemetry tracing integration

To set up the Open Telemetry tracing integration, first enable the Coralogix integration in your Checkly account in the
[integrations section](https://app.checklyhq.com/settings/account/integrations).

<img src="https://mintcdn.com/checkly-422f444a/0b4gCdAyz7Dv4O-Z/images/docs/images/integrations/coralogix/cx_otel_int1.png?fit=max&auto=format&n=0b4gCdAyz7Dv4O-Z&q=85&s=5378e346706d46d5c612aef4015ee21d" alt="coralogix otel integration" width="993" height="481" data-path="images/docs/images/integrations/coralogix/cx_otel_int1.png" />

1. Pick the region of your tenant and enter the team name. We use this to determine the correct trace ingest endpoint for Coralogix.
2. Create a "Send Your Data" API key in your Coralogix account, you can find these in the **Data Flow > API Keys** section
   of your Coralogix dashboard. Copy and paste the API key.

The integration is now active and Checkly will start doing two things

1. Send a trace for every check run to Coralogix.
2. Instrument all HTTP requests generated by the check with the following headers:

| Header        | Value                                          | Description                                                                                                           |
| ------------- | ---------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- |
| `traceparent` | `{version}-{trace_id}-{span_id}-{trace_flags}` | A trace parent ID in [the canonical w3c format](https://www.w3.org/TR/trace-context/#traceparent-header-field-values) |
| `tracestate`  | `checkly=true`                                 | A vendor specific header so you can recognize traces originating from Checkly                                         |

<img src="https://mintcdn.com/checkly-422f444a/0b4gCdAyz7Dv4O-Z/images/docs/images/integrations/coralogix/cx_otel_int2.png?fit=max&auto=format&n=0b4gCdAyz7Dv4O-Z&q=85&s=e5638103a14fd32549ab8cab701e0903" alt="coralogix checkly traces in coralogix" width="1263" height="933" data-path="images/docs/images/integrations/coralogix/cx_otel_int2.png" />

Moreover, it will show a **trace ID** and a **permalink** to the recorded trace in the check result page, so you can easily
correlate the check run with the trace in Coralogix.

<img src="https://mintcdn.com/checkly-422f444a/0b4gCdAyz7Dv4O-Z/images/docs/images/integrations/coralogix/cx_otel_int3.png?fit=max&auto=format&n=0b4gCdAyz7Dv4O-Z&q=85&s=015777143aa236d8bd01fd0afefcd448" alt="coralogix link in checkly result" width="1441" height="899" data-path="images/docs/images/integrations/coralogix/cx_otel_int3.png" />

Each trace will have the following metadata added to it as **tags**:

| Tag                        | Description                                                   |
| -------------------------- | ------------------------------------------------------------- |
| `checkly.account.id`       | The ID of the Checkly account the check belongs to.           |
| `checkly.check.id`         | The ID of the Checkly check that generated the trace.         |
| `checkly.check.name`       | The name of the Checkly check that generated the trace.       |
| `checkly.check.type`       | The type of the Checkly check that generated the trace.       |
| `checkly.check.runtime`    | The runtime ID of the Checkly check that generated the trace. |
| `checkly.check.session.id` | The unique ID of the check session the check belongs to.      |
| `checkly.check.result.id`  | The unique result ID of the check run.                        |
| `checkly.check.location`   | The location ID of where the check was run, i.e. `us-east-1`. |

Using these tags, you can create filters, dashboards and slice & dice your Checkly data as your runs are executed and
ingested into Coralogix as traces.

If you are using a different trace header than the standard `traceparent`, you can configure this header in the *custom
trace header* field in the integration settings.

### What's included

* Traces for every check execution
* HTTP request instrumentation with W3C headers
* Trace correlation metadata

<Note>
  Check **metrics** (response times, availability, etc.) are not sent through this integration. To send these metrics
  to Coralogix, scrape them via the [Prometheus integration](https://www.checklyhq.com/docs/integrations/observability/prometheus-v2/)
  and forward to Coralogix using an OpenTelemetry Collector.
</Note>

## RUM integration

In addition to the Open Telemetry tracing, Checkly can also send RUM data to Coralogix for all Browser checks. This enables
tracking your Playwright-powered checks to be recorded as (semi) real users, so you can compare and contrast the performance
between synthetic and real users.

<img src="https://mintcdn.com/checkly-422f444a/0b4gCdAyz7Dv4O-Z/images/docs/images/integrations/coralogix/cx_rum_int1.png?fit=max&auto=format&n=0b4gCdAyz7Dv4O-Z&q=85&s=73971c36b868834a4f069732115efc5a" alt="coralogix rum integration" width="1964" height="1302" data-path="images/docs/images/integrations/coralogix/cx_rum_int1.png" />

1. Click **Enable Coralogix RUM** and pick the region of your tenant.
2. Set the global name of the application you will be targeting with your checks, e.g. "Acme webshop".
3. Create a new RUM integration in your Coralogix account via **Data Flow > Integrations > Real User Monitoring**

<img src="https://mintcdn.com/checkly-422f444a/0b4gCdAyz7Dv4O-Z/images/docs/images/integrations/coralogix/cx_rum_api_creation.png?fit=max&auto=format&n=0b4gCdAyz7Dv4O-Z&q=85&s=7b02177f5efcebb422da555762a54387" alt="rum api key area" width="1476" height="640" data-path="images/docs/images/integrations/coralogix/cx_rum_api_creation.png" />

4. You will need to create an **Integration Key** and a **SourceMap Upload Key**.
   Copy and paste the integration key into Checkly.

> Only the integration key is needed for the Checkly integration.

5. As Checkly automatically injects the Coralogix RUM SDK to each browser check run, uploading and setting up the SourceMap is not required. You can **skip** the **Install & setup Browser SDK Package** step and finish the set up there.

If you are targeting multiple applications with your checks, you can override the global application name by adding the
environment variable `CORALOGIX_RUM_APP_NAME` to your Browser check. You can find the Browser check specific environment
variables under **Settings** > **Environment variables** in the Browser check editor.

After enabling the RUM integration, Checkly will start sending RUM data to Coralogix for all Browser checks.

> Note that you do not need to install the RUM SDK in your application, Checkly will automatically inject the necessary
> JavaScript snippet into your Browser checks. However, if you have installed the SDK we will use the existing installation and not inject the snippet.

## Alert Channel → Coralogix Logs integration

You can set up Coralogix as an alert channel destination, so Coralogix receives any alert notifications you have set up as logs.
Note that you can use this integration separately from the other two integrations mentioned above.

1. In Checkly, navigate to [alert settings](https://app.checklyhq.com/alerts/settings/). Click the **Add more channels**
   button, find Coralogix on the list, and click **Add channel**.

<img src="https://mintcdn.com/checkly-422f444a/0b4gCdAyz7Dv4O-Z/images/docs/images/integrations/coralogix/coralogix_alert_channels.png?fit=max&auto=format&n=0b4gCdAyz7Dv4O-Z&q=85&s=34037aa5ef594330452426b3328a1d42" alt="coralogix alert channels" width="1552" height="718" data-path="images/docs/images/integrations/coralogix/coralogix_alert_channels.png" />

2. Create a "Send Your Data" API key in your Coralogix account, you can find these in the **Data Flow > API Keys** section
   of your Coralogix dashboard. Copy and paste the API key.

3. Give your channel a name, and provide the correct Coralogix Logs API endpoint for the appropriate region, e.g.
   `https://ingress.eu2.coralogix.com/logs/v1/singles` Make sure that the right checks are subscribing to the channel and
   that the **Send when** rules are correctly set, then hit **Save Coralogix Webhook**.

<img src="https://mintcdn.com/checkly-422f444a/0b4gCdAyz7Dv4O-Z/images/docs/images/integrations/coralogix/coralogix_step4.png?fit=max&auto=format&n=0b4gCdAyz7Dv4O-Z&q=85&s=21fd3a6ea938d5bcd848d053fe984cc2" alt="coralogix integration step 4" width="1500" height="752" data-path="images/docs/images/integrations/coralogix/coralogix_step4.png" />
