# Send Metrics to the Platform

You can send metrics to the <code class="expression">space.vars.monitoring\_service</code> using agents such as Fluent Bit, Grafana Agent, Prometheus, and OpenTelemetry Collector.

This Quickstart shows how to create a pipeline, get an API key, and configure one of these agents.

## Prerequisites

* An IONOS Cloud account with permissions to create monitoring pipelines.
* Outbound `HTTPS` access on port 443.
* The required agent or collector must be installed on your system.

Example endpoint:

`123456789-metrics.987654321.monitoring.de-txl.ionos.com`

{% hint style="info" %}
**Note:** To make a final and complete address, add `api/v1/push` to the end of the endpoint. For example: `123456789-metrics.987654321.monitoring.de-txl.ionos.com/api/v1/push`.
{% endhint %}

You can also find Prometheus configuration examples in our [<mark style="color:blue;">GitHub repository</mark>](https://github.com/ionos-cloud/observability-services-user-documentation/tree/main/monitoring).

{% stepper %}
{% step %}

### Create a pipeline

Send a `POST` request to the Monitoring Service API:

```bash
curl -X POST "https://monitoring.de-txl.ionos.com/pipelines"
  -H "Content-Type: application/json" \
  -d '{"name": "example-pipeline"}'
```

The response includes the `httpEndpoint`. Save this value.
{% endstep %}

{% step %}

### API key usage

Use the `API Key` returned when you created the pipeline for authentication.\
You only need to generate a new one in specific cases, such as:

* The key was accidentally shared
* The key was lost
* A team member with access left the company

To generate a new `API key`, run:

```bash
curl -X POST "https://monitoring.de-txl.ionos.com/pipelines/<PIPELINE_ID>/key"
```

This will issue a new `API Key` and replace the previous one.

The final endpoint for sending metrics is:

```perl
https://<HTTP_ENDPOINT>/api/v1/push
```

{% endstep %}
{% endstepper %}

## Configure an agent

Each agent requires the pipeline `httpEndpoint` and `API key`.

{% tabs %}
{% tab title="Fluent Bit" %}
This example shows how to configure Fluent Bit to send metrics to the Monitoring Service.

1. Install the Fluent Bit package for your distribution.
2. Update the `fluentbit.conf` file with the `HTTP endpoint` and `API key`.
3. Run Fluent Bit.
4. Check the logs to confirm metrics are sent.

```ini
[OUTPUT]
    Name   http
    Match  *
    Host   <pipeline-endpoint-host>
    Port   443
    URI    /
    Header Authorization Bearer <apiKey>
    Format json
```

{% endtab %}

{% tab title="Grafana Agent" %}
You can configure Grafana Agent to send metrics to the monitoring pipeline.

1. Install the Grafana Agent package for your distribution. For more information, refer to the [<mark style="color:blue;">Grafana Documentation</mark>](https://grafana.com/docs/agent/latest/about/).
2. Update the HTTP endpoint and API key in the configuration file.

```river
  prometheus.remote_write "LABEL" {
    endpoint {
      url = "your pipeline's httpEndpoint"

      headers = {
        "APIKEY" = "<API_KEY>",
      }
  }
}
```

{% endtab %}

{% tab title="Prometheus" %}
Prometheus is a monitoring and alerting toolkit designed for reliability and scalability. It is a pull-based system that scrapes metrics from instrumented jobs, either directly or through a push gateway for short-lived jobs.

1. Install the Prometheus package for your distribution.
2. Update the `prometheus.yml` file with the `HTTP endpoint` and `API key`.

```yaml
url: "your pipeline's httpEndpoint"
headers:
  APIKEY: "<APIKEY>"
```

{% endtab %}

{% tab title="OpenTelemetry" %}
OpenTelemetry is a set of APIs, libraries, agents, and instrumentation for observability. It is a [<mark style="color:blue;">Cloud Native Computing Foundation (CNCF)</mark>](https://docs.ionos.com/cloud/observability/monitoring-service-faqs#what-is-cloud-native-computing-foundation).

1. Install the OpenTelemetry Collector.
2. Update the configuration file with the `HTTP endpoint` and `API key`.

```yaml
exporters:
  prometheusremotewrite:
    endpoint: "your pipeline's httpEndpoint"
    external_labels:
      APIKEY: <API_KEY>
      label_name2: label_value2
```

{% endtab %}
{% endtabs %}

## Troubleshooting

1. **Verify:** Open the Monitoring Service dashboard and confirm that metrics appear.
2. **Invalid API key:** Check that you copied the correct key.
3. **Connection errors:** Verify outbound `HTTPS` access on port 443.
4. **No metrics displayed:** Confirm that the agent is running and producing data.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.ionos.com/cloud/observability/monitoring-service/quick-start/send-metrics-to-platform.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
