prometheus.exporter.mongodb
The prometheus.exporter.mongodb
component embeds percona’s mongodb_exporter
.
Note
This exporter doesn’t collect metrics from multiple nodes. For this integration to work properly, you must have 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
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.
Name | Type | Description | Default | Required |
---|---|---|---|---|
mongodb_uri | string | MongoDB node connection URI. | yes | |
direct_connect | boolean | Whether or not a direct connect should be made. Direct connections are not valid if multiple hosts are specified or an SRV URI is used. | false | no |
discovering_mode | boolean | Wheter or not to enable autodiscover collections. | false | no |
tls_basic_auth_config_path | string | Path to the file having Prometheus TLS config for basic auth. Only enable if you want to use TLS based authentication. | no |
MongoDB node connection URI must be in the Standard Connection String Format
For tls_basic_auth_config_path
, check tls_config
for reference on the file format to be used.
Exported fields
The following fields are exported and can be referenced by other components.
Name | Type | Description |
---|---|---|
targets | list(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
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
:
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"
}
}
Compatible components
prometheus.exporter.mongodb
has exports that can be consumed by the following components:
- Components that consume Targets
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.