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

al_agents (19) Versions 1.3.6

Installs/Configures the Alert Logic Agent

Berkshelf/Librarian
Policyfile
Knife
cookbook 'al_agents', '~> 1.3.6'
cookbook 'al_agents', '~> 1.3.6', :supermarket
knife cookbook site install al_agents
knife cookbook site download al_agents
README
Dependencies
Changelog
Quality

Build Status

Alert Logic Agent Cookbook

This cookbook is used to install and configure the Alert Logic agent.

Requirements

The following platforms are tested directly under test kitchen.

  • ubuntu-12.04
  • ubuntu-14.04
  • centos-6.4
  • centos-7.0
  • debian-7.8
  • fedora-19
  • windows-2012r2

Cookbook Dependencies

  • rsyslog
  • line
  • selinux_policy

Attributes

  • ['al_agents']['agent']['registration_key'] - your required registration key. String defaults to your_registration_key_here
  • ['al_agents']['agent']['for_imaging'] - The for_imaging attribute determines if the agent will be configured and provisioned. If the for_imaging attribute is set to true then the install process performs an installation of the agent but will not start the agent once installation is completed. This allows for instance snapshots to be saved and started for later use. With this attribute set to false then the provisioning process is performed during setup and the agent is started once complete. Boolean defaults to false
  • ['al_agents']['agent']['egress_url'] - By default all traffic is sent to https://vaporator.alertlogic.com. This attribute is useful if you have a machine that is responsible for outbound traffic (NAT box). If you specify your own URL ensure that it is a properly formatted URI. String defaults to https://vaporator.alertlogic.com
  • ['al_agents']['agent']['proxy_url'] - By default al-agent does not require the use of a proxy. This attribute is useful if you want to avoid a single point of egress. When a proxy is used, both ['al_agents']['agent']['egress_url'] and ['al_agents']['agent']['proxy_url'] values are required. If you specify a proxy URL ensure that it is a properly formatted URI. String defaults to nil
  • ['al_agents']['agent']['ignore_failure'] - Ingore installation and configuration errors. Boolean defaults to false

Usage

al_agents::default

The default recipe will attempt to perform an install best suited for your environment. It will install the package for your system. The default attributes will install the agent in host mode (not for image capture).

On linux, the default recipe includes an attempt to detect your logging system and adds a configuration directive for that logging system. For more information see the al_agents::rsyslog and al_agents::syslog_ng recipes. This recipe also includes an attempt to detect if selinux is installed on the machine.

On both windows and linux the proper package is installed and the agent is started when the cookbook's defaults are used.

al_agents::rsyslog

On linux, if you are using rsyslog and desire to skip an attempt at detection, you may run the al_agent::rsyslog recipe independently. Logging changes are added under the installation's subdirectory in a file named alertlogic.conf

al_agents::syslog_ng

On linux, if you are using syslog-ng and desire to skip an attempt at detection, you may run the al_agents::syslog_ng recipe independently. Logging changes are added under the installation's subdirectory in a file named alertlogic.conf

al_agents::selinux

On linux, if you are using selinux and desire to skip an attempt at detection, you may run the al_agents::selinux recipe independently. This recipe will add a selinux policy to allow for logging to port 1514. This recipe does not enable nor disable selinux policy enforcement.

al_agents::install

On linux, should you desire to install the package, configure and provision the machine you may run this recipe independently.

al_agents::start

On linux, this recipe as stated starts the service.

Examples

install example
{
  "name":"my_server",
  "run_list": [
    "recipe[al_agents]"
  ]
}
à la carte recipe example (linux only)
{
  "name":"my_server",
  "run_list": [
    "recipe[al_agents::rsyslog, al_agents::install]"
  ]
}

Configurations

The attribute for_imaging determine your installation type. It is a boolean value and by default is false. Setting this value to true will prepare your agent for imaging only and will not provision the agent.

Performing an agent install using the cookbook's default attributes, will setup the agent and provision the instance immediately. see configuration #1 above. If you have properly set your registration key, your host should appear within Alert Logic's Console within 15 minutes.

Testing

In the root of the project: * to execute rubocop: rubocop . * to execute foodcritic: foodcritic . * to execute chefspec: rspec spec * to execute test kitchen: kitchen test

Kitchen Tests

Edit .kitchen.yml and uncomment the attributes section, replacing the registration_key attribute with your Alert Logic Unique Registration Key attributes: al_agents: agent: registration_key: 'your_key_here' Note: If you do not put your Alert Logic registration key in as an override attribute, the tests will fail when attempting to execute the provisioning recipe.

Troubleshooting

If the cookbook fails at the provisioning step, one cause is that the agent cannot connect to the egress_url. Ensure that the proper permissions are configured on the security groups and ACLs to allow for outbound access. Also check your egress_url attribute and ensure that it is a properly formatted URI.

CloudInit

Alert Logic provides an example for using CloudInit and chef-solo to install and configure agents. CloudInit is the way to install something onto cloud instances (i.e. amazon ec2). In case of amazon ec2 just pass this .yml file as user-data, do not forget to change registration_key. If you would like to route traffic through a SOCKS or HTTP proxy, set the proxy_url value to point to your specific proxy. This will install chef-client to your instance, download this cookbook and run chef-solo.

Note that in case of amazon ec2 user-data will be accessible to any user from within this instance.

Contributing

  1. Fork the repository on Github
  2. Create a named feature branch (like add_component_x)
  3. Write your change
  4. Write tests for your change (if applicable)
  5. Run the tests, ensuring they all pass
  6. Submit a Pull Request using Github

License and Authors

License: Distributed under the Apache 2.0 license.

Authors: John Ramos (john.ramos@dualspark.com) Justin Early (jearly@alertlogic.com)

Dependent cookbooks

line >= 0.0.0
rsyslog = 2.2.0
selinux_policy >= 0.0.0

Contingent cookbooks

There are no cookbooks that are contingent upon this one.

al_agents CHANGELOG

This file is used to list changes made in each version of the al_agents cookbook.

1.3.6

  • Justin Early - Use rpm package library when rhel >= 6

1.3.5

  • Andrés Vargas - Make package repository configurable

1.3.4

  • Justin Early - Restoring respond_to feature from commit a08589a

1.3.3

  • Justin Early - Adjust configure_options to pass host and port separately.

1.3.2

  • Fred Reimer - Add port for selinux instead of using resource name

1.3.1

  • Justin Early - Extend batch resources to avoid conflicts

1.3.0

  • Justin Early - adding ignore_failure attribute

1.2.0

  • Justin Early - Setting for_imaging attribute to trigger agent install without configuring or provisioning

1.1.1

  • Justin Early - Removing port from egress url

1.1.0

  • Justin Early - Deprecating --inst-type role from provisioning options

1.0.10

  • Justin Early - pin al-agent package version to >=0 to avoid error in Chef 12

1.0.9

  • Spencer Owen / Justin Early - Fix windows_guard issue opening .pem file. Fix for_imaging logic

1.0.8

  • Justin Early - Set syslog_ng to use s_all for CentOS version 6 and up

1.0.7

  • Justin Early - Pin rsyslog cookbook to version 2.2.0

1.0.6

  • Justin Early - Added CloudInit example and updated license

1.0.5

  • Justin Early - fixed rhel6x al-agent package installation

1.0.4

  • Justin Early - added proxy option for new agent package

1.0.3

  • John Ramos - added namespace feature for helpers

1.0.2

  • John Ramos - major refactor cookbook

0.1.2

  • John Ramos - changed the name of the cookbook from al_agent to al_agents

0.1.1

  • John Ramos - Fixed source and image urls

0.1.0

  • John Ramos - Initial release of al_agents

Check the Markdown Syntax Guide for help with Markdown.

The Github Flavored Markdown page describes the differences between markdown on github and standard markdown.

Collaborator Number Metric
            

1.3.6 passed this metric

Contributing File Metric
            

1.3.6 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
            

1.3.6 failed this metric

FC066: Ensure chef_version is set in metadata: al_agents/metadata.rb:1
FC069: Ensure standardized license defined in metadata: al_agents/metadata.rb:1
Run with Foodcritic Version 11.1.0 with tags metadata,correctness ~FC031 ~FC045 and failure tags any

License Metric
            

1.3.6 failed this metric

al_agents does not have a valid open source license.
Acceptable licenses include Apache-2.0, apachev2, Apache 2.0, MIT, mit, GPL-2.0, gplv2, GNU Public License 2.0, GPL-3.0, gplv3, GNU Public License 3.0.

No Binaries Metric
            

1.3.6 passed this metric

Publish Metric
            

1.3.6 passed this metric

Supported Platforms Metric
            

1.3.6 passed this metric

Testing File Metric
            

1.3.6 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
            

1.3.6 passed this metric