Add node roles tag to elasticsearch input (#6064)
This commit is contained in:
parent
f7e85ebac2
commit
9af39bbb7d
|
@ -6,6 +6,7 @@ import (
|
||||||
"io/ioutil"
|
"io/ioutil"
|
||||||
"net/http"
|
"net/http"
|
||||||
"regexp"
|
"regexp"
|
||||||
|
"sort"
|
||||||
"strings"
|
"strings"
|
||||||
"sync"
|
"sync"
|
||||||
"time"
|
"time"
|
||||||
|
@ -27,6 +28,7 @@ const statsPathLocal = "/_nodes/_local/stats"
|
||||||
type nodeStat struct {
|
type nodeStat struct {
|
||||||
Host string `json:"host"`
|
Host string `json:"host"`
|
||||||
Name string `json:"name"`
|
Name string `json:"name"`
|
||||||
|
Roles []string `json:"roles"`
|
||||||
Attributes map[string]string `json:"attributes"`
|
Attributes map[string]string `json:"attributes"`
|
||||||
Indices interface{} `json:"indices"`
|
Indices interface{} `json:"indices"`
|
||||||
OS interface{} `json:"os"`
|
OS interface{} `json:"os"`
|
||||||
|
@ -326,11 +328,13 @@ func (e *Elasticsearch) gatherNodeStats(url string, acc telegraf.Accumulator) er
|
||||||
}
|
}
|
||||||
|
|
||||||
for id, n := range nodeStats.Nodes {
|
for id, n := range nodeStats.Nodes {
|
||||||
|
sort.Strings(n.Roles)
|
||||||
tags := map[string]string{
|
tags := map[string]string{
|
||||||
"node_id": id,
|
"node_id": id,
|
||||||
"node_host": n.Host,
|
"node_host": n.Host,
|
||||||
"node_name": n.Name,
|
"node_name": n.Name,
|
||||||
"cluster_name": nodeStats.ClusterName,
|
"cluster_name": nodeStats.ClusterName,
|
||||||
|
"node_roles": strings.Join(n.Roles, ","),
|
||||||
}
|
}
|
||||||
|
|
||||||
for k, v := range n.Attributes {
|
for k, v := range n.Attributes {
|
||||||
|
|
|
@ -21,6 +21,7 @@ func defaultTags() map[string]string {
|
||||||
"node_id": "SDFsfSDFsdfFSDSDfSFDSDF",
|
"node_id": "SDFsfSDFsdfFSDSDfSFDSDF",
|
||||||
"node_name": "test.host.com",
|
"node_name": "test.host.com",
|
||||||
"node_host": "test",
|
"node_host": "test",
|
||||||
|
"node_roles": "data,ingest,master",
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
func defaultServerInfo() serverInfo {
|
func defaultServerInfo() serverInfo {
|
||||||
|
|
|
@ -117,6 +117,11 @@ const nodeStatsResponse = `
|
||||||
"inet[/127.0.0.1:9300]",
|
"inet[/127.0.0.1:9300]",
|
||||||
"NONE"
|
"NONE"
|
||||||
],
|
],
|
||||||
|
"roles": [
|
||||||
|
"master",
|
||||||
|
"data",
|
||||||
|
"ingest"
|
||||||
|
],
|
||||||
"attributes": {
|
"attributes": {
|
||||||
"master": "true"
|
"master": "true"
|
||||||
},
|
},
|
||||||
|
@ -945,6 +950,11 @@ const nodeStatsResponseJVMProcess = `
|
||||||
"inet[/127.0.0.1:9300]",
|
"inet[/127.0.0.1:9300]",
|
||||||
"NONE"
|
"NONE"
|
||||||
],
|
],
|
||||||
|
"roles": [
|
||||||
|
"master",
|
||||||
|
"data",
|
||||||
|
"ingest"
|
||||||
|
],
|
||||||
"attributes": {
|
"attributes": {
|
||||||
"master": "true"
|
"master": "true"
|
||||||
},
|
},
|
||||||
|
|
Loading…
Reference in New Issue