Initial commit of the Icinga Template Library.

Fixes #2977
This commit is contained in:
Gunnar Beutner 2013-02-01 11:39:06 +01:00
parent dedd4256c1
commit b8fa0aa1f5
8 changed files with 183 additions and 1 deletions

View File

@ -8,7 +8,8 @@ SUBDIRS = \
lib \
components \
icinga-app \
test
test \
itl
#doc
icinga2docdir = ${docdir}
icinga2doc_DATA = \

View File

@ -97,6 +97,7 @@ components/replication/Makefile
docs/Doxyfile
icinga-app/Makefile
icinga-app/config/Makefile
itl/Makefile
lib/Makefile
lib/base/Makefile
lib/config/Makefile

7
itl/Makefile.am Normal file
View File

@ -0,0 +1,7 @@
icinga2itldir = ${datarootdir}/icinga2/itl
icinga2itl_DATA = \
itl.conf \
itl-host.conf \
itl-service.conf \
itl-service-common.conf \
itl-standalone.conf

29
itl/itl-host.conf Normal file
View File

@ -0,0 +1,29 @@
/******************************************************************************
* Icinga 2 *
* Copyright (C) 2012 Icinga Development Team (http://www.icinga.org/) *
* *
* This program is free software; you can redistribute it and/or *
* modify it under the terms of the GNU General Public License *
* as published by the Free Software Foundation; either version 2 *
* 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 General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the Free Software Foundation *
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. *
******************************************************************************/
object HostGroup "all-hosts" {
alias = "All Hosts"
}
abstract object Host "itl-host" {
hostgroups = { "all-hosts" },
services = { "ping" },
hostchecks = { "ping" }
}

View File

@ -0,0 +1,64 @@
/******************************************************************************
* Icinga 2 *
* Copyright (C) 2012 Icinga Development Team (http://www.icinga.org/) *
* *
* This program is free software; you can redistribute it and/or *
* modify it under the terms of the GNU General Public License *
* as published by the Free Software Foundation; either version 2 *
* 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 General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the Free Software Foundation *
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. *
******************************************************************************/
abstract object Service "ping" inherits "plugin-service" {
check_command = "$plugindir$/check_ping -H $address$ -w $wrta$,$wpl$% -c $crta$,$cpl$%a -p $packets$ -t $timeout$",
macros = {
wrta = 100,
wpl = 5,
crta = 200,
cpl = 15,
packets = 5,
timeout = 0
}
}
abstract object Service "dummy" inherits "plugin-service" {
check_command = "$plugindir$/check_dummy $state$ '$text$'",
macros = {
state = 0,
text = "Check was successful."
}
}
abstract object Service "check_http_vhost" inherits "plugin-service" {
check_command = "$plugindir$/check_http -H $vhost$"
}
abstract object Service "check_http_ip" inherits "plugin-service" {
check_command = "$plugindir$/check_http -I $address$"
}
abstract object Service "load" inherits "plugin-service" {
check_command = "$plugindir$/check_load -w $wload1$,$wload5$,$wload15$ -c $cload1$,$cload5$,$cload15$",
macros = {
wload1 = 0,
wload5 = 0,
wload15 = 0,
cload1 = 0,
cload5 = 0,
crload5 = 0
}
}

32
itl/itl-service.conf Normal file
View File

@ -0,0 +1,32 @@
/******************************************************************************
* Icinga 2 *
* Copyright (C) 2012 Icinga Development Team (http://www.icinga.org/) *
* *
* This program is free software; you can redistribute it and/or *
* modify it under the terms of the GNU General Public License *
* as published by the Free Software Foundation; either version 2 *
* 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 General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the Free Software Foundation *
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. *
******************************************************************************/
object ServiceGroup "all-services" {
alias = "All Services"
}
abstract object Service "itl-service" {
servicegroups = { "all-services" }
}
abstract object Service "plugin-service" inherits "itl-service" {
methods = {
check = "native::PluginCheck"
}
}

21
itl/itl-standalone.conf Normal file
View File

@ -0,0 +1,21 @@
/******************************************************************************
* Icinga 2 *
* Copyright (C) 2012 Icinga Development Team (http://www.icinga.org/) *
* *
* This program is free software; you can redistribute it and/or *
* modify it under the terms of the GNU General Public License *
* as published by the Free Software Foundation; either version 2 *
* 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 General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the Free Software Foundation *
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. *
******************************************************************************/
local object Component "checker" {}
local object Component "delegation" {}

27
itl/itl.conf Normal file
View File

@ -0,0 +1,27 @@
/******************************************************************************
* Icinga 2 *
* Copyright (C) 2012 Icinga Development Team (http://www.icinga.org/) *
* *
* This program is free software; you can redistribute it and/or *
* modify it under the terms of the GNU General Public License *
* as published by the Free Software Foundation; either version 2 *
* 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 General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the Free Software Foundation *
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. *
******************************************************************************/
/**
* This is the Icinga Templare Library, a collection of general purpose Icinga
* configuration templates.
*/
#include "itl-host.conf"
#include "itl-service.conf"
#include "itl-service-common.conf"