mirror of https://github.com/Icinga/icinga2.git
Merge branch 'master' of git.icinga.org:icinga2
This commit is contained in:
commit
9df719f8b6
|
@ -45,7 +45,7 @@ icinga2libdir = ${libdir}/${PACKAGE}
|
||||||
icinga2lib_DATA =
|
icinga2lib_DATA =
|
||||||
|
|
||||||
|
|
||||||
EXTRA_DIST = $(icinga2doc_DATA) $(icinga2logdir) $(icinga2cachedir) $(icinga2varstatedir) $(icinga2rundir) $(icinga2sbindir) $(icinga2libdir) git_version.sh icinga2.spec
|
EXTRA_DIST = $(icinga2doc_DATA) git_version.sh icinga2.spec
|
||||||
|
|
||||||
|
|
||||||
# Remove doc directory on uninstall
|
# Remove doc directory on uninstall
|
||||||
|
|
|
@ -243,6 +243,71 @@ void CompatIdoComponent::EndConfigDump(void)
|
||||||
m_IdoSocket->SendMessage(message.str());
|
m_IdoSocket->SendMessage(message.str());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* enables host config object in ido
|
||||||
|
*/
|
||||||
|
void CompatIdoComponent::EnableHostObject(const Host::Ptr& host)
|
||||||
|
{
|
||||||
|
stringstream message;
|
||||||
|
message << "\n"
|
||||||
|
<< 500 << ":" << "\n" /* enableobject */
|
||||||
|
<< 4 << "=" << std::setprecision(17) << Utility::GetTime() << "\n" /* timestamp */
|
||||||
|
<< 53 << "=" << host->GetName() << "\n" /* host */
|
||||||
|
<< 999 << "\n\n"; /* enddata */
|
||||||
|
|
||||||
|
m_IdoSocket->SendMessage(message.str());
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* enables service config object in ido
|
||||||
|
*/
|
||||||
|
void CompatIdoComponent::EnableServiceObject(const Service::Ptr& service)
|
||||||
|
{
|
||||||
|
stringstream message;
|
||||||
|
message << "\n"
|
||||||
|
<< 500 << ":" << "\n" /* enableobject */
|
||||||
|
<< 4 << "=" << std::setprecision(17) << Utility::GetTime() << "\n" /* timestamp */
|
||||||
|
<< 53 << "=" << service->GetHost()->GetName() << "\n" /* host */
|
||||||
|
<< 114 << "=" << service->GetAlias() << "\n" /* service */
|
||||||
|
<< 999 << "\n\n"; /* enddata */
|
||||||
|
|
||||||
|
m_IdoSocket->SendMessage(message.str());
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* disables host config object in ido
|
||||||
|
*/
|
||||||
|
void CompatIdoComponent::DisableHostObject(const Host::Ptr& host)
|
||||||
|
{
|
||||||
|
stringstream message;
|
||||||
|
message << "\n"
|
||||||
|
<< 501 << ":" << "\n" /* disableobject */
|
||||||
|
<< 4 << "=" << std::setprecision(17) << Utility::GetTime() << "\n" /* timestamp */
|
||||||
|
<< 53 << "=" << host->GetName() << "\n" /* host */
|
||||||
|
<< 999 << "\n\n"; /* enddata */
|
||||||
|
|
||||||
|
m_IdoSocket->SendMessage(message.str());
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* disables service config object in ido
|
||||||
|
*/
|
||||||
|
void CompatIdoComponent::DisableServiceObject(const Service::Ptr& service)
|
||||||
|
{
|
||||||
|
stringstream message;
|
||||||
|
message << "\n"
|
||||||
|
<< 501 << ":" << "\n" /* disableobject */
|
||||||
|
<< 4 << "=" << std::setprecision(17) << Utility::GetTime() << "\n" /* timestamp */
|
||||||
|
<< 53 << "=" << service->GetHost()->GetName() << "\n" /* host */
|
||||||
|
<< 114 << "=" << service->GetAlias() << "\n" /* service */
|
||||||
|
<< 999 << "\n\n"; /* enddata */
|
||||||
|
|
||||||
|
m_IdoSocket->SendMessage(message.str());
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* dump host config to ido
|
* dump host config to ido
|
||||||
*
|
*
|
||||||
|
@ -629,6 +694,8 @@ void CompatIdoComponent::DumpConfigObjects(void)
|
||||||
}
|
}
|
||||||
|
|
||||||
DumpHostObject(host);
|
DumpHostObject(host);
|
||||||
|
//FIXME remove me, debug only XXX
|
||||||
|
//DisableHostObject(host);
|
||||||
}
|
}
|
||||||
|
|
||||||
pair<String, vector<String > > hgt;
|
pair<String, vector<String > > hgt;
|
||||||
|
@ -673,6 +740,8 @@ void CompatIdoComponent::DumpConfigObjects(void)
|
||||||
}
|
}
|
||||||
|
|
||||||
DumpServiceObject(service);
|
DumpServiceObject(service);
|
||||||
|
//FIXME remove me, debug only XXX
|
||||||
|
//DisableServiceObject(service);
|
||||||
}
|
}
|
||||||
|
|
||||||
pair<String, vector<Service::Ptr> > sgt;
|
pair<String, vector<Service::Ptr> > sgt;
|
||||||
|
|
|
@ -53,6 +53,11 @@ private:
|
||||||
void StartConfigDump(void);
|
void StartConfigDump(void);
|
||||||
void EndConfigDump(void);
|
void EndConfigDump(void);
|
||||||
|
|
||||||
|
void EnableHostObject(const Host::Ptr& host);
|
||||||
|
void EnableServiceObject(const Service::Ptr& service);
|
||||||
|
void DisableHostObject(const Host::Ptr& host);
|
||||||
|
void DisableServiceObject(const Service::Ptr& service);
|
||||||
|
|
||||||
void DumpConfigObjects(void);
|
void DumpConfigObjects(void);
|
||||||
void DumpHostObject(const Host::Ptr& host);
|
void DumpHostObject(const Host::Ptr& host);
|
||||||
void DumpServiceObject(const Service::Ptr& service);
|
void DumpServiceObject(const Service::Ptr& service);
|
||||||
|
|
Binary file not shown.
|
@ -326,8 +326,8 @@ Example:
|
||||||
|
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
local object IcingaApplication "icinga" {
|
local object IcingaApplication "icinga" {
|
||||||
cert = "my-cert.pem",
|
cert_path = "my-cert.pem",
|
||||||
ca = "ca.crt",
|
ca_path = "ca.crt",
|
||||||
|
|
||||||
node = "192.168.0.1",
|
node = "192.168.0.1",
|
||||||
service = 7777,
|
service = 7777,
|
||||||
|
@ -342,15 +342,15 @@ local object IcingaApplication "icinga" {
|
||||||
}
|
}
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
|
|
||||||
Attribute: cert
|
Attribute: cert_path
|
||||||
^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
This is used to specify the SSL client certificate Icinga 2 will use when
|
This is used to specify the SSL client certificate Icinga 2 will use when
|
||||||
connecting to other Icinga 2 instances. This property is optional when you're
|
connecting to other Icinga 2 instances. This property is optional when you're
|
||||||
setting up a non-networked Icinga 2 instance.
|
setting up a non-networked Icinga 2 instance.
|
||||||
|
|
||||||
Attribute: ca
|
Attribute: ca_path
|
||||||
^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
This is the public CA certificate that is used to verify connections from other
|
This is the public CA certificate that is used to verify connections from other
|
||||||
Icinga 2 instances. This property is optional when you're setting up a
|
Icinga 2 instances. This property is optional when you're setting up a
|
||||||
|
@ -822,3 +822,5 @@ write status.dat and objects.cache files.
|
||||||
If you require an idomod connector for ido2db, outputting into idoutils database,
|
If you require an idomod connector for ido2db, outputting into idoutils database,
|
||||||
you may also load the "compatido" component (default: tcpsocket, 127.0.0.1:5668).
|
you may also load the "compatido" component (default: tcpsocket, 127.0.0.1:5668).
|
||||||
Make sure that ido2db is running and listening to the tcpsocket!
|
Make sure that ido2db is running and listening to the tcpsocket!
|
||||||
|
|
||||||
|
/* vim: set syntax=asciidoc filetype=asciidoc: */
|
||||||
|
|
|
@ -0,0 +1,100 @@
|
||||||
|
/**
|
||||||
|
* Icinga 2 configuration file
|
||||||
|
* - this is where you define settings for the Icinga application including
|
||||||
|
* which hosts/services to check.
|
||||||
|
*
|
||||||
|
* The docs/icinga2-config.txt file in the source tarball has a detailed
|
||||||
|
* description of what configuration options are available.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Global configuration settings
|
||||||
|
*/
|
||||||
|
local object IcingaApplication "icinga" {
|
||||||
|
pid_path = "icinga2.pid",
|
||||||
|
log_path = "icinga2.log",
|
||||||
|
state_path = "icinga2.state",
|
||||||
|
|
||||||
|
macros = {
|
||||||
|
plugindir = "C:\Plugins"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The checker component takes care of executing service checks.
|
||||||
|
*/
|
||||||
|
local object Component "checker" {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The delegation component assigns services to checkers. You need to load
|
||||||
|
* this component even if your Icinga setup only consists of a single instance.
|
||||||
|
*/
|
||||||
|
local object Component "delegation" {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The compat component periodically updates the status.dat and objects.cache
|
||||||
|
* files. These are used by the Icinga 1.x CGIs to display the state of
|
||||||
|
* hosts and services.
|
||||||
|
*/
|
||||||
|
local object Component "compat" {
|
||||||
|
status_path = "status.dat",
|
||||||
|
objects_path = "objects.cache",
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The compatido component works as idomod connector to a running ido2db
|
||||||
|
* daemon, connected via tcp socket only. It will dump config and status
|
||||||
|
* information periodically for now. By default, this remains disabled.
|
||||||
|
*/
|
||||||
|
/*
|
||||||
|
local object Component "compatido" {
|
||||||
|
socket_address = "127.0.0.1",
|
||||||
|
socket_port = "5668",
|
||||||
|
instance_name = "i2-default",
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This template defines some basic parameters for services that use
|
||||||
|
* external plugins for their checks.
|
||||||
|
*/
|
||||||
|
abstract object Service "icinga-service" {
|
||||||
|
methods = {
|
||||||
|
check = "native::PluginCheck"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The service template for ping checks. In an Icinga 1.x environment
|
||||||
|
* this would be defined as a check command.
|
||||||
|
*/
|
||||||
|
abstract object Service "ping" inherits "icinga-service" {
|
||||||
|
|
||||||
|
/* using check_winping from https://www.itefix.no/i2/check_winping */
|
||||||
|
check_command = "$plugindir$\check_ping.exe -H $address$ -w $wrta$,$wpl$% -c $crta$,$cpl$%",
|
||||||
|
|
||||||
|
macros += {
|
||||||
|
wrta = 100,
|
||||||
|
wpl = 80,
|
||||||
|
crta = 250,
|
||||||
|
cpl = 100
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* And finally we define some host that should be checked.
|
||||||
|
*/
|
||||||
|
object Host "localhost" {
|
||||||
|
services = { "ping" },
|
||||||
|
|
||||||
|
macros = {
|
||||||
|
address = "127.0.0.1"
|
||||||
|
},
|
||||||
|
|
||||||
|
check_interval = 1m
|
||||||
|
}
|
||||||
|
|
|
@ -90,8 +90,8 @@ int IcingaApplication::Main(const vector<String>& args)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
m_CertificateFile = Get("cert");
|
m_CertificateFile = Get("cert_path");
|
||||||
m_CAFile = Get("ca");
|
m_CAFile = Get("ca_path");
|
||||||
m_Node = Get("node");
|
m_Node = Get("node");
|
||||||
m_Service = Get("service");
|
m_Service = Get("service");
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue