cookbook 'snu-sumologic', '= 1.0.0'
The snu-sumologic cookbook has been deprecated
Author provided reason for deprecation:
The snu-sumologic cookbook has been deprecated and is no longer being maintained by its authors. Use of the snu-sumologic cookbook is no longer recommended.
snu-sumologic (16) Versions 1.0.0 Follow2
Installs/configures the Sumologic collector and sources
cookbook 'snu-sumologic', '= 1.0.0', :supermarket
knife supermarket install snu-sumologic
knife supermarket download snu-sumologic
Snu-Sumologic Cookbook
An opinionated implementation of installation and configuration of the Sumo
Logic collector using the sumologic-collector cookbook.
Requirements
This cookbook requires at least Chef 12. It is tested against the two most
major Chef versions (currently 13.x and 12.x) and the two most recent Ubuntu
LTS (currently 16.04 and 14.04) and CentOS (currently 7.x and 6.x) releases.
It expects to find Sumo Logic API credentials in a data bag item named
sumologic
within a data bag named credentials
. That data bag item must
contain keys for both accessID
and accessKey
.
Usage
Add one or more of the included recipes to your run list and/or declare
instances of the included resources in your own recipes.
Recipes
default
- Runs the installation, configuration, and monitoring recipes.
installation
- Uses the
snu_sumologic_collector
resource to install the collector app, unconfigured, into/opt/SumoCollector
. - This recipe performs no configuration and is ideal for e.g. baking the Sumo collector into a base system image.
configuration
- Pulls Sumo Logic credentials out of the configured credentials data bag.
- Uses the
snu_sumologic_collector
resource to configure and start the collector that should have already been installed by theinstallation
recipe. - Uses a delayed action to, at the end of the Chef run, empty the sources directory of any files that are no longer in Chef's resource collection.
monitoring
- Ensures Sensu is installed and makes the sensu user a member of the Sumo
group so it's able to monitor logs in
/opt/SumoCollector
. - At some point in the future, this recipe will include configuring Sensu checks for the Sumo collector.
Attributes
default
The configuration
recipe pulls Sumo credentials out of a data bag that is
configurable via two attributes:
default['sumologic']['credentials']['bag_name'] = 'credentials'
default['sumologic']['credentials']['item_name'] = 'sumologic'
An empty config hash is defined that can be overridden to pass any additional
properties to the snu_sumologic_collector
resource in the configuration
recipe:
default['snu_sumologic']['config'] = {}
Resources
snu_sumologic_collector
A wrapper around the sumologic_collector
resource to:
- Set some opinionated defaults based on our Sumo usage.
- Manage the configured Sumo sources directory.
Syntax:
snu_sumologic_collector 'default' do
sumo_access_id 'abc123'
sumo_access_key 'def456'
action %i[configure enable start]
delayed_action :manage
end
Actions:
Action | Description |
---|---|
:install |
Install the collector, unconfigured |
:install_and_configure |
Install + configure the collector |
:configure |
Configure an alread-installed collector |
:manage |
Delete any source configs not in Chef's resource collection* |
:remove |
Uninstall the collector |
:start |
Start the collector |
:stop |
Stop the collector |
:restart |
Restart the collector |
:enable |
Enable the collector |
:disable |
Disable the collector |
* The :manage
action should only be used as a delayed_action
, otherwise
files it decides to delete will depend on the ordering of Chef's run
context.
Properties:
Property | Default | Description |
---|---|---|
sumo_access_id | nil |
Needed for the :configure action |
sumo_access_key | nil |
Needed for the :configure action |
dir | '/opt/SumoCollector |
Set a default install dir |
collector_name | node['fqdn'] |
Assume a unique FQDN and set it as the name |
sync_sources | '/etc/sumo.d' |
Assume a .d-style sources configuration |
ephemeral | true |
Set a cloud-friendly default |
clobber | true |
Set a cloud-friendly default |
runas_username | 'root' |
Work around a bug in the Sumo install script |
wrapper_java_initmemory | 256 | Set larger defaults for the Java heap size |
wrapper_java_maxmemory | 256 | Set larger defaults for the Java heap size |
* | * | * |
* All other properties are identical to those in the sumologic_collector
resource.
snu_sumo_source_local_file
A wrapper around the sumo_source_local_file
resource to:
- Set some opinionated defaults based on our Sumo usage.
- Define an additional
:delete
action.
Syntax:
snu_sumo_source_local_file 'nginx' do
path_expression '/var/log/nginx.log'
action :create
end
Actions:
Action | Description |
---|---|
:create |
Create a config file for the source |
:delete |
Delete the source's config file |
Properties:
Property | Default | Description |
---|---|---|
source_json_directory | '/etc/sumo.d' |
Set the same default as the collector resource |
time_zone | 'UTC' |
Default all logs to UTC |
force_time_zone | true |
Force logs to be parsed into UTC |
* | * | * |
* All other properties are identical to those in the sumo_source_local_file
resource.
Testing
The included Test Kitchen configs assume the existence of a data bag item
containing Sumo Logic API credentials in
test/fixtures/data_bags/credentials/sumologic.json
.
Sumo Logic has a free tier that can be used to run the integration tests
without polluting a production account.
Contributing
- Fork it
- Create your feature branch (
git checkout -b my-new-feature
). - Add tests for the new feature; ensure they pass (
bundle exec test/run
). - Bump the version string in accordance with semver.
- Commit your changes (
git commit -am 'Add some feature'
). - Push to the branch (
git push origin my-new-feature
). - Create a new Pull Request.
Maintainers
- Jonathan Hartman jonathan.hartman@socrata.com
- Josh Oberwetter josh.oberwetter@socrata.com
- Justin Haynes justin.haynes@socrata.com
- Joe Nunnelley joe.nunnelley@socrata.com
- Noah Meyerhans noah.meyerhans@socrata.com
- John Krah john.krah@socrata.com
- Brian Oldfield brian.oldfield@socrata.com
- Andrew Gall andrew.gall@socrata.com
- Ele Mooney ele.mooney@socrata.com
- Ayn Leslie ayn.leslie@socrata.com
- Anothony Nowell anthony.nowell@socrata.com
Dependent cookbooks
sumologic-collector ~> 1.2 |
sensu >= 0.0.0 |
Contingent cookbooks
There are no cookbooks that are contingent upon this one.
Snu-Sumologic Cookbook CHANGELOG
v1.0.0 (2017-08-21)
- Refactor based on the newer sumologic-collector community cookbook
v0.3.1 (2017-08-23)
- Replace sources with syncSources in config validator
v0.2.8 (2017-08-21)
- Make the sensu user a member of the sumologic_collector group
v0.2.5 (2017-08-11)
- Open up the sumologic-collector version dep a little
v0.2.3 (2016-11-01)
- Remove duplicate collector attributes
v0.1.100 (2015-08-25)
- Ensure the
rest-client
gem is installed before attempting to import it
Collaborator Number Metric
1.0.0 failed this metric
Failure: Cookbook has 1 collaborators. A cookbook must have at least 2 collaborators to pass this metric.
Contributing File Metric
1.0.0 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.0.0 passed this metric
License Metric
1.0.0 passed this metric
No Binaries Metric
1.0.0 passed this metric
Testing File Metric
1.0.0 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.0.0 passed this metric
1.0.0 failed this metric
1.0.0 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.0.0 passed this metric
License Metric
1.0.0 passed this metric
No Binaries Metric
1.0.0 passed this metric
Testing File Metric
1.0.0 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.0.0 passed this metric
1.0.0 passed this metric
1.0.0 passed this metric
No Binaries Metric
1.0.0 passed this metric
Testing File Metric
1.0.0 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.0.0 passed this metric
1.0.0 passed this metric
1.0.0 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.0.0 passed this metric
1.0.0 passed this metric