mirror of https://github.com/Icinga/icinga2.git
104 lines
2.0 KiB
Plaintext
104 lines
2.0 KiB
Plaintext
/* Icinga 2 | (c) 2012 Icinga GmbH | GPLv2+ */
|
|
|
|
#include "base/configobject.hpp"
|
|
|
|
library perfdata;
|
|
|
|
namespace icinga
|
|
{
|
|
|
|
class InfluxdbWriter : ConfigObject
|
|
{
|
|
activation_priority 100;
|
|
|
|
[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, no_user_view] Dictionary::Ptr basic_auth;
|
|
[config, required] Dictionary::Ptr host_template {
|
|
default {{{
|
|
return new Dictionary({
|
|
{ "measurement", "$host.check_command$" },
|
|
{ "tags", new Dictionary({
|
|
{ "hostname", "$host.name$" }
|
|
}) }
|
|
});
|
|
}}}
|
|
};
|
|
[config, required] Dictionary::Ptr service_template {
|
|
default {{{
|
|
return new Dictionary({
|
|
{ "measurement", "$service.check_command$" },
|
|
{ "tags", new Dictionary({
|
|
{ "hostname", "$host.name$" },
|
|
{ "service", "$service.name$" }
|
|
}) }
|
|
});
|
|
}}}
|
|
};
|
|
[config] bool enable_send_thresholds {
|
|
default {{{ return false; }}}
|
|
};
|
|
[config] bool enable_send_metadata {
|
|
default {{{ return false; }}}
|
|
};
|
|
[config] int flush_interval {
|
|
default {{{ return 10; }}}
|
|
};
|
|
[config] int flush_threshold {
|
|
default {{{ return 1024; }}}
|
|
};
|
|
[config] bool enable_ha {
|
|
default {{{ return false; }}}
|
|
};
|
|
};
|
|
|
|
validator InfluxdbWriter {
|
|
Dictionary host_template {
|
|
required measurement;
|
|
String measurement;
|
|
Dictionary "tags" {
|
|
String "*";
|
|
};
|
|
};
|
|
Dictionary service_template {
|
|
required measurement;
|
|
String measurement;
|
|
Dictionary "tags" {
|
|
String "*";
|
|
};
|
|
};
|
|
Dictionary basic_auth {
|
|
required username;
|
|
String username;
|
|
required password;
|
|
String password;
|
|
};
|
|
};
|
|
|
|
}
|