今天使用Kibana查询索引,发现无法查询到最新日志。同时创建索引时,提示forbidden。

初步怀疑是服务没有成功写入日志,测试发现该项排除

后排查发现Elasticsearch状态为yellow,但解决该问题后,任然无法创建。

后发现kibana自动将index变成了只读状态,最终解决了该问题

磁盘超85%

发现kibana索引创建失败,首先查询了集群状态

1
curl -XGET 'http://localhost:9200/_cluster/health?pretty=true'

发现状态为yellow,排查,发现是磁盘已经超过85%

解决方案

删除部分索引,检查磁盘,已经低于85%,但任然是yellow状态,

Index状态unsigned

1
2
3
4
# 分片状态查看
curl -XGET 'http://localhost:9200/_cat/shards?v'
# 查看unsigned 的原因
curl -XGET 'http://localhost:9200//_cluster/allocation/explain'

查看,发现有unsigned的index,排查具体的原因后,发现索引过大

elatic which is larger than the limit of

jvm 堆内存不够当前查询加载数据所以会报 data too large, 请求被熔断,indices.breaker.request.limit 默认为 jvm heap 的 60%

解决方案

加大某个节点的jvm内存,重启es服务

参考文章 https://blog.csdn.net/knight_zhou/article/details/104711099/

解决方案:
加大某个节点的jvm内存,重启es服务

操作

修改jvm内存

1
2
3
4
5
vim /opt/application/elk/elastic-04/config/jvm.options
-Xms12g
-Xmx12g
重启
/opt/application/elk/elastic-04/bin/elasticsearch -d

到此,Kibana也能正常登录,Unassigned Shards 也逐步减少,最后健康状态恢复为绿色

Kiban creat index 403

一、问题描述:

Kibana创建索引:kibana > management > index patterns > create index pattern

索引名称: merchant-receipt-log-2019.06.04

点击创建按钮后,什么也没发生, 索引没有创建成功。

打开浏览器开发工具【f12】

发现如下错误:

POST http://ip:5601/api/saved_objects/index-pattern 7 403 (forbidden)

原因

索引变成只读状态,出现了错误原因是存储空间变小,导致kibana自动将它变成了只读状态。

一旦在存储超过95%的磁盘中的节点上分配了一个或多个分片的任何索引,该索引将被强制进入只读模式。

解决方案

kibana中-DevTool中执行代码即可

image-20211129163503939

image-20211129163736765

image-20211129171039216

或者直接使用CURL命令

1
curl -XPUT -H "Content-Type: application/json" http://localhost:9200/_all/_settings -d '{"index.blocks.read_only_allow_delete": null}'

index中type不同

但是要kibana仍查询不到日志

  1. 判断是否有日志写入
  2. 判断服务器时间是否与搜索时间匹配。可能服务器时间和kibana时间不同步
  3. 创建索引时,选择的时间搜索项是否正确
  4. index相同时,type不同也会查询不到

最后检查,发现不小心修改了代码中type,导致能够写入日志到elastic,但是kibana却查询不到

参考文章

Elasticsearch集群健康状态显示为yellow排查

Kibana 创建索引 POST 403 (forbidden) on create index

https://shazi.info/elasticsearch-index-出現-403-read-only-的處理方式

https://blog.csdn.net/knight_zhou/article/details/104711099/

ELK:ElasticSearch中有数据,Kibana查询不到数据