Request Header Collection

AppSignal collects headers for HTTP requests by default for supported frameworks. This data may help track down errors or performance issues that were caused by request header data a client is sending. In compliance with GDPR, AppSignal collects a minimal amount of headers by default. To comply with GDPR rules, collecting no user identifiable data, AppSignal collects a very limited amount of headers by default.

To further limit the collection of header data, you can configure which headers AppSignal collects.

🔍 Read more about request header filtering and what types of headers to set up filtering for in our Request Header Collection documentation.

⚠️ Do not send personal data to AppSignal. If request headers contain personal data, you must use filtering to avoid sending this data to AppSignal.

Configure Headers

An application's session data can be filtered by configuring keys in an allowlist. This allowlist system will filter out all the session data keys not in this list.

AppSignal does not collect the name or value of headers filtered out by your allowlist.

Example

For example, an application with this AppSignal config:

request_headers: ["Request-Method"]

Will only send the Request-Method header to AppSignal.com.

Ruby

AppSignal automatically stores the configured request headers in the Ruby integration for Rails apps and other frameworks. It has a built-in list of request headers to collect by default that you can customize with the request_headers config option.

To configure which request headers to collect for each request, add the following configuration to your config/appsignal.yml file in the environment group where you want it to apply. The request_headers

# Example: config/appsignal.yml
production:
  request_headers: # Example list of headers
    - PATH_INFO
    - REQUEST_METHOD
    - REQUEST_URI
    - SERVER_NAME
    - SERVER_PORT
    - SERVER_PROTOCOL

Elixir

AppSignal automatically stores the configured request headers for Phoenix apps and other frameworks in the Elixir integration. It has a built-in list of request headers collected by default which you can customize using the request_headers config option.

To configure which request headers to collect for each request, add the following configuration to your config/appsignal.exs file in the environment group where you want it to apply. The request_headers value is a list of strings.

# Example: config/appsignal.exs
config :appsignal, :config,
  request_headers: ~w(
    path-info request-method request-uri server-name server-port server-protocol
  ) # Example list of headers

Node.js

In the Node.js integration, AppSignal automatically stores the configured request headers for Express apps and other frameworks. It has a built-in list of request headers to collect by default that you can customize with the requestHeaders config option.

To configure which request headers to collect for each request, add the following configuration to your AppSignal client instance creation. The requestHeaders value is an array of strings.

const appsignal = new Appsignal({
  requestHeaders: ["accept", "cache-control", "content-length", "range"],
});

Need more help?

Contact us and speak directly with the engineers working on AppSignal. They will help you get set up, tweak your code and make sure you get the most out of using AppSignal.

Contact us

Start a trial - 30 days free

AppSignal is a great way to monitor your Ruby, Elixir & Node.js applications. Works great with Rails, Phoenix, Express and other frameworks, with support for background jobs too. Let's improve your apps together.

Start a trial