/tig-stack

Telegraf, InfluxDB, Grafana Docker Monitoring

Primary LanguageShellMIT LicenseMIT

Telegraf InfluxDB Grafana Stack

Edits made in this fork (origin project from Mateusz Trojak):

  • Modified telegraf/telegraf.template.conf to only contain the relevant components for Cisco gRPC telemetry on IOS-XE over TCP 42518.
  • Modified docker-compose.yml to build the telegraf service locally rather than pull down the Docker Hub image. All other services are pulled from Docker Hub as they remain unchanged.
  • Deleted these unused files/directories to reduce distraction:
    • docker-compose-circleci.yml
    • docker-compose-noplugins.yml
    • circle.yml
    • rancher/
    • grafana/
    • influxdb/

What is inside TIG Stack

  • Telegraf - Gathers cpu,mem,net,docker data and sends it to InfluxDB
  • InfluxDB + volume data - Stores data from Telegraf
  • Grafana + volume data - Includes one Dashboard (there will be more!) for docker monitoring.

How to use it?

TIG stack is created for Rancher. If you are not fammiliar with rancher, please read some docs, because it is really great Docker Orchestration Tool.
To use it add custom rancher-catalog to the Rancher configuration, and within only one click, you are able to monitor your Docker Instance automatically!

What if I don't want to use Rancher?

You can obviously use this stack without Rancher. Just grab docker-compose.yml file and start your stack as usual.

$ mkdir tig-stack
$ cd tig-stack
$ curl -OL https://raw.githubusercontent.com/matisku/tig-stack/master/docker-compose.yml
$ docker-compose up -d

If needed you can clone this repository and build tig-stack locally. For this docker-compose-circleci.yml can be used

$ git clone https://github.com/matisku/tig-stack.git
$ cd tig-stack
$ docker-compose -f docker-compose-circleci.yml up -d

If you don't need to install any Grafana plugins use docker-compose-noplugins.yml

$ git clone https://github.com/matisku/tig-stack.git
$ cd tig-stack
$ docker-compose -f docker-compose-noplugins.yml up -d

Additional Info

  • By default Grafana will have all available plugins installed.
  • To access grafana go to: http://localhost:30001

Environment

Grafana

GF_SECURITY_ADMIN_USER - Admin Username. Default: admin
GF_SECURITY_ADMIN_PASSWORD- Admin User Password. Default:admin
GF_SECURITY_SECRET_KEY - Secret key. Default: grafana
GF_USERS_ALLOW_SIGN_UP - Allow singup to Grafana. Default: "true"
GF_USERS_ALLOW_ORG_CREATE - Allow user create new Orgs. Default: "true"
GF_AUTH_ANONYMOUS_ENABLED - Anonymus autthorization enabled. Default: "true"
GF_AUTH_ANONYMOUS_ORG_NAME - Anonymus defaul Org Name. Default: grafana
GF_DASHBOARDS_JSON_ENABLED - Dashboards as JSON enabled. Default: "true"
GF_DASHBOARDS_JSON_PATH - Path where JSON Dashboards are stored. Default: /opt/grafana
GRAFANA_PLUGINS_ENABLED - Install all available Grafana Plugins. Default: true

InfluxDB

INFLUX_DATABASE - IndluxDB Database Name. Default: "telegraf"
INLFUX_ADMIN_USER - IndluxDB Admin Username. Default: "grafana"
INFLUX_ADMIN_PASS - InfluxDB Admin Password. Default: "grafana"

Telegraf

HOST_NAME - Telegraf Default Hostane. Default: "telegraf"
INFLUXDB_HOST - IndluxDB Database Host. Default: "influxdb"
INFLUXDB_PORT - InfluxDB Default Port. Default: "8086"
DATABASE - InfluxDB Database where telegraf stores data. Default: "telegraf"

Ports

Grafana:
  - 3000 - in Docker
  - 3001 - on Host
InfluxDB:
  - 8083
  - 8086

License

Copyright © 2016-2018 Mateusz Trojak. See LICENSE for details.

TODO

  • Add more Grafs

Metadata