/chef-td-agent

Chef Cookbook for td-agent (Treasure Data Agent or Fluentd)

Primary LanguageRuby

DESCRIPTION:

Opscode Chef cookbook for td-agent (Treasure Data Agent). The release log of td-agent is available here.

NOTE: td-agent is open-sourced as Fluentd project. If you want to use stable version of Fluentd, using this cookbook is recommended.

INSTALLATION:

The knife-github-cookbooks gem is a plugin for knife that supports installing cookbooks directly from a GitHub repository. To install with this plugin, please follow these steps:

$ gem install knife-github-cookbooks
$ cd chef-repo
$ knife cookbook github install treasure-data/chef-td-agent

REQUIREMENTS:

This cookbook has these external dependencies.

  • apt cookbook

  • yum cookbook

ATTRIBUTES:

api_key

API Key, and the Secret Key are required.

  • node[:api_key] (required)

plugins

A list of fluentd plugins to install. The fluent-plugin- prefix is automatically added. Additional variables can be passed.

  • node[:plugins]

Example

This installs the latest version of fluent-plugin-flowcounter and version 0.0.9 of fluent-plugin-rewrite.

node[:td_agent][:plugins] = [
  "flowcounter",
  { "rewrite" => { "version" => "0.0.9" } }
]

RESOURCES / PROVIDERS:

td_agent_gem

Installs a gem or fluentd plugin using the embedded fluent-gem

Actions

Action

Description

install

Install the gem, optinally with a specific version. Default.

upgrade

Upgrade to the latest gem

remove

Remove the gem

purge

Purge the gem

Attributes

Attribute

Description

package_name

Gem name. Defaults to name

version

Gem version. Installs the latest if none specified

source

Local .gem file

options

Options passed to the gem command

gem_binary

Override path to the gem command

response_file

Not supported

plugin

If true, no need to prefix the gem name w/ “fluent-plugin-”. Defaults to false

Examples

This installs fluent-plugin-datacounter (v0.1.8)

td_agent_gem "datacounter" do
  version "0.1.8"
  plugin true
end

This installs the latest version of aws-sdk

td_agent_gem "aws-sdk" do
  plugin false
end

USAGE:

This is an example role file.

name "base"
description "base server role."
run_list(
  "recipe[apt]",
  "recipe[yum]",
  "recipe[td-agent]",
)
override_attributes(
  # for td-agent
  :td_agent => {
    :api_key => 'foo_bar_buz',
    :plugins => [
      'rewrite'
    ]
  }
)