prometheus.exporter.mongodb
General availability (GA)

prometheus.exporter.mongodb

The prometheus.exporter.mongodb component embeds the Percona mongodb_exporter.

Note

This exporter doesn’t collect metrics from multiple nodes. For this integration to work properly, you must connect each node of your MongoDB cluster to an Alloy instance.

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

Usage

alloy
prometheus.exporter.mongodb "<LABEL>" {
    mongodb_uri = "<MONGODB_URI>"
}

Arguments

You can use the following arguments with prometheus.exporter.mongodb:

NameTypeDescriptionDefaultRequired
mongodb_uristringMongoDB node connection URI.yes
direct_connectbooleanWhether or not a direct connect should be made. Direct connections aren’t valid if multiple hosts are specified or an SRV URI is used.falseno
discovering_modebooleanWhether or not to enable autodiscover collections.falseno

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

Blocks

The prometheus.exporter.mongodb component doesn’t support any blocks. You can configure this component with arguments.

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 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 doesn’t expose any component-specific debug information.

Debug metrics

prometheus.exporter.mongodb doesn’t expose any component-specific debug metrics.

Example

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

alloy
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 = "<PROMETHEUS_REMOTE_WRITE_URL>"
  }
}

Replace the following:

  • <PROMETHEUS_REMOTE_WRITE_URL>: The URL of the Prometheus remote_write compatible server to send metrics to.

Compatible components

prometheus.exporter.mongodb has exports that can be consumed by the following components:

Note

Connecting some components may not be sensible or components may require further configuration to make the connection work correctly. Refer to the linked documentation for more details.