Skip to content

Cluster that utilizes InfluxDB as a system metric store

Notifications You must be signed in to change notification settings

smetroid/influxdb-ansible

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

41 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ansible influxdb cluster playbook

####configuration overview

The goal of this playbook is to make use of InfluxDB as a system metric store. Features:

  • Can automatically cluster n-number of influxdb nodes
  • Uses Telegraf to gather metrics using UDP
  • Sets up Kapacitor for processing, monitoring, and alerting
  • Sets up a grafana dashboard
  • Sets up downsampling for all metrics

####notes

  • All of the packages in this repo are set to state=latest so that I don't have to continuously maintain the version pin. If you intend to use this in production you should pin all of the versions and do testing between upgrades. Additionally the influxdb modules make a lot of assumptions about the way influx does things and are vulnerable to being broken between versions.

####requirements

####running in vagrant

vagrant up
bin/provision_development

####destroying

bin/destroy

####influxdb admin site

http://10.0.168.101:8083

####grafana dashboard

http://10.0.168.101:3006

####custom ansible modules

  • influxdb_user - create users for Influxdb
  • influxdb_retention_policy - create retention policies for Influxdb
  • influxdb_downsample - given measurements [{'measurement':'system', 'fields':['load1','load5','load15']] and retention policy 30s:30d,1m:52w continuous queries will be generated that downsample the metrics accordingly. The naming scheme will generate the continuous query system_30s with assigned retention policy rp_30d.

####custom filter plugins

  • to_url_with_port - assist in building the list of influxdb servers for telegraf.
    • Example: hostvars|to_url_with_port(groups,'influxdb','udp://','private_ip','8089')|join(', ')

About

Cluster that utilizes InfluxDB as a system metric store

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 94.4%
  • Ruby 4.6%
  • Shell 1.0%