The Prometheus Remote Write integration enables seamless metric data export from Prometheus to external systems at both partner and client levels. This integration ensures efficient data transfer, supporting advanced monitoring, analytics, and troubleshooting needs across diverse environments.
Prerequisites
An environment instrumented with Prometheus that has access to the OpsRamp portal.
Add a Prometheus Remote Write integration
Partner level
Select a Partner from the available list.
Navigate to Setup > Accounts.
Click on the Integrations tile.The Installed Integrations page, where all the installed applications are displayed.
Note
If there are no installed applications, it will navigate to the Available Integrations page.
Click + ADD on the Installed Integrations page. The Available Integrations page displays all the available applications along with the newly created application with the version.
Note
You can even search for the application using the search option available. Also you can use the All Categories option to search.
Click +ADD in the Prometheus Remote Write application.
Enter a Name for the Prometheus Remote Write integration.
Select the Type: Normal or Containerized. Normal: Select this type when Prometheus is installed on a virtual machine or bare metal machine. Containerized: Select this type when Prometheus is installed in a container orchestration environment like Kubernetes.
Click Next.
For Normal deployment:
Follow the below given on-screen instructions displayed after installing the integration and click Finish:
For Containerized deployment:
ConfigMap:
Follow the below given on-screen instructions displayed after installing the integration:
For Prometheus Operator:
Follow the below given on-screen instructions displayed after installing the integration:
Note
To deploy the Prometheus Remote Write integration to their clients, partners must include the tenant IDs in the configuration, ensuring the integration is installed across all selected clients.
Client level
Click All Clients and from the drop-down list, select a client.
Navigate to Setup > Accounts.
Click on the Integrations tile.The Installed Integrations page, where all the installed applications are displayed.
Note
If there are no installed applications, it will navigate to the Available Integrations page.
Click + ADD on the Installed Integrations page. The Available Integrations page displays all the available applications along with the newly created application with the version.
Note
You can even search for the application using the search option available. Also you can use the All Categories option to search.
Click +ADD in the Prometheus Remote Write application.
Enter a Name for the Prometheus Remote Write integration.
Select the Type: Normal or Containerized. Normal: Select this type when Prometheus is installed on a virtual machine or bare metal machine. Containerized: Select this type when Prometheus is installed in a container orchestration environment like Kubernetes.
Click Next.
For Normal deployment:
Follow the below given on-screen instructions displayed after installing the integration and click Finish:
For Containerized deployment:
ConfigMap:
Follow the below given on-screen instructions displayed after installing the integration:
For Prometheus Operator:
Follow the below given on-screen instructions displayed after installing the integration:
The number of active series per metric per client is 50000. You can avoid the limit by configuring Prometheus to filter metrics. For example, use the following configuration to limit apiserver_request_duration_seconds_bucket and etcd_request_duration_seconds_bucket metrics:
Below are the recommended Prometheus Remote-Write Configuration tuning:
Configuration Parameter
Description
capacity
How many samples are queued in memory per shard before blocking reading from the WAL. When the WAL is blocked, samples cannot be appended to any shards and all throughput ceases.
max_shards
The maximum number of shards, or parallelism, Prometheus uses for each remote write queue.
min_shards
The minimum number of shards used by Prometheus, which is the number of shards used when remote write starts.
max_samples_per_send
The maximum number of samples sent per batch, which can be adjusted depending on the back end in use.
batch_send_deadline
The maximum time interval between sends for a single shard, in seconds.
min_backoff
The minimum time to wait before retrying a failed request, in seconds.
max_backoff
The maximum time to wait before retrying a failed request, in seconds.
Configuration examples to filter metrics pushed to remote write
Prometheus can be configured to filter the metrics to be pushed to a remote endpoint like the agent. See the Prometheus configuration remote_write property documentation for more information.
Drop samples example
The following writeRelabelConfigs configuration drops samples with a metric name that starts with go:
You can also change a label using the replace action before pushing it to a remote endpoint. The following example replaces samples with a metric name that starts with go with the name sample_go_label: