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

Select Status

RSS

uptime_cloud_monitor (1) Versions 1.3.0

Installs and configures Uptime Cloud Monitor services

Policyfile
Berkshelf
Knife
cookbook 'uptime_cloud_monitor', '~> 1.3.0', :supermarket
cookbook 'uptime_cloud_monitor', '~> 1.3.0'
knife supermarket install uptime_cloud_monitor
knife supermarket download uptime_cloud_monitor
README
Dependencies
Changelog
Quality 17%

Chef Cookbook for Uptime Cloud Monitor services

  • Chef cookbook for the Uptime Cloud Monitor collector agent and website / port probes.
  • Requires a Uptime Cloud Monitor account to use. Free trial available.

Requirements

Chef 12.5 and up.
For Chef 10 to 12.4 you can use version v1.1.0

The following cookbooks are direct dependencies because they're used for common "default" functionality.
* curl(for uptime_cloud_monitor::default)

The following cookbooks are direct dependencies
* On RHEL family distros, recipe[yum::epel] might be required.
* On Ubuntu, recipe[apt::default] and recipe[curl] might be required to install and update curl.

Platform

  • Any Linux 2.6+ OS, including: Ubuntu, Debian, Vyatta, RedHat Enterprise, CentOS, Fedora, Amazon, SuSE, openSuSE, Gentoo, and many derivatives.
  • Windows

Attributes

  • default['copperegg']['apikey'] = Your API Key available from the Uptime Cloud Monitor App Settings Page.
  • default['copperegg']['tags'] = A comma separated list of tags to apply. Optional. Manage your tags.
  • default['copperegg']['label'] = Label to apply in place of hostname when displaying in the dashboard. WARNING: If you want the same label applied to multiple systems, you may want to consider tags instead. This is most useful if you intend a recipe for a single server. Optional.
  • default['copperegg']['oom_protect'] = Flag for determining if the Linux Out Of Memory manager (OOM) should be allowed to kill the RevealCloud process. Default false (allow OOM to kill the process). Optional.
  • default['copperegg']['proxy'] = Proxy server required to talk to the revealcloud api servers, such as myproxy.mycorp.com:8080. Optional. Leave blank unless you know what you are doing.
  • default['copperegg']['use_fqdn'] = Flag for using the fqdn as the uuid. true => Agent will be started with -U node.fqdn . Default false. Optional.
  • default['copperegg']['include_node_tags'] = Propagate Chef node tags to Uptime Cloud Monitor tags. Default true.
  • default['copperegg']['include_roles_astags'] = Propagate Chef node Roles to Uptime Cloud Monitor tags. Default true.
  • default['copperegg']['include_env_astag'] = Propagate the Chef environment to a Uptime Cloud Monitor tag. Default true.
  • default['copperegg']['annotate_chefrun_success'] = Send Uptime Cloud Monitor an annotation for each successful chef run. Default false.
  • default['copperegg']['annotate_chefrun_fail'] = Send Uptime Cloud Monitor an annotation for each failed chef run. Default true.
  • default['copperegg']['create_sshprobe'] = Create an external SSH probe for this node. Default false.

Collector Specific Attributes

  • default['copperegg']['update_latest'] = Updates collector to latest version if any. Default true.
  • default['copperegg']['uninstall_collector'] = Uninstall collector on the node. Default false.
  • default['copperegg']['remove_on_uninstall'] = Uninstall collector and remove it's data from Uptime Cloud Monitor. Default false.

Usage

  1. Download the Uptime Cloud Monitor cookbook into your chef-repo/cookbooks/uptime_cloud_monitor directory: (the cookbook directory name must be uptime_cloud_monitor)
  2. git clone https://github.com/CopperEgg/chef-copperegg.git ./uptime_cloud_monitor, or
  3. manually download from the Opscode community site http://community.opscode.com/cookbooks/uptime_cloud_monitor, or
  4. knife cookbook site install uptime_cloud_monitor
  5. Set your apikey as described in the Attributes section.
  6. edit uptime_cloud_monitor/attributes/default.rb and change YOUR_USER_API_KEY to be correct.
  7. or override node['copperegg']['apikey'] within role or environment.
  8. Set any other optional attributes described above, as desired.
  9. Upload the cookbook to your chef server or hosted chef:
  10. knife cookbook upload -a to upload all cookbooks or
  11. knife cookbook upload uptime_cloud_monitor --include-dependencies
  12. To install dependencies, run knife cookbook site install curl 2.0.3 and knife cookbook site install apt 3.0.0
  13. Include recipe[uptime_cloud_monitor] in the run_list for all of your servers.
  14. knife node run_list add NODES 'recipe[uptime_cloud_monitor]'
  15. Run chef-client on your nodes in whatever manner suits you, such as sudo chef-client or a batch job.
  16. View your systems within 10 seconds in the RevealCloud App

Creating and managing website and port probes

  1. The Uptime Cloud Monitor Cookbook contains a LightWeight Resource Provider (LWRP) for simplifying the automation of Uptime Cloud Monitor probes.
  2. To create a Uptime Cloud Monitor probe, you need to include something similar to the following example:
  uptime_cloud_monitor_probe "ChefProbe2" do
    probe_desc 'ChefProbe2'               # the 'name' of the probe
    probe_dest "http://yoursite.com"      # the URL to test
    type 'GET'                            # the test type; in this case, an HTTP GET request
    stations ['dal','nrk']                # override the defaults and specify testing from Dallas and Fremont
    tags ["production",'load_balancer']   # The tags to apply to this probe
    action :update                        # update will create or updatee
  end
  1. You can find descriptions of all required and optional fields in uptime_cloud_monitor/resources/probe.rb.
  2. Refer to the Probe section of the Uptime Cloud Monitor API for further details: Uptime Cloud Monitor Probe API

Creating Annotations in the Uptime Cloud Monitor UI for chef run events.

The Uptime Cloud Monitor Cookbook includes integration with the Chef Report and Exception
Handlers. To enable this functionality choose one of the following:
* Include the recipe copperegg-handler.rb in your run_list, or
* Include the recipe copperegg-handler in your application cookbook with
include_recipe.

That's it!

Note:
* By default, each chef run will create an annotation at Uptime Cloud Monitor only when the chef run fails.
* You can change this behavior by changing the ['copperegg']['annotate_chefrun_success'] and ['copperegg']['annotate_chefrun_fail'] attributes in the default attributes file or by overriding them in your application cookbook.

Links

License and Author

Authors:: Ross Dickey, Scott Johnson
With Contributions from Drew Oliner (https://github.com/Drewzar)

(The MIT License)

Copyright © 2012-2017 IDERA

Permission is hereby granted, free of charge, to any person obtaining a
copy of this software and associated documentation files (the "Software"),
to deal in the Software without restriction, including without
limitation the rights to use, copy, modify, merge, publish, distribute,
sublicense, and/or sell copies of the Software, and to permit persons
to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included
in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.

Dependent cookbooks

curl >= 0.0.0
apt = 3.0.0

Contingent cookbooks

There are no cookbooks that are contingent upon this one.

CHANGELOG for uptime_cloud_monitor

This file is used to list changes made in each version of uptime_cloud_monitor(formerly copperegg) cookbook.

1.3.0 (2017-08-31)

  • Rebranding the chef repository and adding details to get the latest code from supermarket

1.2.0 (2017-08-02)

  • Release to support chef client version 12.5 and above

1.1.0 (2017-08-31)

  • Update README for the version supporting till chef client 12.4

1.0.1 (2017-08-02)

  • Added support for probe monitoring
  • Fixed issues with running till chef client version 12.4

1.0.0 (2016-10-26)

  • Simplified collector installation
  • Added support for test kitchen

0.2.5 (2014-03-10)

  • Simplified exception handling, and increased retries for HTTP Get.

0.2.4 (2014-02-02)

  • Added better retry handling on http Get

0.2.3 (2013-11-18)

  • Fix the idempotence issue: collector re-installing every chef run.

0.2.2 (2013-07-11)

  • fix 'Cookbook Annotations do not work for omnibus install',

Collaborator Number Metric
            

1.3.0 failed this metric

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

Contributing File Metric
            

1.3.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.3.0 failed this metric

FC007: Ensure recipe dependencies are reflected in cookbook metadata: uptime_cloud_monitor/recipes/copperegg-handler.rb:6
FC025: Prefer chef_gem to compile-time gem install: uptime_cloud_monitor/recipes/copperegg-handler.rb:14
FC034: Unused template variables: uptime_cloud_monitor/templates/default/copperegg.conf.erb:1
FC039: Node method cannot be accessed with key: uptime_cloud_monitor/recipes/copperegg-handler.rb:24
FC039: Node method cannot be accessed with key: uptime_cloud_monitor/recipes/default.rb:16
FC064: Ensure issues_url is set in metadata: uptime_cloud_monitor/metadata.rb:1
FC065: Ensure source_url is set in metadata: uptime_cloud_monitor/metadata.rb:1
FC066: Ensure chef_version is set in metadata: uptime_cloud_monitor/metadata.rb:1
FC070: Ensure supports metadata defines valid platforms: uptime_cloud_monitor/metadata.rb:1
FC104: Use the :run action in ruby_block instead of :create: uptime_cloud_monitor/recipes/_uninstall.rb:17
FC104: Use the :run action in ruby_block instead of :create: uptime_cloud_monitor/recipes/_uninstall.rb:36
FC115: Custom resource contains a name_property that is required: uptime_cloud_monitor/resources/probe.rb:9
Run with Foodcritic Version 16.3.0 with tags metadata,correctness ~FC031 ~FC045 and failure tags any

No Binaries Metric
            

1.3.0 passed this metric

Testing File Metric
            

1.3.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.3.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 include a tag that matches this cookbook version number