Low commit activity in last 3 years
No release in over a year
Tired of manually creating maintenance objects in your Zabbix monitoring system for every new release of your application ? This gem is for you! It automates creation and removal of necessary objects so that your code can be released without unnecessary false alerts.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

>= 1.0
~> 2.12
~> 2.0
>= 0.10
>= 4.3.0
~> 3.2
~> 0.10
~> 2.9
~> 1.21
~> 0.7
~> 0.3.2

Runtime

~> 4.2.0
 Project Readme

capistrano2-zabbix

Build Status

Tired of manually creating maintenance objects in your Zabbix monitoring system for every new release of your application ? This gem is for you! It automates creation and removal of necessary objects so that your code can be released without unnecessary false alerts.

Compatibility

capistrano2-zabbix works only with Capistrano v2. The gem for version 3 has not been released yet.

Installation

To install capistrano2-zabbix you need to add following to your Gemfile

gem 'capistrano2-zabbix', '~> 0.1'

Then in your config/deploy.rb you need to require the gem:

require 'capistrano2-zabbix'

Configuration

  • :zabbix_url - address of the Zabbix API endpoint.
  • :zabbix_user - user name that has permissions to edit maintenances
  • :zabbix_password - self explanatory
  • :zabbix_period - number of seconds that maintance is created for
  • :zabbix_groupid - ID of server group included in the maintenace. For example, with default installations Linux servers is group number 2.
  • :zabbix_auto_trigger - if set to true, your deployment will automatically execute zabbix:create before deploying code and zabbix:delete when it's finished. If set to false you have to hook those tasks up where you think it's appropriate.

Configuration defaults

  set :zabbix_url,          'http://192.168.56.2/zabbix/'
  set :zabbix_user,         'Admin'
  set :zabbix_password,     'zabbix'
  set :zabbix_period,       60 * 60 * 10  # 10 hours
  set :zabbix_groupid,      2             # Linux servers
  set :zabbix_auto_trigger, true

Usage

As mentioned in 'Configuration' section you have at leasth three ways of using this gem:

  • automatically create maintenance before code deployment and delete it afterwards. If this is what you want, set :zabbix_auto_trigger to true.

  • modify your deploy.rb to invoke zabbix:create and/or zabbix:delete tasks anytime you want. For example, if you want to create maintenance only after code has been copied over to your severs you would want something like this:

    set :zabbix_auto_trigger, false
    after 'deploy:update_code', 'zabbix:create'
  • start/stop maintenances straight from your command line:

    ~/devel/zab-testproject cap zabbix:create
    * 2015-05-14 17:19:40 executing `zabbix:create'
    ~/devel/zab-testproject`
    

Contributing to capistrano2-zabbix

  • Check out the latest master to make sure the feature hasn't been implemented or the bug hasn't been fixed yet.
  • Check out the issue tracker to make sure someone already hasn't requested it and/or contributed it.
  • Fork the project.
  • Start a feature/bugfix branch.
  • Commit and push until you are happy with your contribution.
  • Feel free to submit PR :)

License

2015 MIT.

Author: Marek Skrobacki.