-
Notifications
You must be signed in to change notification settings - Fork 34
Configuration
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.
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 asfoo.rails.request.total
. -
log_level - useful for debugging, default level is
info
, available levels are[off, error, warn, info, debug, trace]
.
-
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, seeprefix
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.
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.