2019-02-25 14:48:22 +01:00
|
|
|
/* Icinga 2 | (c) 2012 Icinga GmbH | GPLv2+ */
|
2016-04-19 13:54:41 +02:00
|
|
|
|
|
|
|
#include "base/configobject.hpp"
|
|
|
|
|
|
|
|
library perfdata;
|
|
|
|
|
|
|
|
namespace icinga
|
|
|
|
{
|
|
|
|
|
|
|
|
class InfluxdbWriter : ConfigObject
|
|
|
|
{
|
2019-02-19 14:06:15 +01:00
|
|
|
activation_priority 100;
|
2018-04-26 15:53:11 +02:00
|
|
|
|
2016-04-19 13:54:41 +02:00
|
|
|
[config, required] String host {
|
|
|
|
default {{{ return "127.0.0.1"; }}}
|
|
|
|
};
|
|
|
|
[config, required] String port {
|
|
|
|
default {{{ return "8086"; }}}
|
|
|
|
};
|
|
|
|
[config, required] String database {
|
|
|
|
default {{{ return "icinga2"; }}}
|
|
|
|
};
|
|
|
|
[config] String username {
|
|
|
|
default {{{ return ""; }}}
|
|
|
|
};
|
|
|
|
[config, no_user_view] String password {
|
|
|
|
default {{{ return ""; }}}
|
|
|
|
};
|
|
|
|
[config] bool ssl_enable {
|
|
|
|
default {{{ return false; }}}
|
|
|
|
};
|
|
|
|
[config] String ssl_ca_cert {
|
|
|
|
default {{{ return ""; }}}
|
|
|
|
};
|
|
|
|
[config] String ssl_cert {
|
|
|
|
default {{{ return ""; }}}
|
|
|
|
};
|
|
|
|
[config] String ssl_key{
|
|
|
|
default {{{ return ""; }}}
|
|
|
|
};
|
|
|
|
[config, required] Dictionary::Ptr host_template {
|
|
|
|
default {{{
|
2018-01-11 11:17:38 +01:00
|
|
|
return new Dictionary({
|
|
|
|
{ "measurement", "$host.check_command$" },
|
|
|
|
{ "tags", new Dictionary({
|
|
|
|
{ "hostname", "$host.name$" }
|
|
|
|
}) }
|
|
|
|
});
|
2016-04-19 13:54:41 +02:00
|
|
|
}}}
|
|
|
|
};
|
|
|
|
[config, required] Dictionary::Ptr service_template {
|
|
|
|
default {{{
|
2018-01-11 11:17:38 +01:00
|
|
|
return new Dictionary({
|
|
|
|
{ "measurement", "$service.check_command$" },
|
|
|
|
{ "tags", new Dictionary({
|
2018-01-17 09:23:48 +01:00
|
|
|
{ "hostname", "$host.name$" },
|
2018-01-11 11:17:38 +01:00
|
|
|
{ "service", "$service.name$" }
|
|
|
|
}) }
|
|
|
|
});
|
2016-04-19 13:54:41 +02:00
|
|
|
}}}
|
|
|
|
};
|
|
|
|
[config] bool enable_send_thresholds {
|
|
|
|
default {{{ return false; }}}
|
|
|
|
};
|
2016-06-08 12:09:21 +02:00
|
|
|
[config] bool enable_send_metadata {
|
|
|
|
default {{{ return false; }}}
|
|
|
|
};
|
2016-04-19 13:54:41 +02:00
|
|
|
[config] int flush_interval {
|
|
|
|
default {{{ return 10; }}}
|
|
|
|
};
|
|
|
|
[config] int flush_threshold {
|
|
|
|
default {{{ return 1024; }}}
|
|
|
|
};
|
2018-10-24 13:38:06 +02:00
|
|
|
[config] bool enable_ha {
|
2019-03-27 15:29:03 +01:00
|
|
|
default {{{ return false; }}}
|
2018-10-24 13:38:06 +02:00
|
|
|
};
|
2016-04-19 13:54:41 +02:00
|
|
|
};
|
|
|
|
|
|
|
|
validator InfluxdbWriter {
|
|
|
|
Dictionary host_template {
|
|
|
|
required measurement;
|
|
|
|
String measurement;
|
|
|
|
Dictionary "tags" {
|
|
|
|
String "*";
|
|
|
|
};
|
|
|
|
};
|
|
|
|
Dictionary service_template {
|
|
|
|
required measurement;
|
|
|
|
String measurement;
|
|
|
|
Dictionary "tags" {
|
|
|
|
String "*";
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
}
|