Plugins

All plugins are configured within the plugins section of the TARDIS configuration. Using multiple plugins is supported by using a separate MappingNode per plugin.

Plugins:
    Plugin_1:
        option_1: my_option_1
    Plugin_2:
        option_123: my_option_123

SQLite Registry

The SqliteRegistry implements a persistent storage of all Drone states in a SQLite database. The usage of this module is recommended in order to recover the last state of TARDIS in case the service has to be restarted.

Available configuration options

Option

Short Description

Requirement

db_file

Location of the SQLite database.

Required

Example configuration

Plugins:
  SqliteRegistry:
    db_file: drone_registry.db

Telegraf Monitoring

The TelegrafMonitoring implements an interface to monitor state changes of the Drones in a telegraf service running a UDP input module.

Note

By default the machine name of the host running tardis is added as default tag. It can be overwritten by adding tardis_machine_name: ‘something_else’ as default_tag in the configuration.

Available configuration options

Option

Short Description

Requirement

host

Hostname or IP address the telegraf UDP input module is listening to.

Required

port

Port the telegraf UDP input module is listening on.

Required

default_tags

Tags that should be included by default for all entries sent to telegraf.

Optional

Example configuration

Plugins:
  TelegrafMonitoring:
    host: der_telegraf.foo.bar
    port: 8092
    default_tags:
      something_default: 'The Default Tag'

Prometheus Monitoring

The PrometheusMonitoring implements an interface to monitor the number of drones in the states Booting, Running, Stopped, Deleted, and Error.

Available configuration options

Option

Short Description

Requirement

addr

Address on which the metrics are served on for Prometheus

Required

port

Port on which the metrics are served on for Prometheus

Required

Example configuration

Plugins:
  PrometheusMonitoring:
    addr: 127.0.0.1
    port: 8080

ElasticSearch Monitoring

The ElasticsearchMonitoring implements an interface to push the done state to an Elasticsearch instance at every state change.

Available configuration options

Option

Short Description

Requirement

host

Hostname or IP address of the Elasticsearch instance.

Required

port

Port the Elasticsearch instance is listening on.

Required

index

Target index in the Elasticsearch instance

Required

meta

Additional meta data (can be used to distinguish TARDIS instances).

Optional

Example configuration

Plugins:
  ElasticsearchMonitoring:
    host: elasticsearch.foo.bar
    port: 9200
    index: cobald_tardis
    meta: instance1

Your favorite monitoring is currently not supported? Please, have a look at how to contribute.