.. Copyright 2015 tsuru authors. All rights reserved. Use of this source code is governed by a BSD-style license that can be found in the LICENSE file. Metrics ======= Since 0.12.x **tsuru** get metrics from `Docker `_ (using `docker stats `_) and store this data in a time series database. Installing ---------- You will need a `Elasticsearch `_ and a `Logstash `_ installed. tsuru send data to Logstash using udp protocol and the message is formatted in json that requires a custom Logstash configuration: .. highlight:: ruby :: input { udp { port => 1984 } } filter { json { source => "message" } if "_jsonparsefailure" in [tags] { mutate { add_field => { client => "error" metric => "metric_error" } } } } output { elasticsearch { protocol => "http" host => "" port => "" index => ".measure-%{client}-%{+YYYY.MM.dd}" index_type => "%{metric}" } } Configuring ----------- You should use `tsuru-admin bs-env-set` to define the config values. The available configs are: `METRICS_INTERVAL` is the interval in seconds between metrics collecting and reporting from bs to the metric backend. The default value is 60 seconds. `METRICS_BACKEND` is the metric backend. Supported backends are logstash and statsd. .. note:: In production we recommend logstash/elasticsearch Logstash specific configs: `METRICS_LOGSTASH_CLIENT` is the client name used to identify who is sending the metric. The default value is tsuru. `METRICS_LOGSTASH_PORT` is the Logstash port. The default value is 1984. `METRICS_LOGSTASH_HOST` is the Logstash host. The default value is localhost. Statsd specific configs: `METRICS_STATSD_PREFIX` is the prefix for the Statsd key. The key is composed by {prefix}tsuru.{appname}.{hostname}. The default value is an empty string "". `METRICS_STATSD_PORT` is the Statsd port. The default value is 8125. `METRICS_STATSD_HOST` is the Statsd host. The default value is localhost. Metrics graph on tsuru-dashboard -------------------------------- **tsuru-dashboard** can be used to show a graphic for each metric by application. To enable it define the `METRICS_ELASTICSEARCH_HOST` using `tsuru-admin bs-env-set`. .. note:: tsuru-dashboard supports only logstash/elasticsearch backend.