Elasticsearch索引无法在Kibana创建索引模式中显示求助
我来帮你一步步排查这个问题——ES 6.x搭配Kibana时,明明索引存在却在创建索引模式里找不到,通常是这几个常见原因:
严格匹配ES与Kibana的版本
ES和Kibana的大版本必须完全一致(比如ES 6.8就得用Kibana 6.8),跨大版本会导致索引识别异常。先确认你的Kibana版本是不是和ES 6.x完全对应。检查索引的时间字段配置
Kibana创建索引模式默认要求索引包含可识别的时间字段(比如@timestamp或者自定义的date类型字段)。如果你的tick索引没有时间字段,或者时间字段格式不被Kibana识别,就不会出现在候选列表里。
你可以先查一下索引的mapping确认:curl -XGET -u elastic:yourpassword "http://localhost:9200/tick/_mapping?pretty" -H 'Content-Type: application/json'如果确实没有时间字段,要么给索引添加date类型的字段,要么在创建索引模式时,找到并关闭「包含时间字段」的开关(Kibana 6.x的创建页面里有这个选项,仔细找一下)。
验证Kibana用户的索引权限
默认情况下Kibana使用kibana用户连接ES,要确保这个用户有访问tick索引的权限。你可以用kibana身份测试查询:curl -XGET -u kibana:kibanapassword "http://localhost:9200/tick/_cat/indices?v"如果返回权限错误,需要在ES的角色管理中给
kibana用户添加tick索引的read权限。刷新Kibana的索引缓存
有时候Kibana的索引列表缓存没更新,回到创建索引模式的页面,点击右上角的「刷新」按钮,或者直接重载页面,再尝试搜索tick索引。确认索引名称拼写完全一致
ES的索引名称是小写敏感的,确保你在Kibana里搜索的是tick(全小写),而不是Tick或者其他变体。
内容的提问来源于stack exchange,提问作者Chris Rockwell

