# Monitoring

Bindplane is instrumented with OpenTelemetry metrics, allowing server operators to track Bindplane's health using the monitoring backend of their choice.

### Metrics

See [Metrics](/configuration/bindplane/monitoring/metrics.md) For a comprehensive list of metrics.

### Monitoring Bindplane Server

Bindplane can be configured to export metrics about its health, for example allowing you to see a sudden drop in connected collectors or dangerously high memory utilization. These metrics can be collected by two methods: scraping a Prometheus endpoint on the server, or sending to an OTLP endpoint.

For both methods, we recommend collecting the metrics with the Bindplane Collector, which can then perform processing and forward metrics to your monitoring platform.

By default, your `config.yaml` file will contain this base metrics block, which doesn't export anything:

```yaml
metrics:
  interval: 1m0s
  prometheus:
    endpoint: /metrics
```

#### OTLP

Use the following values for the metrics block of your `config.yaml`.

```yaml
metrics:
  type: otlp
  interval: 60s
  otlp:
    endpoint: 127.0.0.1:4317
    insecure: true
```

With this configuration, metrics will be exported every 60 seconds to an OTLP endpoint without TLS.\
To have your Bindplane Collector collect these metrics, add an OTLP source listening on port 4317.

#### Prometheus

Use the following values for the metrics block of your `config.yaml`.

```yaml
metrics:
  type: prometheus
  interval: 60s
  prometheus:
    endpoint: /metrics
```

With this configuration, metrics will be available in Prometheus format at the `/metrics` of the Bindplane server. The endpoint will be available without authentication. To protect the endpoint with basic auth, provide the `username` and `password` parameters:

```yaml
metrics:
  type: prometheus
  interval: 60s
  prometheus:
    endpoint: /metrics
    username: user
    password: pass
```

We recommend collecting the metrics using the Bindplane Collector.


---

# 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.bindplane.com/configuration/bindplane/monitoring.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.
