I referredthisandthis
为什么我们需要两个字段才能让 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 / elasticsearch-xpack.yml 中,我保留了默认配置。
elasticsearch.yml:
cer.name: es_cer
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"]
cer.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.elasticsearch.hosts,Kibana 显示数据。
1
elasticsearch.hosts
是您将设置存储数据的主机的位置,您要查询的数据,这应该是您的生产集群。
monitoring.ui.elasticsearch.hosts
是您将设置监控集群的主机的位置如果您有一个单独的监控集群。
根据集群的大小,建议使用单独的集群进行监视,例如,这可能是使用基本许可证的单节点集群。
0
在这些上下文中使用的安全令牌是特定于集群的,因此您不能使用单个 Kibana 实例同时连接到生产和监控集群
正如documentation中提到的,我认为我们需要有单独的 Kibana 实例来收集来自两个集群的数据。
我不太确定安全令牌。
本站系公益性非盈利分享网址,本文来自用户投稿,不代表码文网立场,如若转载,请注明出处
评论列表(28条)