Coder Social home page Coder Social logo

chef-monit's Introduction

chef-monit Build Status Code Climate

Description

Installs the monit package from (http://mmonit.com/monit/).

Requirements

Supported Platforms

The following platforms are supported by this cookbook, meaning that the recipes run on these platforms without error:

  • Ubuntu
  • Debian
  • RedHat
  • CentOS
  • Scientific
  • Fedora
  • SUSE
  • Amazon

Recipes

  • monit - The default recipe. Sets up the service definition and default checks.

Resources

monit_monitrc

The following will create a monitrc configuration:

monit_monitrc "ssh" do
  variables({ category: "system" })
end

The name parameter must match a file located in your templates directory. In the example above, this would be ssh.monitrc.erb.

The variables option within the block is optional, and can contain a list of key-value pairs to assign within your template.

Usage

This cookbook installs the monit components if not present, and pulls updates if they are installed on the system.

Attributes

# How frequently the monit daemon polls for changes.
default["monit"]["polling_frequency"] = 20

# Use syslog for logging instead of a logfile.
default["monit"]["use_syslog"]        = true

# If not using syslog, the log file that monit will use.
default["monit"]["logfile"]           = "/var/log/monit.log"

# Email address that will be notified of events.
default["monit"]["alert_email"]       = "root@localhost"

# Enable the web interface and define credentials.
default["monit"]["web_interface"] = {
  :enable  => true,
  :port    => 2812,
  :address => "localhost",
  :allow   => ["localhost", "admin:b1gbr0th3r"]
}

# Email settings that will be used for notification of events.
default["monit"]["mail"] = {
  :hostname => "localhost",
  :port     => 25,
  :username => nil,
  :password => nil,
  :from     => "monit@$HOST",
  :subject  => "$SERVICE $EVENT at $DATE",
  :message  => "Monit $ACTION $SERVICE at $DATE on $HOST,\n\nDutifully,\nMonit",
  :tls      => false,
  :timeout  => 30
}

case platform
when "redhat", "centos", "fedora"
  default["monit"]["main_config_path"] = "/etc/monit.conf"
  default["monit"]["includes_dir"]     = "/etc/monit.d"
else
  default["monit"]["main_config_path"] = "/etc/monit/monitrc"
  default["monit"]["includes_dir"]     = "/etc/monit/conf.d"
end

# The monit::default recipe will load these monit_monitrc resources automatically
# NOTE setting this attribute at the default level will append values to the array
default["monit"]["default_monitrc_configs"] = ["load", "ssh"]

Contributors

Many thanks go to the following contributors who have helped to make this cookbook even better:

  • @werdan
    • add support for redhat-flavored systems
  • @auser
    • add missing metadata
  • @arrowcircle
    • update syntax to be Ruby 1.8-compatible
  • @dwradcliffe
    • typo fix for README
  • @tjwallace
    • load default monitrc configs from an attribute
  • @tomdz
    • Ruby 1.8.x compatibility fix
    • add support for templates in different cookbooks

Contributing

  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Added some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request

License

chef-monit

chef-monit's People

Contributors

phlipper avatar tjwallace avatar tomdz avatar auser avatar dwradcliffe avatar hayesgm avatar arrowcircle avatar

Watchers

Waseem Ahmad avatar  avatar James Cloos avatar Vuk Nikolić avatar Mirza Delic avatar Shadow Opsworks avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.