0
0
Fork 0
mirror of https://github.com/netdata/netdata.git synced 2025-04-17 03:02:41 +00:00

add dyncfg vnode option to collectors ()

* add dyncfg vnode option to collectors

* fix tests
This commit is contained in:
Ilya Mashchenko 2024-12-15 21:29:28 +02:00 committed by GitHub
parent 9aebec9d19
commit fe744ae2d2
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
342 changed files with 1135 additions and 128 deletions
src/go/plugin/go.d
agent/jobmgr
collector
activemq
apache
apcupsd
beanstalk
bind
boinc
cassandra
ceph
chrony
clickhouse
cockroachdb
consul
coredns
couchbase
couchdb
dnsdist
dnsmasq
dnsquery
docker
docker_engine
dockerhub
dovecot
elasticsearch
envoy
fluentd

View file

@ -143,6 +143,13 @@ func (m *Manager) dyncfgVnodeAdd(fn functions.Function) {
m.Vnodes[name] = cfg
if orig, ok := m.Vnodes[name]; ok && !orig.Equal(cfg) {
m.runningJobs.forEach(func(_ string, job *module.Job) {
if job.Vnode().Name == name {
job.UpdateVnode(cfg)
}
})
}
m.dyncfgRespf(fn, 202, "")
m.dyncfgVnodeJobCreate(cfg, dyncfgRunning)
}
@ -175,16 +182,14 @@ func (m *Manager) dyncfgVnodeRemove(fn functions.Function) {
}
func (m *Manager) dyncfgVnodeTest(fn functions.Function) {
id := fn.Args[0]
name := strings.TrimPrefix(id, dyncfgVnodeID+":")
orig, ok := m.Vnodes[name]
if !ok {
m.Warningf("dyncfg: test: vnode %s not found", name)
m.dyncfgRespf(fn, 404, "The specified vnode '%s' is not registered.", name)
if len(fn.Args) < 3 {
m.Warningf("dyncfg: test: missing required arguments, want 3 got %d", len(fn.Args))
m.dyncfgRespf(fn, 400, "Missing required arguments. Need at least 3, but got %d.", len(fn.Args))
return
}
name := fn.Args[2]
cfg, err := vnodeConfigFromPayload(fn)
if err != nil {
m.Warningf("dyncfg: test: vnode: failed to create config from payload: %v", err)
@ -200,8 +205,11 @@ func (m *Manager) dyncfgVnodeTest(fn functions.Function) {
dyncfgUpdateVnodeConfig(cfg, name)
if orig.Equal(cfg) {
m.dyncfgRespf(fn, 202, "Configuration unchanged.")
id := fn.Args[0]
_, ok := m.Vnodes[name]
if id == dyncfgVnodeID || !ok {
m.dyncfgRespf(fn, 200, "")
return
}
@ -308,10 +316,7 @@ func (m *Manager) vnodeUserconfigFromPayload(fn functions.Function) ([]byte, err
name = fn.Args[2]
}
cfg.Name = name
if cfg.Hostname == "" {
cfg.Hostname = name
}
dyncfgUpdateVnodeConfig(cfg, name)
bs, err := yaml.Marshal([]any{cfg})
if err != nil {

View file

@ -48,7 +48,8 @@ func New() *Collector {
}
type Config struct {
UpdateEvery int `yaml:"update_every,omitempty" json:"update_every"`
Vnode string `yaml:"vnode,omitempty" json:"vnode"`
UpdateEvery int `yaml:"update_every,omitempty" json:"update_every"`
web.HTTPConfig `yaml:",inline" json:""`
Webadmin string `yaml:"webadmin,omitempty" json:"webadmin"`
MaxQueues int `yaml:"max_queues" json:"max_queues"`

View file

@ -36,6 +36,11 @@
"description": "If set, the client will not follow HTTP redirects automatically.",
"type": "boolean"
},
"vnode": {
"title": "Vnode",
"description": "Associates this data collection job with a [Virtual Node](https://learn.netdata.cloud/docs/netdata-agent/configuration/organize-systems-metrics-and-alerts#virtual-nodes).",
"type": "string"
},
"max_queues": {
"title": "Queue limit",
"description": "The maximum number of concurrently collected queues. Set to 0 for no limit.",
@ -155,7 +160,8 @@
"url",
"webadmin",
"timeout",
"not_follow_redirects"
"not_follow_redirects",
"vnode"
]
},
{
@ -208,6 +214,9 @@
"method": {
"ui:widget": "hidden"
},
"vnode": {
"ui:placeholder": "To use this option, first create a Virtual Node and then reference its name here."
},
"timeout": {
"ui:help": "Accepts decimals for precise control (e.g., type 1.5 for 1.5 seconds)."
},

View file

@ -1,4 +1,5 @@
{
"vnode": "ok",
"update_every": 123,
"webadmin": "ok",
"max_queues": 123,

View file

@ -1,3 +1,4 @@
vnode: "ok"
update_every: 123
webadmin: "ok"
max_queues: 123

View file

@ -45,7 +45,8 @@ func New() *Collector {
}
type Config struct {
UpdateEvery int `yaml:"update_every,omitempty" json:"update_every"`
Vnode string `yaml:"vnode,omitempty" json:"vnode"`
UpdateEvery int `yaml:"update_every,omitempty" json:"update_every"`
web.HTTPConfig `yaml:",inline" json:""`
}

View file

@ -35,6 +35,11 @@
"description": "If set, forces the use of HTTP/2 protocol for all requests, even over plain TCP (h2c).",
"type": "boolean"
},
"vnode": {
"title": "Vnode",
"description": "Associates this data collection job with a [Virtual Node](https://learn.netdata.cloud/docs/netdata-agent/configuration/organize-systems-metrics-and-alerts#virtual-nodes).",
"type": "string"
},
"username": {
"title": "Username",
"description": "The username for basic authentication.",
@ -124,6 +129,9 @@
"method": {
"ui:widget": "hidden"
},
"vnode": {
"ui:placeholder": "To use this option, first create a Virtual Node and then reference its name here."
},
"timeout": {
"ui:help": "Accepts decimals for precise control (e.g., type 1.5 for 1.5 seconds)."
},
@ -149,7 +157,8 @@
"url",
"timeout",
"not_follow_redirects",
"force_http2"
"force_http2",
"vnode"
]
},
{

View file

@ -1,4 +1,5 @@
{
"vnode": "ok",
"update_every": 123,
"url": "ok",
"body": "ok",

View file

@ -1,3 +1,4 @@
vnode: "ok"
update_every: 123
url: "ok"
body: "ok"

View file

@ -35,6 +35,7 @@ func New() *Collector {
}
type Config struct {
Vnode string `yaml:"vnode,omitempty" json:"vnode"`
UpdateEvery int `yaml:"update_every,omitempty" json:"update_every"`
Address string `yaml:"address" json:"address"`
Timeout confopt.Duration `yaml:"timeout,omitempty" json:"timeout"`

View file

@ -23,6 +23,11 @@
"type": "number",
"minimum": 0.5,
"default": 1
},
"vnode": {
"title": "Vnode",
"description": "Associates this data collection job with a [Virtual Node](https://learn.netdata.cloud/docs/netdata-agent/configuration/organize-systems-metrics-and-alerts#virtual-nodes).",
"type": "string"
}
},
"required": [
@ -36,6 +41,9 @@
"uiOptions": {
"fullPage": true
},
"vnode": {
"ui:placeholder": "To use this option, first create a Virtual Node and then reference its name here."
},
"timeout": {
"ui:help": "Accepts decimals for precise control (e.g., type 1.5 for 1.5 seconds)."
}

View file

@ -1,4 +1,5 @@
{
"vnode": "ok",
"update_every": 123,
"address": "ok",
"timeout": 123.123

View file

@ -1,3 +1,4 @@
vnode: "ok"
update_every: 123
address: "ok"
timeout: 123.123

View file

@ -43,6 +43,7 @@ func New() *Collector {
}
type Config struct {
Vnode string `yaml:"vnode,omitempty" json:"vnode"`
UpdateEvery int `yaml:"update_every,omitempty" json:"update_every"`
Address string `yaml:"address" json:"address"`
Timeout confopt.Duration `yaml:"timeout,omitempty" json:"timeout"`

View file

@ -30,6 +30,11 @@
"type": "string",
"minimum": 1,
"default": "*"
},
"vnode": {
"title": "Vnode",
"description": "Associates this data collection job with a [Virtual Node](https://learn.netdata.cloud/docs/netdata-agent/configuration/organize-systems-metrics-and-alerts#virtual-nodes).",
"type": "string"
}
},
"required": [
@ -43,6 +48,9 @@
"uiOptions": {
"fullPage": true
},
"vnode": {
"ui:placeholder": "To use this option, first create a Virtual Node and then reference its name here."
},
"timeout": {
"ui:help": "Accepts decimals for precise control (e.g., type 1.5 for 1.5 seconds)."
},

View file

@ -1,4 +1,5 @@
{
"vnode": "ok",
"update_every": 123,
"address": "ok",
"timeout": 123.123,

View file

@ -1,3 +1,4 @@
vnode: "ok"
update_every: 123
address: "ok"
timeout: 123.123

View file

@ -44,7 +44,8 @@ func New() *Collector {
}
type Config struct {
UpdateEvery int `yaml:"update_every,omitempty" json:"update_every"`
Vnode string `yaml:"vnode,omitempty" json:"vnode"`
UpdateEvery int `yaml:"update_every,omitempty" json:"update_every"`
web.HTTPConfig `yaml:",inline" json:""`
PermitView string `yaml:"permit_view,omitempty" json:"permit_view"`
}

View file

@ -30,6 +30,11 @@
"description": "If set, the client will not follow HTTP redirects automatically.",
"type": "boolean"
},
"vnode": {
"title": "Vnode",
"description": "Associates this data collection job with a [Virtual Node](https://learn.netdata.cloud/docs/netdata-agent/configuration/organize-systems-metrics-and-alerts#virtual-nodes).",
"type": "string"
},
"username": {
"title": "Username",
"description": "The username for basic authentication.",
@ -119,7 +124,8 @@
"update_every",
"url",
"timeout",
"not_follow_redirects"
"not_follow_redirects",
"vnode"
]
},
{
@ -163,6 +169,9 @@
"method": {
"ui:widget": "hidden"
},
"vnode": {
"ui:placeholder": "To use this option, first create a Virtual Node and then reference its name here."
},
"timeout": {
"ui:help": "Accepts decimals for precise control (e.g., type 1.5 for 1.5 seconds)."
},

View file

@ -1,4 +1,5 @@
{
"vnode": "ok",
"update_every": 123,
"url": "ok",
"body": "ok",

View file

@ -1,3 +1,4 @@
vnode: "ok"
update_every: 123
url: "ok"
body: "ok"

View file

@ -36,6 +36,7 @@ func New() *Collector {
}
type Config struct {
Vnode string `yaml:"vnode,omitempty" json:"vnode"`
UpdateEvery int `yaml:"update_every,omitempty" json:"update_every"`
Address string `yaml:"address" json:"address"`
Timeout confopt.Duration `yaml:"timeout" json:"timeout"`

View file

@ -29,6 +29,11 @@
"description": "The GUI RPC password for authentication.",
"type": "string",
"sensitive": true
},
"vnode": {
"title": "Vnode",
"description": "Associates this data collection job with a [Virtual Node](https://learn.netdata.cloud/docs/netdata-agent/configuration/organize-systems-metrics-and-alerts#virtual-nodes).",
"type": "string"
}
},
"required": [
@ -42,6 +47,9 @@
"uiOptions": {
"fullPage": true
},
"vnode": {
"ui:placeholder": "To use this option, first create a Virtual Node and then reference its name here."
},
"timeout": {
"ui:help": "Accepts decimals for precise control (e.g., type 1.5 for 1.5 seconds)."
},

View file

@ -1,4 +1,5 @@
{
"vnode": "ok",
"update_every": 123,
"address": "ok",
"timeout": 123.123,

View file

@ -1,3 +1,4 @@
vnode: "ok"
update_every: 123
address: "ok"
timeout: 123.123

View file

@ -48,7 +48,8 @@ func New() *Collector {
}
type Config struct {
UpdateEvery int `yaml:"update_every,omitempty" json:"update_every"`
Vnode string `yaml:"vnode,omitempty" json:"vnode"`
UpdateEvery int `yaml:"update_every,omitempty" json:"update_every"`
web.HTTPConfig `yaml:",inline" json:""`
}

View file

@ -30,6 +30,11 @@
"description": "If set, the client will not follow HTTP redirects automatically.",
"type": "boolean"
},
"vnode": {
"title": "Vnode",
"description": "Associates this data collection job with a [Virtual Node](https://learn.netdata.cloud/docs/netdata-agent/configuration/organize-systems-metrics-and-alerts#virtual-nodes).",
"type": "string"
},
"username": {
"title": "Username",
"description": "The username for basic authentication.",
@ -119,7 +124,8 @@
"update_every",
"url",
"timeout",
"not_follow_redirects"
"not_follow_redirects",
"vnode"
]
},
{
@ -163,6 +169,9 @@
"method": {
"ui:widget": "hidden"
},
"vnode": {
"ui:placeholder": "To use this option, first create a Virtual Node and then reference its name here."
},
"timeout": {
"ui:help": "Accepts decimals for precise control (e.g., type 1.5 for 1.5 seconds)."
},

View file

@ -1,4 +1,5 @@
{
"vnode": "ok",
"update_every": 123,
"url": "ok",
"body": "ok",

View file

@ -1,3 +1,4 @@
vnode: "ok"
update_every: 123
url: "ok"
body: "ok"

View file

@ -53,7 +53,8 @@ func New() *Collector {
}
type Config struct {
UpdateEvery int `yaml:"update_every,omitempty" json:"update_every"`
Vnode string `yaml:"vnode,omitempty" json:"vnode"`
UpdateEvery int `yaml:"update_every,omitempty" json:"update_every"`
web.HTTPConfig `yaml:",inline" json:""`
}

View file

@ -30,6 +30,11 @@
"description": "If set, the client will not follow HTTP redirects automatically.",
"type": "boolean"
},
"vnode": {
"title": "Vnode",
"description": "Associates this data collection job with a [Virtual Node](https://learn.netdata.cloud/docs/netdata-agent/configuration/organize-systems-metrics-and-alerts#virtual-nodes).",
"type": "string"
},
"username": {
"title": "Username",
"description": "The username for basic authentication.",
@ -122,6 +127,9 @@
"method": {
"ui:widget": "hidden"
},
"vnode": {
"ui:placeholder": "To use this option, first create a Virtual Node and then reference its name here."
},
"timeout": {
"ui:help": "Accepts decimals for precise control (e.g., type 1.5 for 1.5 seconds)."
},
@ -146,7 +154,8 @@
"update_every",
"url",
"timeout",
"not_follow_redirects"
"not_follow_redirects",
"vnode"
]
},
{

View file

@ -1,4 +1,5 @@
{
"vnode": "ok",
"update_every": 123,
"url": "ok",
"body": "ok",

View file

@ -1,3 +1,4 @@
vnode: "ok"
update_every: 123
url: "ok"
body: "ok"

View file

@ -38,6 +38,7 @@ func New() *Collector {
}
type Config struct {
Vnode string `yaml:"vnode,omitempty" json:"vnode"`
UpdateEvery int `yaml:"update_every,omitempty" json:"update_every"`
Address string `yaml:"address" json:"address"`
Timeout confopt.Duration `yaml:"timeout,omitempty" json:"timeout"`

View file

@ -22,6 +22,11 @@
"description": "Timeout for establishing a connection and communication (reading and writing) in seconds.",
"type": "number",
"default": 1
},
"vnode": {
"title": "Vnode",
"description": "Associates this data collection job with a [Virtual Node](https://learn.netdata.cloud/docs/netdata-agent/configuration/organize-systems-metrics-and-alerts#virtual-nodes).",
"type": "string"
}
},
"required": [
@ -35,6 +40,9 @@
"uiOptions": {
"fullPage": true
},
"vnode": {
"ui:placeholder": "To use this option, first create a Virtual Node and then reference its name here."
},
"timeout": {
"ui:help": "Accepts decimals for precise control (e.g., type 1.5 for 1.5 seconds)."
}

View file

@ -1,4 +1,5 @@
{
"vnode": "ok",
"update_every": 123,
"address": "ok",
"timeout": 123.123

View file

@ -1,3 +1,4 @@
vnode: "ok"
update_every: 123
address: "ok"
timeout: 123.123

View file

@ -45,7 +45,8 @@ func New() *Collector {
}
type Config struct {
UpdateEvery int `yaml:"update_every,omitempty" json:"update_every"`
Vnode string `yaml:"vnode,omitempty" json:"vnode"`
UpdateEvery int `yaml:"update_every,omitempty" json:"update_every"`
web.HTTPConfig `yaml:",inline" json:""`
}

View file

@ -30,6 +30,11 @@
"description": "If set, the client will not follow HTTP redirects automatically.",
"type": "boolean"
},
"vnode": {
"title": "Vnode",
"description": "Associates this data collection job with a [Virtual Node](https://learn.netdata.cloud/docs/netdata-agent/configuration/organize-systems-metrics-and-alerts#virtual-nodes).",
"type": "string"
},
"username": {
"title": "Username",
"description": "The username for basic authentication.",
@ -119,6 +124,9 @@
"method": {
"ui:widget": "hidden"
},
"vnode": {
"ui:placeholder": "To use this option, first create a Virtual Node and then reference its name here."
},
"timeout": {
"ui:help": "Accepts decimals for precise control (e.g., type 1.5 for 1.5 seconds)."
},
@ -143,7 +151,8 @@
"update_every",
"url",
"timeout",
"not_follow_redirects"
"not_follow_redirects",
"vnode"
]
},
{

View file

@ -1,4 +1,5 @@
{
"vnode": "ok",
"update_every": 123,
"url": "ok",
"body": "ok",

View file

@ -1,3 +1,4 @@
vnode: "ok"
update_every: 123
url: "ok"
body: "ok"

View file

@ -50,7 +50,8 @@ func New() *Collector {
}
type Config struct {
UpdateEvery int `yaml:"update_every,omitempty" json:"update_every"`
Vnode string `yaml:"vnode,omitempty" json:"vnode"`
UpdateEvery int `yaml:"update_every,omitempty" json:"update_every"`
web.HTTPConfig `yaml:",inline" json:""`
}

View file

@ -30,6 +30,11 @@
"description": "If set, the client will not follow HTTP redirects automatically.",
"type": "boolean"
},
"vnode": {
"title": "Vnode",
"description": "Associates this data collection job with a [Virtual Node](https://learn.netdata.cloud/docs/netdata-agent/configuration/organize-systems-metrics-and-alerts#virtual-nodes).",
"type": "string"
},
"username": {
"title": "Username",
"description": "The username for basic authentication.",
@ -119,7 +124,8 @@
"update_every",
"url",
"timeout",
"not_follow_redirects"
"not_follow_redirects",
"vnode"
]
},
{
@ -163,6 +169,9 @@
"method": {
"ui:widget": "hidden"
},
"vnode": {
"ui:placeholder": "To use this option, first create a Virtual Node and then reference its name here."
},
"timeout": {
"ui:help": "Accepts decimals for precise control (e.g., type 1.5 for 1.5 seconds)."
},

View file

@ -1,4 +1,5 @@
{
"vnode": "ok",
"update_every": 123,
"url": "ok",
"body": "ok",

View file

@ -1,3 +1,4 @@
vnode: "ok"
update_every: 123
url: "ok"
body: "ok"

View file

@ -53,7 +53,8 @@ func New() *Collector {
}
type Config struct {
UpdateEvery int `yaml:"update_every,omitempty" json:"update_every"`
Vnode string `yaml:"vnode,omitempty" json:"vnode"`
UpdateEvery int `yaml:"update_every,omitempty" json:"update_every"`
web.HTTPConfig `yaml:",inline" json:""`
ACLToken string `yaml:"acl_token,omitempty" json:"acl_token"`
}

View file

@ -30,6 +30,11 @@
"description": "If set, the client will not follow HTTP redirects automatically.",
"type": "boolean"
},
"vnode": {
"title": "Vnode",
"description": "Associates this data collection job with a [Virtual Node](https://learn.netdata.cloud/docs/netdata-agent/configuration/organize-systems-metrics-and-alerts#virtual-nodes).",
"type": "string"
},
"acl_token": {
"title": "X-Consul-Token",
"description": "The Consul token for [authentication](https://developer.hashicorp.com/consul/api-docs/api-structure#authentication).",
@ -125,7 +130,8 @@
"update_every",
"url",
"timeout",
"not_follow_redirects"
"not_follow_redirects",
"vnode"
]
},
{
@ -170,6 +176,9 @@
"method": {
"ui:widget": "hidden"
},
"vnode": {
"ui:placeholder": "To use this option, first create a Virtual Node and then reference its name here."
},
"timeout": {
"ui:help": "Accepts decimals for precise control (e.g., type 1.5 for 1.5 seconds)."
},

View file

@ -1,4 +1,5 @@
{
"vnode": "ok",
"update_every": 123,
"url": "ok",
"body": "ok",

View file

@ -1,3 +1,4 @@
vnode: "ok"
update_every: 123
url: "ok"
body: "ok"

View file

@ -48,7 +48,8 @@ func New() *Collector {
}
type Config struct {
UpdateEvery int `yaml:"update_every,omitempty" json:"update_every"`
Vnode string `yaml:"vnode,omitempty" json:"vnode"`
UpdateEvery int `yaml:"update_every,omitempty" json:"update_every"`
web.HTTPConfig `yaml:",inline" json:""`
PerServerStats matcher.SimpleExpr `yaml:"per_server_stats,omitempty" json:"per_server_stats"`
PerZoneStats matcher.SimpleExpr `yaml:"per_zone_stats,omitempty" json:"per_zone_stats"`

View file

@ -30,6 +30,11 @@
"description": "If set, the client will not follow HTTP redirects automatically.",
"type": "boolean"
},
"vnode": {
"title": "Vnode",
"description": "Associates this data collection job with a [Virtual Node](https://learn.netdata.cloud/docs/netdata-agent/configuration/organize-systems-metrics-and-alerts#virtual-nodes).",
"type": "string"
},
"per_server_stats": {
"title": "Server selector",
"description": "Configures collection of per-server statistics. If left empty, no stats will be collected. Matching is performed against the `server` label value.",
@ -194,7 +199,8 @@
"update_every",
"url",
"timeout",
"not_follow_redirects"
"not_follow_redirects",
"vnode"
]
},
{
@ -242,6 +248,9 @@
"method": {
"ui:widget": "hidden"
},
"vnode": {
"ui:placeholder": "To use this option, first create a Virtual Node and then reference its name here."
},
"timeout": {
"ui:help": "Accepts decimals for precise control (e.g., type 1.5 for 1.5 seconds)."
},

View file

@ -1,4 +1,5 @@
{
"vnode": "ok",
"update_every": 123,
"url": "ok",
"body": "ok",

View file

@ -1,3 +1,4 @@
vnode: "ok"
update_every: 123
url: "ok"
body: "ok"

View file

@ -46,7 +46,8 @@ func New() *Collector {
}
type Config struct {
UpdateEvery int `yaml:"update_every,omitempty" json:"update_every"`
Vnode string `yaml:"vnode,omitempty" json:"vnode"`
UpdateEvery int `yaml:"update_every,omitempty" json:"update_every"`
web.HTTPConfig `yaml:",inline" json:""`
}

View file

@ -30,6 +30,11 @@
"description": "If set, the client will not follow HTTP redirects automatically.",
"type": "boolean"
},
"vnode": {
"title": "Vnode",
"description": "Associates this data collection job with a [Virtual Node](https://learn.netdata.cloud/docs/netdata-agent/configuration/organize-systems-metrics-and-alerts#virtual-nodes).",
"type": "string"
},
"username": {
"title": "Username",
"description": "The username for basic authentication.",
@ -119,7 +124,8 @@
"update_every",
"url",
"timeout",
"not_follow_redirects"
"not_follow_redirects",
"vnode"
]
},
{
@ -163,6 +169,9 @@
"method": {
"ui:widget": "hidden"
},
"vnode": {
"ui:placeholder": "To use this option, first create a Virtual Node and then reference its name here."
},
"timeout": {
"ui:help": "Accepts decimals for precise control (e.g., type 1.5 for 1.5 seconds)."
},

View file

@ -1,4 +1,5 @@
{
"vnode": "ok",
"update_every": 123,
"url": "ok",
"body": "ok",

View file

@ -1,3 +1,4 @@
vnode: "ok"
update_every: 123
url: "ok"
body: "ok"

View file

@ -47,7 +47,8 @@ func New() *Collector {
}
type Config struct {
UpdateEvery int `yaml:"update_every,omitempty" json:"update_every"`
Vnode string `yaml:"vnode,omitempty" json:"vnode"`
UpdateEvery int `yaml:"update_every,omitempty" json:"update_every"`
web.HTTPConfig `yaml:",inline" json:""`
Node string `yaml:"node,omitempty" json:"node"`
Databases string `yaml:"databases,omitempty" json:"databases"`

View file

@ -30,6 +30,11 @@
"description": "If set, the client will not follow HTTP redirects automatically.",
"type": "boolean"
},
"vnode": {
"title": "Vnode",
"description": "Associates this data collection job with a [Virtual Node](https://learn.netdata.cloud/docs/netdata-agent/configuration/organize-systems-metrics-and-alerts#virtual-nodes).",
"type": "string"
},
"node": {
"title": "Node name",
"description": "CouchDB node name. Same as -name vm.args argument.",
@ -133,7 +138,8 @@
"timeout",
"not_follow_redirects",
"node",
"databases"
"databases",
"vnode"
]
},
{
@ -177,6 +183,9 @@
"method": {
"ui:widget": "hidden"
},
"vnode": {
"ui:placeholder": "To use this option, first create a Virtual Node and then reference its name here."
},
"timeout": {
"ui:help": "Accepts decimals for precise control (e.g., type 1.5 for 1.5 seconds)."
},

View file

@ -1,4 +1,5 @@
{
"vnode": "ok",
"update_every": 123,
"url": "ok",
"body": "ok",

View file

@ -1,3 +1,4 @@
vnode: "ok"
update_every: 123
url: "ok"
body: "ok"

View file

@ -45,7 +45,8 @@ func New() *Collector {
}
type Config struct {
UpdateEvery int `yaml:"update_every,omitempty" json:"update_every"`
Vnode string `yaml:"vnode,omitempty" json:"vnode"`
UpdateEvery int `yaml:"update_every,omitempty" json:"update_every"`
web.HTTPConfig `yaml:",inline" json:""`
}

View file

@ -30,6 +30,11 @@
"description": "If set, the client will not follow HTTP redirects automatically.",
"type": "boolean"
},
"vnode": {
"title": "Vnode",
"description": "Associates this data collection job with a [Virtual Node](https://learn.netdata.cloud/docs/netdata-agent/configuration/organize-systems-metrics-and-alerts#virtual-nodes).",
"type": "string"
},
"username": {
"title": "Username",
"description": "The username for basic authentication.",
@ -119,7 +124,8 @@
"update_every",
"url",
"timeout",
"not_follow_redirects"
"not_follow_redirects",
"vnode"
]
},
{
@ -163,6 +169,9 @@
"method": {
"ui:widget": "hidden"
},
"vnode": {
"ui:placeholder": "To use this option, first create a Virtual Node and then reference its name here."
},
"timeout": {
"ui:help": "Accepts decimals for precise control (e.g., type 1.5 for 1.5 seconds)."
},

View file

@ -1,4 +1,5 @@
{
"vnode": "ok",
"update_every": 123,
"url": "ok",
"body": "ok",

View file

@ -1,3 +1,4 @@
vnode: "ok"
update_every: 123
url: "ok"
body: "ok"

View file

@ -44,6 +44,7 @@ func New() *Collector {
}
type Config struct {
Vnode string `yaml:"vnode,omitempty" json:"vnode"`
UpdateEvery int `yaml:"update_every,omitempty" json:"update_every"`
Address string `yaml:"address" json:"address"`
Protocol string `yaml:"protocol,omitempty" json:"protocol"`

View file

@ -33,6 +33,11 @@
"description": "Timeout for establishing a connection and communication (reading and writing) in seconds.",
"type": "number",
"default": 1
},
"vnode": {
"title": "Vnode",
"description": "Associates this data collection job with a [Virtual Node](https://learn.netdata.cloud/docs/netdata-agent/configuration/organize-systems-metrics-and-alerts#virtual-nodes).",
"type": "string"
}
},
"required": [
@ -47,6 +52,9 @@
"uiOptions": {
"fullPage": true
},
"vnode": {
"ui:placeholder": "To use this option, first create a Virtual Node and then reference its name here."
},
"timeout": {
"ui:help": "Accepts decimals for precise control (e.g., type 1.5 for 1.5 seconds)."
},

View file

@ -1,4 +1,5 @@
{
"vnode": "ok",
"update_every": 123,
"protocol": "ok",
"address": "ok",

View file

@ -1,3 +1,4 @@
vnode: "ok"
update_every: 123
protocol: "ok"
address: "ok"

View file

@ -46,6 +46,7 @@ func New() *Collector {
}
type Config struct {
Vnode string `yaml:"vnode,omitempty" json:"vnode"`
UpdateEvery int `yaml:"update_every,omitempty" json:"update_every"`
Timeout confopt.Duration `yaml:"timeout,omitempty" json:"timeout"`
Domains []string `yaml:"domains" json:"domains"`

View file

@ -98,6 +98,11 @@
],
"uniqueItems": true,
"minItems": 1
},
"vnode": {
"title": "Vnode",
"description": "Associates this data collection job with a [Virtual Node](https://learn.netdata.cloud/docs/netdata-agent/configuration/organize-systems-metrics-and-alerts#virtual-nodes).",
"type": "string"
}
},
"required": [
@ -113,6 +118,9 @@
"uiOptions": {
"fullPage": true
},
"vnode": {
"ui:placeholder": "To use this option, first create a Virtual Node and then reference its name here."
},
"timeout": {
"ui:help": "Accepts decimals for precise control (e.g., type 1.5 for 1.5 seconds)."
},

View file

@ -1,4 +1,5 @@
{
"vnode": "ok",
"update_every": 123,
"domains": [
"ok"

View file

@ -1,3 +1,4 @@
vnode: "ok"
update_every: 123
domains:
- "ok"

View file

@ -47,6 +47,7 @@ func New() *Collector {
}
type Config struct {
Vnode string `yaml:"vnode,omitempty" json:"vnode"`
UpdateEvery int `yaml:"update_every,omitempty" json:"update_every"`
Address string `yaml:"address" json:"address"`
Timeout confopt.Duration `yaml:"timeout,omitempty" json:"timeout"`

View file

@ -28,6 +28,11 @@
"description": "Collect container writable layer size.",
"type": "boolean",
"default": false
},
"vnode": {
"title": "Vnode",
"description": "Associates this data collection job with a [Virtual Node](https://learn.netdata.cloud/docs/netdata-agent/configuration/organize-systems-metrics-and-alerts#virtual-nodes).",
"type": "string"
}
},
"required": [
@ -41,6 +46,9 @@
"uiOptions": {
"fullPage": true
},
"vnode": {
"ui:placeholder": "To use this option, first create a Virtual Node and then reference its name here."
},
"address": {
"ui:help": "Use `unix://{path_to_socket}` for Unix socket or `tcp://{ip}:{port}` for TCP socket."
},

View file

@ -1,4 +1,5 @@
{
"vnode": "ok",
"update_every": 123,
"address": "ok",
"timeout": 123.123,

View file

@ -1,3 +1,4 @@
vnode: "ok"
update_every: 123
address: "ok"
timeout: 123.123

View file

@ -42,7 +42,8 @@ func New() *Collector {
}
type Config struct {
UpdateEvery int `yaml:"update_every,omitempty" json:"update_every"`
Vnode string `yaml:"vnode,omitempty" json:"vnode"`
UpdateEvery int `yaml:"update_every,omitempty" json:"update_every"`
web.HTTPConfig `yaml:",inline" json:""`
}

View file

@ -30,6 +30,11 @@
"description": "If set, the client will not follow HTTP redirects automatically.",
"type": "boolean"
},
"vnode": {
"title": "Vnode",
"description": "Associates this data collection job with a [Virtual Node](https://learn.netdata.cloud/docs/netdata-agent/configuration/organize-systems-metrics-and-alerts#virtual-nodes).",
"type": "string"
},
"username": {
"title": "Username",
"description": "The username for basic authentication.",
@ -122,7 +127,8 @@
"update_every",
"url",
"timeout",
"not_follow_redirects"
"not_follow_redirects",
"vnode"
]
},
{
@ -163,6 +169,9 @@
"method": {
"ui:widget": "hidden"
},
"vnode": {
"ui:placeholder": "To use this option, first create a Virtual Node and then reference its name here."
},
"timeout": {
"ui:help": "Accepts decimals for precise control (e.g., type 1.5 for 1.5 seconds)."
},

View file

@ -1,4 +1,5 @@
{
"vnode": "ok",
"update_every": 123,
"url": "ok",
"body": "ok",

View file

@ -1,3 +1,4 @@
vnode: "ok"
update_every: 123
url: "ok"
body: "ok"

View file

@ -44,7 +44,8 @@ func New() *Collector {
}
type Config struct {
UpdateEvery int `yaml:"update_every,omitempty" json:"update_every"`
Vnode string `yaml:"vnode,omitempty" json:"vnode"`
UpdateEvery int `yaml:"update_every,omitempty" json:"update_every"`
web.HTTPConfig `yaml:",inline" json:""`
Repositories []string `yaml:"repositories" json:"repositories"`
}

View file

@ -45,6 +45,11 @@
"description": "If set, the client will not follow HTTP redirects automatically.",
"type": "boolean"
},
"vnode": {
"title": "Vnode",
"description": "Associates this data collection job with a [Virtual Node](https://learn.netdata.cloud/docs/netdata-agent/configuration/organize-systems-metrics-and-alerts#virtual-nodes).",
"type": "string"
},
"username": {
"title": "Username",
"description": "The username for basic authentication.",
@ -136,7 +141,8 @@
"url",
"timeout",
"repositories",
"not_follow_redirects"
"not_follow_redirects",
"vnode"
]
},
{
@ -180,6 +186,9 @@
"method": {
"ui:widget": "hidden"
},
"vnode": {
"ui:placeholder": "To use this option, first create a Virtual Node and then reference its name here."
},
"timeout": {
"ui:help": "Accepts decimals for precise control (e.g., type 1.5 for 1.5 seconds)."
},

View file

@ -1,4 +1,5 @@
{
"vnode": "ok",
"update_every": 123,
"url": "ok",
"body": "ok",

View file

@ -1,3 +1,4 @@
vnode: "ok"
update_every: 123
url: "ok"
body: "ok"

View file

@ -35,6 +35,7 @@ func New() *Collector {
}
type Config struct {
Vnode string `yaml:"vnode,omitempty" json:"vnode"`
UpdateEvery int `yaml:"update_every,omitempty" json:"update_every"`
Address string `yaml:"address" json:"address"`
Timeout confopt.Duration `yaml:"timeout" json:"timeout"`

View file

@ -23,6 +23,11 @@
"type": "number",
"minimum": 0.5,
"default": 1
},
"vnode": {
"title": "Vnode",
"description": "Associates this data collection job with a [Virtual Node](https://learn.netdata.cloud/docs/netdata-agent/configuration/organize-systems-metrics-and-alerts#virtual-nodes).",
"type": "string"
}
},
"required": [
@ -36,6 +41,9 @@
"uiOptions": {
"fullPage": true
},
"vnode": {
"ui:placeholder": "To use this option, first create a Virtual Node and then reference its name here."
},
"address": {
"ui:help": "Use `unix://{path_to_socket}` for Unix socket or `{ip}:{port}` for TCP socket."
},

View file

@ -1,4 +1,5 @@
{
"vnode": "ok",
"update_every": 123,
"address": "ok",
"timeout": 123.123

View file

@ -1,3 +1,4 @@
vnode: "ok"
update_every: 123
address: "ok"
timeout: 123.123

View file

@ -58,7 +58,8 @@ func New() *Collector {
}
type Config struct {
UpdateEvery int `yaml:"update_every,omitempty" json:"update_every"`
Vnode string `yaml:"vnode,omitempty" json:"vnode"`
UpdateEvery int `yaml:"update_every,omitempty" json:"update_every"`
web.HTTPConfig `yaml:",inline" json:""`
ClusterMode bool `yaml:"cluster_mode" json:"cluster_mode"`
DoNodeStats bool `yaml:"collect_node_stats" json:"collect_node_stats"`

View file

@ -30,6 +30,11 @@
"description": "If set, the client will not follow HTTP redirects automatically.",
"type": "boolean"
},
"vnode": {
"title": "Vnode",
"description": "Associates this data collection job with a [Virtual Node](https://learn.netdata.cloud/docs/netdata-agent/configuration/organize-systems-metrics-and-alerts#virtual-nodes).",
"type": "string"
},
"cluster_mode": {
"title": "Cluster mode",
"description": "If set, metrics will be collected for all nodes in the Elasticsearch cluster; otherwise, only for the local node where the collector is running.",
@ -154,7 +159,8 @@
"collect_node_stats",
"collect_cluster_health",
"collect_cluster_stats",
"collect_indices_stats"
"collect_indices_stats",
"vnode"
]
},
{
@ -198,6 +204,9 @@
"method": {
"ui:widget": "hidden"
},
"vnode": {
"ui:placeholder": "To use this option, first create a Virtual Node and then reference its name here."
},
"timeout": {
"ui:help": "Accepts decimals for precise control (e.g., type 1.5 for 1.5 seconds)."
},

View file

@ -1,4 +1,5 @@
{
"vnode": "ok",
"update_every": 123,
"url": "ok",
"body": "ok",

View file

@ -1,3 +1,4 @@
vnode: "ok"
update_every: 123
url: "ok"
body: "ok"

View file

@ -51,7 +51,8 @@ func New() *Collector {
}
type Config struct {
UpdateEvery int `yaml:"update_every,omitempty" json:"update_every"`
Vnode string `yaml:"vnode,omitempty" json:"vnode"`
UpdateEvery int `yaml:"update_every,omitempty" json:"update_every"`
web.HTTPConfig `yaml:",inline" json:""`
}

View file

@ -30,6 +30,11 @@
"description": "If set, the client will not follow HTTP redirects automatically.",
"type": "boolean"
},
"vnode": {
"title": "Vnode",
"description": "Associates this data collection job with a [Virtual Node](https://learn.netdata.cloud/docs/netdata-agent/configuration/organize-systems-metrics-and-alerts#virtual-nodes).",
"type": "string"
},
"username": {
"title": "Username",
"description": "The username for basic authentication.",
@ -119,7 +124,8 @@
"update_every",
"url",
"timeout",
"not_follow_redirects"
"not_follow_redirects",
"vnode"
]
},
{
@ -163,6 +169,9 @@
"method": {
"ui:widget": "hidden"
},
"vnode": {
"ui:placeholder": "To use this option, first create a Virtual Node and then reference its name here."
},
"timeout": {
"ui:help": "Accepts decimals for precise control (e.g., type 1.5 for 1.5 seconds)."
},

View file

@ -1,4 +1,5 @@
{
"vnode": "ok",
"update_every": 123,
"url": "ok",
"body": "ok",

View file

@ -1,3 +1,4 @@
vnode: "ok"
update_every: 123
url: "ok"
body: "ok"

View file

@ -43,7 +43,8 @@ func New() *Collector {
}
type Config struct {
UpdateEvery int `yaml:"update_every,omitempty" json:"update_every"`
Vnode string `yaml:"vnode,omitempty" json:"vnode"`
UpdateEvery int `yaml:"update_every,omitempty" json:"update_every"`
web.HTTPConfig `yaml:",inline" json:""`
PermitPlugin string `yaml:"permit_plugin_id,omitempty" json:"permit_plugin_id"`
}

View file

@ -30,6 +30,11 @@
"description": "If set, the client will not follow HTTP redirects automatically.",
"type": "boolean"
},
"vnode": {
"title": "Vnode",
"description": "Associates this data collection job with a [Virtual Node](https://learn.netdata.cloud/docs/netdata-agent/configuration/organize-systems-metrics-and-alerts#virtual-nodes).",
"type": "string"
},
"username": {
"title": "Username",
"description": "The username for basic authentication.",
@ -119,7 +124,8 @@
"update_every",
"url",
"timeout",
"not_follow_redirects"
"not_follow_redirects",
"vnode"
]
},
{
@ -163,6 +169,9 @@
"method": {
"ui:widget": "hidden"
},
"vnode": {
"ui:placeholder": "To use this option, first create a Virtual Node and then reference its name here."
},
"timeout": {
"ui:help": "Accepts decimals for precise control (e.g., type 1.5 for 1.5 seconds)."
},

View file

@ -1,4 +1,5 @@
{
"vnode": "ok",
"update_every": 123,
"url": "ok",
"body": "ok",

Some files were not shown because too many files have changed in this diff Show more