Menu

Caution

Grafana Alloy is the new name for our distribution of the OTel collector. Grafana Agent has been deprecated and is in Long-Term Support (LTS) through October 31, 2025. Grafana Agent will reach an End-of-Life (EOL) on November 1, 2025. Read more about why we recommend migrating to Grafana Alloy.

Important: This documentation is about an older version. It's relevant only to the release noted, many of the features and functions have been updated or replaced. Please view the current version.

Open source

prometheus.exporter.mongodb

The prometheus.exporter.mongodb component embeds percona’s mongodb_exporter.

Note

For this integration to work properly, you must have connect each node of your MongoDB cluster to an agent instance. That’s because this exporter does not collect metrics from multiple nodes.

We strongly recommend configuring a separate user for the Grafana Agent, giving it only the strictly mandatory security privileges necessary for monitoring your node. Refer to the Percona documentation for more information.

Usage

river
prometheus.exporter.mongodb "LABEL" {
    mongodb_uri = "MONGODB_URI"
}

Arguments

You can use the following arguments to configure the exporter’s behavior. Omitted fields take their default values.

NameTypeDescriptionDefaultRequired
mongodb_uristringMongoDB node connection URI.Yes

MongoDB node connection URI must be in the Standard Connection String Format

Exported fields

The following fields are exported and can be referenced by other components.

NameTypeDescription
targetslist(map(string))The targets that can be used to collect exporter metrics.

For example, the targets can either be passed to a discovery.relabel component to rewrite the targets’ label sets, or to a prometheus.scrape component that collects the exposed metrics.

The exported targets will use the configured in-memory traffic address specified by the run command.

Component health

prometheus.exporter.mongodb is only reported as unhealthy if given an invalid configuration. In those cases, exported fields retain their last healthy values.

Debug information

prometheus.exporter.mongodb does not expose any component-specific debug information.

Debug metrics

prometheus.exporter.mongodb does not expose any component-specific debug metrics.

Example

This example uses a prometheus.scrape component to collect metrics from prometheus.exporter.mongodb:

river
prometheus.exporter.mongodb "example" {
  mongodb_uri = "mongodb://127.0.0.1:27017"
}

// Configure a prometheus.scrape component to collect MongoDB metrics.
prometheus.scrape "demo" {
  targets    = prometheus.exporter.mongodb.example.targets
  forward_to = [ prometheus.remote_write.default.receiver ]
}

prometheus.remote_write "default" {
  endpoint {
    url = "REMOTE_WRITE_URL"
  }
}