Adoptable Cookbooks List

Looking for a cookbook to adopt? You can now see a list of cookbooks available for adoption!
List of Adoptable Cookbooks

Supermarket Belongs to the Community

Supermarket belongs to the community. While Chef has the responsibility to keep it running and be stewards of its functionality, what it does and how it works is driven by the community. The chef/supermarket repository will continue to be where development of the Supermarket application takes place. Come be part of shaping the direction of Supermarket by opening issues and pull requests or by joining us on the Chef Mailing List.

Select Badges

Select Supported Platforms

RSS

signalfx_agent (12) Versions 0.4.1

Installs/Configures the SignalFx Agent

Berkshelf
Policyfile
Knife
cookbook 'signalfx_agent', '~> 0.4.1'
cookbook 'signalfx_agent', '~> 0.4.1', :supermarket
knife supermarket install signalfx_agent
knife supermarket download signalfx_agent
README
Dependencies
Quality 50%

SignalFx Agent Cookbook

This cookbook installs and configures the SignalFx Agent.

To install the agent, simply include the signalfx_agent::default recipe. We recommend pinning the agent to a specific version by setting the node['signalfx_agent']['agent_version'] attribute. We will keep all old versions in the repos.

The cookbook tries to be as flexible as possible with the configuration of the agent and does not impose any agent configuration policy. The default config file (/etc/signalfx/agent.yaml on Linux) that comes from the package will be overwritten with what you provide in the node['signalfx_agent']['conf'] object.

Attributes

node['signalfx_agent']['conf_file_path']: The path where the agent config will be rendered (default: /etc/signalfx/agent.yaml (Linux); \\ProgramData\SignalFxAgent\agent.yaml (Windows))

node['signalfx_agent']['agent_version']: The agent release version, in the form 1.1.1. This corresponds to the Github releases without the v prefix.

node['signalfx_agent']['package_version']: The agent package version (optional). If not specified, for deb/rpm systems, this is automatically set to <agent_version>-1 based on the node['signalfx_agent']['agent_version'] attribute above. For Windows, it is equivalent to the agent version attribute.

node['signalfx_agent']['package_stage']: The package repository to use. Can be final (default, for main releases), beta (for beta releases), or test (for unsigned test releases).

Note: SLES and openSUSE are only supported with cookbook versions 0.3.0 and newer, and agent versions 4.7.7 and newer.

node['signalfx_agent']['conf']: Agent configuration object. Everything underneath this object gets directly converted to YAML and becomes the agent config file. See the Agent Config Schema for a full list of acceptable options. The only required option is signalFxAccessToken. Here is a basic config that will monitor a basic set of host-level components:

node['signalfx_agent']['conf'] = {
  signalFxAccessToken: "MY_TOKEN",
  monitors: [
    {type: "collectd/cpu"},
    {type: "collectd/cpufreq"},
    {type: "collectd/df"},
    {type: "collectd/disk"},
    {type: "collectd/interface"},
    {type: "collectd/load"},
    {type: "collectd/memory"},
    {type: "collectd/signalfx-metadata"},
    {type: "collectd/vmem"}
    {type: "host-metadata"},
  ],
  "enableBuiltInFiltering": true
}

Windows

This cookbook should work on Windows as well. Note that we have come across some issues with Python having a side-by-side manifest issue at times. If this is the case, make sure you have installed the Microsoft Visual C++ Compiler for Python 2.7 first.

Development

To test this cookbook in the dev image (which is Ubuntu-based, so this won't be able to test non-Debian packaging):

chef-client -z -o 'recipe[signalfx_agent::default]' -j cookbooks/signalfx_agent/example_attrs.json

When testing on a remote machine, put the contents of this directory into a directory cookbooks/signalfx_agent located anywhere in the filesystem, create a json attribute file with the desired attributes (see example_attrs.json for an example), and then invoke chef-client as you would in the dev image.

Release Process

To release a new version of the cookbook, run ./release in this directory. You will need to have our Chef Supermarket server knife.rb and the signalfx.pem private key in ~/.chef, which you can obtain from somebody else on the project who has it.

You should update the version in metadata.rb to whatever is most appropriate for semver and have that committed before running ./release.

The release script will try to make and push an annotated tag of the form chef-vX.Y.Z where X.Y.Z is the version in the ./metadata.rb file.

Dependent cookbooks

windows >= 4.3.4

Contingent cookbooks

There are no cookbooks that are contingent upon this one.

Collaborator Number Metric
            

0.4.1 failed this metric

Failure: Cookbook has 0 collaborators. A cookbook must have at least 2 collaborators to pass this metric.

Contributing File Metric
            

0.4.1 failed this metric

Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must contain a CONTRIBUTING.md file

Foodcritic Metric
            

0.4.1 passed this metric

No Binaries Metric
            

0.4.1 passed this metric

Publish Metric
            

0.4.1 passed this metric

Supported Platforms Metric
            

0.4.1 passed this metric

Testing File Metric
            

0.4.1 failed this metric

Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must contain a TESTING.md file

Version Tag Metric
            

0.4.1 failed this metric

Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must include a tag that matches this cookbook version number