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


shinken (17) Versions 1.0.1

Installs/Configures shinken

cookbook 'shinken', '= 1.0.1', :supermarket
cookbook 'shinken', '= 1.0.1'
knife supermarket install shinken
knife supermarket download shinken
Quality -%

Shinken Logo


Set up the Shinken Monitor Server and its built in Web UI module.

Supported Platforms

Currently only tested on Ubuntu (and almost certainly will not work on RedHat).

Data Bags (Required)

These define the access credentials, email addresses, and phone numbers of the users for your Shinken system. You will need two data bag items, one encrypted and one unencrypted:

Users (this one's unencrypted)

Ideally this data bag is based on the structure from the Chef Users Cookbook, but all that's really required is that you create a data bag called users with one user per item, and the user items should look (at minimum) like this:

  "id": "testuser",
  "shinken": {
    "email": "",
    "phone": "6175551212",
    "is_admin": "1"

...with is_admin being optional.


This one can be anywhere you want. It's location is defined by these attributes:

  • node['shinken']['webui']['credentials_data_bag']
  • node['shinken']['webui']['credentials_data_bag_item']

...and its structure should look like this:
"id": "example_credentials_data_bag_item",
"shinken": {
"testuser": "PASSWORD"

Note that only the shinken key is sourced, so it does not have to be in its own data bag.


All attributes live under the node['shinken'] key. Attributes fall into two basic groups, global configuration and resource definitions

Currently only services and hostgroups resources can be defined. Everything else is automatically populated.

Global Configuration

  • user - String - User to run Shinken (and all plugins) as (and own all of its config files).
  • group - String - Group to run Shinken (and all plugins) as.

The following will be parsed into their respective resource definition as such:

['key'] = 'value' becomes key value you can pretty much add any key detailed in the linked configuration and expect it to end up in the config files.

  • global_defaults - Hash - Subkeys to this key will appear in resource definitions for all hosts and services.
  • service_defaults - Hash - Defaults for services (detailed here)
  • host_defaults - Hash - Defaults for hosts (detailed here)

Resource Definitions

  • hostgroups - Hostgroups can either be defined with a search, e.g.: json { "shinken": { "hostgroups": { "my-hostgroup": { "search_str": "recipes:important-recipe\\:\\:default" "conf": { "alias": "My HostGroup" } } } } } ...or they can be defined with an array of server names: json { "shinken": { "hostgroups": { "my-hostgroup": { "members": [ "server-1", "server-2" ] "conf": { "alias": "My HostGroup" } } } } } either way, conf defines the other keys in the resource, all of which are detailed in the Shinken docs. hostgroup_name in the above example will automatically be set to "my-hostgroup".
  • services - Defined exactly according to the Shinken docs with little automation, e.g.: json { "shinken": { "services": { "my-service": { "hostgroup_name": "my-hostgroup", "service_description": "My Service Check", "check_command": "some_check_command", "contact_groups": "admins" } } } } key/value pairs are parsed directly into the resource definition file with defaults (defined above) automatically being merged in.



Include shinken in a wrapper cookbook (or a node run list):

include_recipe 'shinken::default'
include_recipe 'shinken::webui'
include_recipe 'shinken::broker'


  1. Fork the repository on Github
  2. Create a named feature branch (i.e. add-new-recipe)
  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

License and Authors

Author:: EverTrue, Inc. (

Dependent cookbooks

apt >= 0.0.0
python >= 0.0.0

Contingent cookbooks

There are no cookbooks that are contingent upon this one.


Initial release of shinken

  • Enhancements

    • an enhancement
  • Bug Fixes

    • a bug fix

No quality metric results found