Skip to content
This repository has been archived by the owner on Dec 11, 2023. It is now read-only.

Configuration

nextmat edited this page Nov 1, 2012 · 24 revisions

Configuration options

There are two primary ways to configure librato-rails. You can either use a yaml-based config file, environment variables, or a combination of the two.

When using a config file you configure each environment separately. Environment variables differ in that they will be used by all environments when present.

Config file

To use a config file, create a file named librato.yml in the config directory of your rails project. Here's a sample config file:

production:
  user: '[email protected]'
  token: 'api key'

staging:
  user: '[email protected]'
  token: 'api key'
  source: 'staging-1'

The following options can be set per environment in config files:

  • user - the email address of your Librato Metrics account
  • token - the api key of your Librato Metrics account
  • flush_interval - how often aggregated metrics will be sent, in seconds (default: 60)
  • source - the source metrics will be reported from (default: machine hostname). If you are overriding this you likely want to set it to a different value per host or host group.
  • prefix - an optional prefix which will be attached to all metric names reported by librato-rails. For example, if the prefix is set to foo, rails.request.total will be reported as foo.rails.request.total.
  • log_level - useful for debugging, default level is info, available levels are [off, error, warn, info, debug, trace].

Environment variables

  • LIBRATO_METRICS_USER - the email address of your Librato Metrics account
  • LIBRATO_METRICS_TOKEN - the api key of your Librato Metrics account
  • LIBRATO_METRICS_SOURCE - the default source metrics will be reported from
  • LIBRATO_METRICS_PREFIX - optional prefix, see prefix above
  • LIBRATO_METRICS_LOG_LEVEL - useful for debugging, see above

Note that environment variables will be ignored if a librato.yml file is present.

Heroku users: If you are using the Librato Heroku add-on, the LIBRATO_METRICS_USER and LIBRATO_METRICS_TOKEN will be automatically set already in your environment.

Combining config files and environment variables

If you want to use a librato.yml file but still have the versatility of environment variables for setting some features per-environment, you can include environment variables in your config file using erb. For example:

production:
  user: <%= ENV['LIBRATO_METRICS_USER'] %>
  token: <%= ENV['LIBRATO_METRICS_TOKEN'] %>

development:
  user: <%= ENV['LIBRATO_METRICS_USER'] || '[email protected]' %>
  token: <%= ENV['LIBRATO_METRICS_TOKEN'] || 'mydevtoken' %>

Note that you can use any environment variables you wish in this fashion, you are not locked into the standard variables that librato-rails would look for if it was inspecting the environment for configuration.

Clone this wiki locally