Skip to content

zabbix module with focus on using zabbix api to provision zabbix from puppet

License

Notifications You must be signed in to change notification settings

VolantisOps/puppet-zabbix

 
 

Repository files navigation

Module: Zabbix

<img src=“https://secure.travis-ci.org/purplehazech/puppet-zabbix.png?branch=master” alt=“Build Status” /> Master

<img src=“https://secure.travis-ci.org/purplehazech/puppet-zabbix.png?branch=zabbix-api” alt=“Build Status” /> zabbix-api

Install and configure Zabbix.

This module aims to be a feature complete module for Zabbix. Right now it is being developed and tested on Gentoo and Debian/Ubuntu. I plan on porting it over to multiple architectures later on. The main development branch is the zabbix-api branch.

In my opinion a feature complete Zabbix module must support the following things.

Zabbix reports from puppet

initial support by doing a subtree merge from github.com/thomasvandoren/puppet-zabbix

ability to separately manage Zabbix server, frontend and agent

more or less ready to integrate

additional apps like proxy, alternative agents (snmp + more)

not hard to do, but bumped to later since i don’t need them

complete api integration for provisioning

plans are to host every single line of Zabbix config in puppet data somewhere. You never need to touch the config part of the frontend. The second version of the API seems to work, Zabbix’s api has some quirks and i needed to find those first. This is under development in the zabbix-api branch and will not hit master before it’s complete. The one in master is considered unsuitable for any use other that finding out how not to code ruby.

documentation

containing all the (double) spaceship examples to explain why it makes sense to use the Zabbix api this way.

Most of the legwork is falling together and i expect this module to look like it should soonish. I will update the major version as soon as its at the stage where i consider it ready for Gentoo production and once more per additional operating system. I plan on going 1.0.0 as soon as Gentoo, Redhat and Debian work properly. The WindowsXP support in the agent is there mainly for historical reasons and i would rather commit more time with it (but it still needs to keep running on xp in 2.7 for the moment).

Example Usage

setup an agent on a node

$zabbix::params::server = 'zabbix'
class{ 'zabbix': }

agent management with user parameter

class{ 'zabbix::agent':
  server  => 'zabbix'
}
zabbix::agent::params { 'zabbix.param.test':
  command => 'echo "Hello World!"'
}
zabbix::agent::params { 'Check for trueness':
  key     => 'zabbix.param.trueistrue
  command => 'test true'
}

Development

You might want to look here for a howtos:

I release my own part of this under the AGPL module because I hate hearing about production patches to my code that I can’t apply to the master version after properly writing tests for those cases. It is assumed that pull requests contain code that i may relicense into AGPL, if this is not the case ie. when I initiate the pull myself and its license is not convertible to AGPL (most licenses, like GPLv2+ are) this gets disclosed below with a license.

License

2012, Lucas S. Bickel, Alle Rechte vorbehalten

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License along with this program. If not, see <www.gnu.org/licenses/>.

Zabbix Report Processor

Zabbix Report Processor is in this program as a subtree merge.

Author: Thomas Van Doren

License: GPLv2

Github: github.com/thomasvandoren/puppet-zabbix

About

zabbix module with focus on using zabbix api to provision zabbix from puppet

Resources

License

Stars

Watchers

Forks

Packages

No packages published