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

# otel-collector

> Inspect msb-metrics output locally with the OpenTelemetry Collector

<Note>
  This recipe ships data emitted by [`msb-metrics`](/observability/msb-metrics).
  See the msb-metrics page for the flag reference, metric names, and
  deployment constraints.
</Note>

Run the upstream [OpenTelemetry Collector](https://opentelemetry.io/docs/collector/)
locally with a `debug` exporter to see exactly what `msb-metrics` is
sending. Useful for development and for verifying metric names,
attributes, and protocols before pointing at a real backend.

<Steps>
  <Step title="Install the collector">
    Download `otelcol` (or `otelcol-contrib`) from the
    [official releases](https://github.com/open-telemetry/opentelemetry-collector-releases/releases),
    or run via Docker.
  </Step>

  <Step title="Configure the OTLP receiver + debug exporter">
    Save as `otel-collector.yaml`:

    ```yaml theme={null}
    receivers:
      otlp:
        protocols:
          grpc:
            endpoint: 0.0.0.0:4317
          http:
            endpoint: 0.0.0.0:4318

    exporters:
      debug:
        verbosity: detailed

    service:
      pipelines:
        metrics:
          receivers: [otlp]
          exporters: [debug]
    ```
  </Step>

  <Step title="Start the collector">
    ```sh theme={null}
    otelcol --config=otel-collector.yaml
    ```
  </Step>

  <Step title="Point msb-metrics at it">
    ```sh theme={null}
    msb-metrics otel --endpoint=http://localhost:4317 --log-level=debug
    ```

    Boot a sandbox (`msb run alpine`) and watch metrics scroll past in
    the otel-collector log. You should see records like
    `microsandbox.cpu.utilization` with the configured resource and
    identity attributes attached.
  </Step>
</Steps>

<Note>
  The `debug` exporter replaced the older `logging` exporter in
  otel-collector v0.111.0. If your installation pre-dates that, use
  `exporters.logging` instead.
</Note>

## Verbosity levels

The `verbosity` field controls how much detail the debug exporter
prints:

| Level             | Output                                   |
| ----------------- | ---------------------------------------- |
| `basic` (default) | one summary line per export              |
| `normal`          | summary plus high-level metric names     |
| `detailed`        | full datapoint values and all attributes |

Use `detailed` while verifying that attributes and units are correct;
drop to `basic` once you're confident the pipeline works.

## Reference

* [otel-collector debug exporter README](https://github.com/open-telemetry/opentelemetry-collector/blob/main/exporter/debugexporter/README.md)
* [Collector configuration reference](https://opentelemetry.io/docs/collector/configuration/)
