TICK Stack Metrics

This sample shows how to integrate a TICK Stack with Genvid. TICK is the InfluxData open source Time Series Platform. It is comprised of 4 programs:

  • Telegraf
    A metrics collector.
  • InfluxDB
    A time-series database.
  • Chronograf
    A web interface.
  • Kapacitor
    A real-time streaming processing engine.

This sample is a demonstration of our metrics interface using a simple system and is not designed for production use. Current limitations include:

  • Metrics data and dashboard configurations aren’t preserved between uses.
  • Space allocation for the data isn’t managed.

If you choose to use TICK in production, we recommend you refer directly to the TICK documentation for implementation information.


For the local cluster, you need to download the Windows binaries of the stack.

py tick.py download
py tick.py setup

The first command downloads the binaries under archives and the second command extracts and installs them under the local .\bin folder of the sample.

Setting up the local environment

After setting up the local Bastion, run:

py tick.py load

This adds two new jobs and their logs to your local cluster:

A system job that runs telegraf with a statsd input on port 8125. (The default port for Consul, Nomad, and Vault setup.)
A service job that runs influxd, kapacitord, and chronograf locally.

It also adds corresponding services and logs, as well as a link to chronograf.

Next, start the Genvid services:


Due to a bug in the current SDK, you must start the telegraf job before the other jobs to ensure it can be discovered correctly.

genvid-sdk start telegraf
genvid-sdk start

Now you can open chronograf from the Cluster-UI interface or command line:

genvid-sdk open chronograf

Running on the cloud

The cloud environment is similar to the local environment. It uses the official Docker images rather than the local binaries, but has the same configuration. Just setup your cluster and add the --cluster parameter to your script calls.

Exporting and importing dashboards

The tick.py script has the ability to export and import dashboards. In order to do this, make sure that the jobs are running and use the following commands:

# import the dashboards from a file
py tick.py -c mycluster import-dashboards dashboards.json
# export the dashboards to a file
py tick.py -c mycluster export-dashboards dashboards.json

The file dashboards.json provide a set of preconfigured dashboards.

Script reference

Setup script for tick stack

usage: tick.py [-h] [--loglevel {DEBUG,INFO,WARNING,ERROR}] [-c CLUSTER_ID]

Positional Arguments

command Possible choices: env, download, setup, load, unload, import-dashboards, export-dashboards

Named Arguments


Possible choices: DEBUG, INFO, WARNING, ERROR

Set the script log level

-c, --cluster_id

The cluster id. Default local

Default: “local”



Print environment variables

tick.py env [-h]


Download the archives

tick.py download [-h]


Setup from archives

tick.py setup [-h]


Load project

tick.py load [-h]


Unload project

tick.py unload [-h]


Import chronograf dashboards

tick.py import-dashboards [-h] [file]
Positional Arguments

JSON file containing the dashboards

Default: “dashboards.json”


Export chronograf dashboards

tick.py export-dashboards [-h] [file]
Positional Arguments

JSON file containing the dashboards

Default: “dashboards.json”