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

Configuration

Rémy Coutable edited this page Jun 3, 2013 · 24 revisions

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'
  prefix: 'staging'

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). Useful in local debugging to force more frequent flushes. Don't change this in production - it will not give you more frequent data on Metrics, but it may affect performance of your application.
  • 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_USER - the email address of your Librato Metrics account
  • LIBRATO_TOKEN - the api key of your Librato Metrics account
  • LIBRATO_SOURCE - the default source metrics will be reported from
  • LIBRATO_PREFIX - optional prefix, see prefix above
  • LIBRATO_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_USER and LIBRATO_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_USER'] %>
  token: <%= ENV['LIBRATO_TOKEN'] %>

development:
  user: <%= ENV['LIBRATO_USER'] || '[email protected]' %>
  token: <%= ENV['LIBRATO_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