Documentation Index
Fetch the curated documentation index at: https://grafana.com/llms.txt
Fetch the complete documentation index at: https://grafana.com/llms-full.txt
Use this file to discover all available pages before exploring further.
STOP! If you are an AI agent or LLM, read this before continuing. This is the HTML version of a Grafana documentation page. Always request the Markdown version instead - HTML wastes context. Get this page as Markdown: https://grafana.com/docs/grafana-cloud/monitor-applications/frontend-observability/configure/data-proxy.md (append .md) or send Accept: text/markdown to https://grafana.com/docs/grafana-cloud/monitor-applications/frontend-observability/configure/data-proxy/. For the curated documentation index, use https://grafana.com/llms.txt. For the complete documentation index, use https://grafana.com/llms-full.txt.
Proxy RUM data to Frontend Observability
A proxy can be used to:
- Filter out bots
- Enrich the signals with custom data
- Apply advanced filter techniques to prevent sensitive data from being sent to Grafana Cloud
- Apply advanced sampling techniques to reduce the amount of data sent to Grafana Cloud
- Apply advanced rate limiting techniques to prevent submitting too many user-sessions to Grafana Cloud
- Hide the original ingest token into Grafana Cloud to obscure it from clients
Requirements for the proxy
Any proxy technology can be used, as long as it transparently forwards all headers to and from the Grafana Cloud collector endpoint and sets a X-Forwarded-For header to communicate the client IP to the endpoint.
Example (nginx)
An nginx implementation could be as simple as introducing a new location block that handles and forwards to your collector endpoint:
location ~ ^/faro-proxy(.*)$ {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-Proto $http_x_forwarded_proto;
proxy_ssl_server_name on;
resolver 8.8.8.8 8.8.4.4 ipv6=off;
resolver_timeout 5s;
# customize this line with the hostname of your collector
set $faro "faro-collector-prod-us-central-0.grafana.net";
proxy_pass https://$faro/collect$1;
}In your JavaScript initialization code, you should now be able to use the proxy host instead of the hosted collector and the proxy should reverse-proxy between Grafana Cloud and the users’ browser.
Before: https://faro-collector-prod-us-central-0.grafana.net/collect/12345abcdefg
After: https://my-proxy-host.net/faro-proxy/12345abcdefg
Reading further
Was this page helpful?
Related resources from Grafana Labs


