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

# Host metrics with OpenTelemetry

> Collect CPU, memory, disk, filesystem, network, paging, process, and system-load metrics with the OpenTelemetry Collector and send them to Bronto.

Use the OpenTelemetry Collector's `hostmetrics` receiver to collect operating-system metrics from Linux, Windows, and macOS hosts. Run one Collector on each host so the measurements describe the machine where the Collector is running.

<Note>
  OTLP metrics ingestion is in public beta. Bronto supports sums, gauges, summaries, and explicit histograms. Exponential histograms are not supported, and the Metric Explorer does not currently provide a Rate function.
</Note>

## Prerequisites

* A Bronto API key with ingestion permissions
* The OpenTelemetry Collector Contrib distribution installed on the host
* Network access to `https://ingestion.<REGION>.bronto.io:443`

## Configure the Collector

```yaml /etc/otel/config.yaml theme={"dark"}
receivers:
  hostmetrics:
    collection_interval: 30s
    scrapers:
      cpu:
      disk:
      filesystem:
      load:
      memory:
      network:
      paging:
      process:
      processes:
      system:

processors:
  resourcedetection:
    detectors: [env, system]
    system:
      hostname_sources: [os]
  batch:

exporters:
  otlphttp/brontometrics:
    metrics_endpoint: "https://ingestion.<REGION>.bronto.io/v1/metrics"
    compression: gzip
    headers:
      x-bronto-api-key: <YOUR_API_KEY>

service:
  pipelines:
    metrics:
      receivers: [hostmetrics]
      processors: [resourcedetection, batch]
      exporters: [otlphttp/brontometrics]
```

Replace `<REGION>` with `eu` or `us`. Remove any scraper you do not need. Some scrapers or individual measurements are operating-system specific.

<Warning>
  If the Collector runs in a container, it sees the container's filesystem and process namespace by default. Mount the host filesystem and set the receiver's root path according to the Collector distribution documentation, or install the Collector directly on the host.
</Warning>

## Add application telemetry

The configuration above collects host metrics. The same Collector can also receive application logs, metrics, and traces over OTLP. Add the `otlp` receiver and the corresponding pipelines from [Connect OpenTelemetry Collector to Bronto](/agent-setup/open-telemetry).

## Verify delivery

Open the Metric Explorer and select a `system.*`, `process.*`, or `system.network.*` metric. Confirm that the resource attributes identify the expected host.

## Troubleshooting

* **No metrics:** confirm the Collector build includes the `hostmetrics` receiver.
* **Missing process metrics:** check that the Collector user can inspect other processes on the host.
* **Missing filesystem metrics:** check filesystem include/exclude filters and container mounts.
* **Unexpected hostname:** configure `hostname_sources` explicitly in the `resourcedetection` processor.

For receiver-specific options, see the [OpenTelemetry host metrics receiver](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/receiver/hostmetricsreceiver).
