Tableau Resource Monitoring Tool (RMT) Response Headers

This article describes how to set custom response headers in Tableau Resource Monitoring Tool. The ability to do this was added in August 2024 maintenance releases of RMT.

Any changes to response headers require a restart of RMT.

Important: Changes to response headers can break RMT. If you make updates to headers, test after making any changes to confirm that RMT is working as it should.

Viewing and updating custom response headers

You can view and change custom response headers using rmtadmin get and rmtadmin set commands.

Get a list of all custom response headers

To view a list of currently set custom response headers, run this command:

rmtadmin get server:web:responseheaders

For example:

> rmtadmin get server:web:responseheaders
server:web:responseHeaders:Access-Control-Allow-Origin = *
server:web:responseHeaders:Connection = Keep-Alive
server:web:responseHeaders:X-Frame-Options = DENY
server:web:responseHeaders:X-Cache-Info = not cacheable; meta data too large

Get a the value of a specific custom response header

To get a specific custom response header:

rmtadmin get server:web:responseheader:<some header>

For example:

> rmtadmin get server:web:responseheader:X-Frame-Options
server:web:responseHeaders:X-Frame-Options = DENY

If you attempt to get or set a non-existent custom response header, this error displays:

> rmtadmin get server:web:responseheaders:<non-existent header>
[ERR] Config key not found. Key: server:web:responseHeaders:<non-existent header>

You can get multiple keys. Any duplicates are discarded. Invalid keys will be listed at the end:

> rmtadmin get server:web:responseheaders server:web:responseheaders:SomethingNew server:web:responseHeaders:Connection
server:web:responseHeaders:Access-Control-Allow-Origin = *
server:web:responseHeaders:Connection = Keep-Alive
server:web:responseHeaders:X-Frame-Options = DENY
server:web:responseHeaders:X-Cache-Info = not cacheable; meta data too large
[ERR] Config key not found. Key: server:web:responseheaders:SomethingNew

Set or update a specific custom response header

To set or change a specific custom response header:

rmtadmin set server:web:responseheader:<some header>

For example:

> rmtadmin set server:web:responseheaders:X-Frame-Options = Allow
Config value set successfully. Key: server:web:responseHeaders:X-Frame-Options
server:web:responseHeaders:X-Frame-Options = Allow

Headers are a string of the complete header and any key-value pairs (if applicable).

For example, this sets the keep alive timeout and max values:

rmtadmin set server:web:responseheader:connection "Keep-Alive: timeout=5, max=997"
Config value set successfully. Key: server:web:responseHeaders:Connection
server:web:responseHeaders:Connection = "Keep-Alive: timeout=5, max=997"

Remove a custom response header

> rmtadmin set server:web:responseheaders:X-Frame-Options --remove
Config value successfully removed. Key: server:web:responseHeaders:X-Frame-Options

Remove a regular config value

You cannot remove a regular config value and will get an error if you attempt to do so:

> rmtadmin set db:username --remove
[ERR] The --remove argument is not valid for this key. Key: db:username

Setting a custom response header value to an empty value

With all rmtadmin set keys except the custom response header, you must include a value. With custom response headers you can set a key to no value. This example sets the X-Frame-Options key to and empty value:

> rmtadmin set server:web:responseheaders:X-Frame-Options
Config value set successfully. Key: server:web:responseheaders:X-Frame-Options
server:web:responseheaders:X-Frame-Options =

This is different than removing the X-Frame-Options header.

Why would you want to do this? RMT generates some custom response headers by default and if you want to stop RMT from including a header you can set the key to an empty value.

For example, by default RMT generates a response header with X-Frame-Options = Deny. You can create a custom response header for X-Frame-Options:

> rmtadmin set server:web:responseheaders:X-Frame-Options ALLOW

To go back to the default you can remove it entirely or set it to DENY:

> rmtadmin set server:web:responseheaders:X-Frame-Options --remove

But if you do not want RMT to send anything you can set it to an empty value:

> rmtadmin set server:web:responseheaders:X-Frame-Options

Invalid headers

RMT allows you to set invalid response headers. If the response header you specify is not a valid one, RMT will warn you but allow you to set the value. It is your responsibility to verify that RMT is working properly after updating response headers.

You cannot set "responseheaders". You can only set individual child keys within the response header.

rmtadmin set server:web:responseheaders
[ERR] Key cannot be set: server:web:responseHeaders

 

Important: Test RMT after making any changes to the response headers.

Thanks for your feedback!Your feedback has been successfully submitted. Thank you!