Kibana配置与生产和监控集群对立



我提到了这个和这个

为什么我们需要两个字段来让Kibana知道监控数据在哪里。

elasticsearch.hosts

monitoring.ui.elasticsearch.hosts

但是,当我在这两个属性中的任何一个属性上提供监视集群时,它都可以工作。我错误地认为elasticsearch.hosts是我实际的生产集群,而不是监控集群。

除了why部分,我对这种集成属性的理解正确吗?

有什么想法吗?谢谢

Kibana.yml:

server.host: "ip.ad.re.ss"
#elasticsearch.hosts: ["http://host1:9200","http://host2:9200","FewMoreHosts"]
monitoring.ui.elasticsearch.hosts: ["http://MonitoringNode:9200"]

我没有更改监控节点的elasticsearch.yml中的任何部分。

metricbeat.yml:

output.elasticsearch:
host: ["http://MonitoringNode:9200"]
setup.kibana:
host: kibanaHost

在modules.d/lasticsearch-xpack.yml中,我保留了默认配置。

弹性搜索。yml:

cluster.name: es_cluster
node.name: master-1
node.data: false
node.master: true
node.ingest: true
node.max_local_storage_nodes: 3
transport.tcp.port: 9300
bootstrap.memory_lock: false
network.host: 0.0.0.0
http.port: 9200
discovery.seed_hosts: ["master1.ip", "master2.ip","master3.ip"]
cluster.initial_master_nodes: ["master-1","master-2"]

监控集群yml:

network.host: 0.0.0.0
discovery.type: single-node

当我在Kibana.yml中启用这两个属性时,我会在日志中得到以下错误。

{
"type": "log",
"@timestamp": "2021-04-21T14:48:34-04:00",
"tags": [
"error",
"plugins",
"data",
"data",
"indexPatterns"
],
"pid": 29959,
"message": "Error: No indices match pattern "metricbeat-*"n    at createNoMatchingIndicesError (/usr/share/kibana/src/plugins/data/server/index_patterns/fetcher/lib/errors.js:45:29)n    at convertEsError (/usr/share/kibana/src/plugins/data/server/index_patterns/fetcher/lib/errors.js:71:12)n    at callFieldCapsApi (/usr/share/kibana/src/plugins/data/server/index_patterns/fetcher/lib/es_api.js:69:38)n    at runMicrotasks (<anonymous>)n    at processTicksAndRejections (internal/process/task_queues.js:93:5)n    at getFieldCapabilities (/usr/share/kibana/src/plugins/data/server/index_patterns/fetcher/lib/field_capabilities/field_capabilities.js:35:23)n    at IndexPatternsFetcher.getFieldsForWildcard (/usr/share/kibana/src/plugins/data/server/index_patterns/fetcher/index_patterns_fetcher.js:49:31)n    at IndexPatternsApiServer.getFieldsForWildcard (/usr/share/kibana/src/plugins/data/server/index_patterns/index_patterns_api_client.js:27:12)n    at IndexPatternsService.refreshFieldSpecMap (/usr/share/kibana/src/plugins/data/common/index_patterns/index_patterns/index_patterns.js:216:27)n    at IndexPatternsService.getSavedObjectAndInit (/usr/share/kibana/src/plugins/data/common/index_patterns/index_patterns/index_patterns.js:320:23) {n  data: null,n  isBoom: true,n  isServer: false,n  output: {n    statusCode: 404,n    payload: {n      statusCode: 404,n      error: 'Not Found',n      message: 'No indices match pattern "metricbeat-*"',n      code: 'no_matching_indices'n    },n    headers: {}n  }n}"
}

但如果我只设置monitoring.ui.aelasticsearch.hosts,Kibana会显示数据。

elasticsearch.hosts是您将设置主机的地方,您的数据存储在那里,您要查询的数据,这应该是您的生产集群。

如果您有一个独立的监控集群,monitoring.ui.elasticsearch.hosts是您设置监控集群主机的地方。

根据集群的大小,建议使用单独的集群进行监控,例如,这可能是使用基本许可证的单节点集群。

在这些上下文中使用的安全令牌是特定于集群的,因此您不能使用单个Kibana实例同时连接到生产和监控集群

如文档中所述,我认为我们需要有单独的Kibana实例来从两个集群收集数据。

我对安全令牌不太确定。

最新更新