我已经安装了 metric-beat ,但无法加载 mongodb 的 kibana 仪表板。
我遇到以下错误, [10.0.1.1:9300][索引:数据/读取/搜索[阶段/查询]] 原因:java.lang.IllegalArgumentException:默认情况下在文本字段上禁用 Fielddata。在 [service.address] 上设置 fielddata=true 以便通过反转倒排索引将 fielddata 加载到内存中。但请注意,这可能会使用大量内存。或者使用关键字字段。 在 org.elasticsearch.index.mapper.TextFieldMapper$TextFieldType.fielddataBuilder(TextFieldMapper.java:759) ~[elasticsearch-7.5.0.jar:7.5.0]
在客户端显示“退出:资源'metricbeat-7.5.0'存在,但它不是别名”
运行:
curl -X DELETE localhost:9200/metricbeat-7.5.0
然后尝试再次加载仪表板。
发生这种情况是由于 Elasticsearch 中当前索引的别名问题 我能够解决这个问题。
根本原因: 在我的例子中,实时索引名称是 filebeat-7.17.1,这是必需的别名。从Elasticsearch系统来看,是不允许设置别名的,别名已经是索引名了。
已解决:
备份现有索引
POST _reindex {
"source": {
"index": "filebeat-7.17.1"
},
"dest": {
"index": "filebeat-7.17.1_new"
}
}
删除错误索引
使用正确的别名更新索引模板(将数据流标记为自动创建)
更新索引生命周期策略以进行索引翻转[参考]