Dashboard return "414 Request URI Too Large" when variables is too many

  • What Grafana version and what operating system are you using?
    grafana v7.3.5

  • What are you trying to achieve?

  • How are you trying to achieve it?

  • What happened?
    many options for a variable, i choose “All”, dashboard return “414 Request URI Too Large”

  • What did you expect to happen?
    dashboard display information for all options
    why not use “.*” when i choose “All” in url?

  • Can you copy/paste the configuration(s) that you are having problems with?

  • Did you receive any errors in the Grafana UI or in related logs? If so, please tell us exactly what they were.
    “414 Request URI Too Large”

  • Did you follow any online instructions? If so, what is the URL?

hello i think this is explicit, since grafana variable is URL parameter, if you have a long list of item it could be too long for URL prerequesite.
You may have to create variable to use it as you suggested (use wildcard ).
Maybe you can create hadock solution null by default and have a “all” label choice inserting the right value (OR colum.name like %)

1 Like

Hi @jiahuizhao11,

Welcome to the :grafana: community forum !!

You can also do the following i.e. on the web server e.g. Nginx add the following parameter

client_header_buffer_size 512k;
large_client_header_buffers 4 512k;

Also, one other solution is to use the POST method for HTTP Requests. You will find this setting inside the datasource you configured before creating the query

This rare condition is only likely to occur when a client has improperly converted a POST request to a GET request with long query information. The HTTP 414 URI Too Long response status code indicates that the URI(Uniform Resource Identifier) requested by the client is longer than the server is willing to interpret.

To resolve this problem :

  • By POST request: Convert query string to json object and sent to API request with POST.

  • By GET request: Max length of request is depend on sever side as well as client side. Most webserver have limit 8k which is configurable. On the client side the different browser has different limit. The browser IE and Safari limit to 2k, Opera 4k and Firefox 8k. This means that the max length for the GET request is 8k and min request length is 2k.

If exceed the request max length then the request truncated outside the limit by web server or browser without any warning. Some server truncated request data but the some server reject it because of data lose and they will return with response code 414 Request-URI Too Large.

Under Apache, the limit is a configurable value, LimitRequestLine. If you want to increase URL limit to 5000 characters (bytes), add the following lines to your server configuration or virtual host file.

LimitRequestLine 5000

If you want to increase maximum header length supported by Apache to 3000 characters, then add the following line.

LimitRequestFieldSize 3000

1 Like