All Projects → bdangit → chef-influxdb

bdangit / chef-influxdb

Licence: MIT license
A cookbook for InfluxDB, a time-series database (influxdb.org)

Programming Languages

ruby
36898 projects - #4 most used programming language

Projects that are alternatives of or similar to chef-influxdb

cookbook-redmine
Chef's Cookbook for installing Redmine
Stars: ✭ 25 (-52.83%)
Mutual labels:  chef-cookbook, cookbooks
fmw-chef-cookbook
Official repository of samples that show how to use Chef to provision Oracle Fusion Middleware (FMW) products.
Stars: ✭ 43 (-18.87%)
Mutual labels:  chef-cookbook
Icingaweb2 Module Grafana
Grafana module for Icinga Web 2 (supports InfluxDB & Graphite)
Stars: ✭ 190 (+258.49%)
Mutual labels:  influxdb
ioBroker.influxdb
Store history data in InfluxDB (not for Windows)
Stars: ✭ 33 (-37.74%)
Mutual labels:  influxdb
Kafka Influxdb
High performance Kafka consumer for InfluxDB. Supports collectd message formats.
Stars: ✭ 206 (+288.68%)
Mutual labels:  influxdb
bamboo
Chef Cookbook for Atlassian Bamboo
Stars: ✭ 15 (-71.7%)
Mutual labels:  chef-cookbook
Influxdb Client Python
InfluxDB 2.0 python client
Stars: ✭ 165 (+211.32%)
Mutual labels:  influxdb
influxdbr
R Interface for InfluxDB
Stars: ✭ 95 (+79.25%)
Mutual labels:  influxdb
chef-drone
Chef cookbook for Drone
Stars: ✭ 23 (-56.6%)
Mutual labels:  cookbooks
Netdata
Real-time performance monitoring, done right! https://www.netdata.cloud
Stars: ✭ 57,056 (+107552.83%)
Mutual labels:  influxdb
Icinga Vagrant
Vagrant boxes for Icinga 2, Icinga Web 2, modules, themes and integrations (Graphite, InfluxDB, Elastic, Graylog, etc.)
Stars: ✭ 248 (+367.92%)
Mutual labels:  influxdb
Pfsense Dashboard
A functional and useful dashboard for pfSense that utilizes influxdb, grafana and telegraf
Stars: ✭ 208 (+292.45%)
Mutual labels:  influxdb
chef-dnsimple
Chef cookbook for DNSimple.
Stars: ✭ 37 (-30.19%)
Mutual labels:  chef-cookbook
Pi Hole Monitoring
Monitoring Pi-Hole statistics with Grafana
Stars: ✭ 196 (+269.81%)
Mutual labels:  influxdb
influxdb-nodejs
Simple influxdb client
Stars: ✭ 84 (+58.49%)
Mutual labels:  influxdb
Influxdb Client For Arduino
Simple library for sending measurements to an InfluxDB with a single network request. Supports ESP8266 and ESP32.
Stars: ✭ 176 (+232.08%)
Mutual labels:  influxdb
Go Runtime Metrics
Collect golang runtime metrics, pushing to InfluxDB or pulling with Telegraf
Stars: ✭ 245 (+362.26%)
Mutual labels:  influxdb
apparmor
Development repository for the apparmor cookbook
Stars: ✭ 13 (-75.47%)
Mutual labels:  chef-cookbook
hlswatch
keep track of hls viewer stats
Stars: ✭ 44 (-16.98%)
Mutual labels:  influxdb
influxdb-client-php
InfluxDB (v2+) Client Library for PHP
Stars: ✭ 106 (+100%)
Mutual labels:  influxdb

InfluxDB

wercker status

Chef cookbook to install and configure InfluxDB.

Support

Cookbook Version InfluxDB Version
v5.x.x >= v1.0.0
v4.4.1 < v1.0.0

Usage

To install InfluxDB and place its configuration file, include the influxdb::default recipe in your node's run_list. The default recipe installs the necessary dependencies to use the custom resources defined in this cookbook.

For rendering the config set the parameter under node['influxdb']['config']

default['influxdb']['config']['MyParameter'] = 'val'

Resources

The following gems are used by the custom resources and are installed by the default recipe:

This cookbook ships with five custom resources for managing the configuration file, users, databases, cluster admins, and retention policies:

influxdb_config

This resource writes a configuration file for InfluxDB based on the passed configuration hash:

influxdb_config node['influxdb']['config_file_path'] do
  config node['influxdb']['config']
  action :create
end

This resource is used by the default recipe to place the configuration defined in node['influxdb']['config'].

influxdb_database

Configures an InfluxDB database.

influxdb_database 'my_db' do
  action :create
end

influxdb_install

This resource sets up or removes the appropriate repositories and installs/removes the appropriate packages

influxdb_install 'influxdb' do
  arch_type 'amd64' # if undefined will auto detect
  include_repository true # default
  influxdb_key 'https://repos.influxdata.com/influxdb.key' # default
  action :install # default
end
influxdb_install 'influxdb' do
  action :remove
end

Note : InfluxDB Enterprise uses different version naming schema and is distributed in two packages: influxdb-data and influxdb-meta. Install it this way:

node.default['influxdb']['version'] = "1.3.5-c1.3.5"
node.default['influxdb']['download_urls'] = {
  'debian' => 'https://dl.influxdata.com/enterprise/releases',
  'rhel' => 'https://dl.influxdata.com/enterprise/releases'
}

influxdb_install 'influxdb-meta' do
  install_version node['influxdb']['version']
  install_type 'file'
  checksum '87d99ba4a90487ee1a9'
  action [:install]
end

influxdb_install 'influxdb-data' do
  install_version node['influxdb']['version']
  install_type 'file'
  checksum '4c17e7d3bac8f565c140'
  action [:install]
end

influxdb_user

This resources configures a user to interact with InfluxDB databases.

influxdb_user 'user' do
  password 'changeme'
  databases ['my_db']
  action :create
end

influxdb_admin

This resources configures a cluster admin to interact with InfluxDB.

influxdb_admin 'admin' do
  password 'changeme'
  action :create
end

influxdb_retention_policy

This resources configures a retention policy on a given database. The name attribute is not used, the database and policy name provide the unique names used by InfluxDB.

Note: in v1.0.0+ there is an auto-generated default profile called autogen. To make your policy the default, you will want to set default parameter true.

influxdb_retention_policy "foodb default retention policy" do
  policy_name 'default'
  database 'foodb'
  duration '1w'
  replication 1
  action :create
end

influxdb_continuous_query

This resources configures a continuous query on a given database.

If you need rewrite continuous query if it already exist set rewrite parametr to true.

influxdb_continuous_query "test_continuous_query" do
  database 'foodb'
  rewrite false
  query 'SELECT min(mouse) INTO min_mouse FROM zoo GROUP BY time(30m)'
  action :create
end

Client Libraries

Right now, this cookbook only supports the Ruby and CLI client libraries so as not to add too many dependencies. That might change in the near future. By default both flavors are disabled. Enable e.g. Ruby via:

node.default['influxdb']['client']['ruby']['enable'] = true

Finally include the influxdb::client in your node's run_list to install the clients.

Tests

To run tests, install all dependencies with bundler:

bundle install

Then to run tests:

rake # Quick tests only (rubocop + minitest)
rake test:complete # All tests (rubocop + minitest + kitchen)

Release Steps

rake publish

License

This project is licensed under the MIT license

Maintainers

Ben Dang [email protected]

E Camden Fisher [email protected]

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].