cookbook 'monit_wrapper', '= 3.2.1'
monit_wrapper
(31) Versions
3.2.1
-
Follow0
A wrapper around Monit making it easier to monitor services
cookbook 'monit_wrapper', '= 3.2.1', :supermarket
knife supermarket install monit_wrapper
knife supermarket download monit_wrapper
monit_wrapper
This cookbook simplifies setting up services using Monit.
- GitHub: https://github.com/clearstorydata-cookbooks/monit_wrapper
- Chef Supermarket: https://supermarket.chef.io/cookbooks/monit_wrapper
- Travis CI: https://travis-ci.org/clearstorydata-cookbooks/monit_wrapper
- Documentation: http://clearstorydata-cookbooks.github.io/monit_wrapper/chef/monit_wrapper.html
Examples
Custom Monit configuration template
Create a configuration template in your cookbook my_cookbook/templates/default/monit/my_service.conf.erb
:
check process <%= @service_name %> matching '<%= @cmd_line_pattern %>' every 1 cycles start program "/bin/bash -c 'exec <%= @cmd_line %>'" as uid <%= @user %> as gid <%= @user %> stop program "/usr/bin/pkill -u <%= @user %> -f '<%= @cmd_line_pattern %>'" as uid <%= @user %> as gid <%= @user %>
In my_cookbook/recipes/default.rb
:
my_service_name = '...' command_line = '/usr/local/bin/my_service_executable --port 3456' monit_wrapper_monitor my_service_name do template_cookbook 'my_cookbook' template_source 'monit/my_service.conf.erb' variables cmd_line: command_line, cmd_line_pattern: command_line, user: user end monit_wrapper_notify_if_not_running monit_service_name monit_wrapper_service my_service_name do subscribes :restart, "monit_wrapper_monitor[#{my_service_name}]", :delayed subscribes :restart, "monit_wrapper_notify_if_not_running[#{my_service_name}]", :delayed subscribes :restart, "package[#{my_service_name}]", :delayed end
Launching and monitoring a process with an existing init
If you have a service with an existing /etc/init.d
script, you can use this cookbook to create
a Monit configuration file to monitor that service. This makes use of the default Monit
configuration template
this cookbook provides.
my_sevice_name = 'my-service' monit_wrapper_monitor my_service_name do action :create pattern '...' end monit_wrapper_notify_if_not_running my_service_name do monit_wrapper_service service_name do subscribes :restart, "package[#{service_name}]", :delayed subscribes :restart, "monit_wrapper_monitor[#{service_name}]", :delayed subscribes :restart, "monit_wrapper_notify_if_not_running[#{service_name}]", :delayed end
License
Apache License 2.0
Foodcritic Metric
3.2.1 failed this metric
FC002: Avoid string interpolation where not required: /tmp/cook/1fcf962255b2fc638cfc26e3/monit_wrapper/libraries/status.rb:125
FC014: Consider extracting long ruby_block to library: /tmp/cook/1fcf962255b2fc638cfc26e3/monit_wrapper/providers/reload_and_wait.rb:23
FC031: Cookbook without metadata file: /tmp/cook/1fcf962255b2fc638cfc26e3/monit_wrapper/metadata.rb:1
FC045: Consider setting cookbook name in metadata: /tmp/cook/1fcf962255b2fc638cfc26e3/monit_wrapper/metadata.rb:1
3.2.1 failed this metric
FC014: Consider extracting long ruby_block to library: /tmp/cook/1fcf962255b2fc638cfc26e3/monit_wrapper/providers/reload_and_wait.rb:23
FC031: Cookbook without metadata file: /tmp/cook/1fcf962255b2fc638cfc26e3/monit_wrapper/metadata.rb:1
FC045: Consider setting cookbook name in metadata: /tmp/cook/1fcf962255b2fc638cfc26e3/monit_wrapper/metadata.rb:1