错误信息表明 Kibana 在尝试操作 .kibana_alerting_cases
索引时,等待索引状态变为绿色(green
)超时。这通常表示 Elasticsearch 集群的健康状态不足以满足 Kibana 的要求,可能是由于以下原因:
集群健康状态为
yellow
或red
:yellow
: 索引的副本分片未分配完全,但主分片可用。red
: 主分片不可用,导致索引不可用。
分片未分配或节点故障:
- 部分分片可能因为磁盘空间不足、网络问题或节点离线而无法分配。
迁移问题:
- Kibana 升级过程中,
.kibana_alerting_cases
索引可能处于迁移状态,但集群未满足迁移条件。
- Kibana 升级过程中,
解决步骤
1. 检查集群健康状态
首先,检查 Elasticsearch 集群的健康状态:
结果示例:
如果
status
为yellow
或red
:yellow
: 表示副本分片未分配完全。red
: 表示主分片不可用,需要立即处理。
2. 检查未分配的分片
检查哪些分片未分配及原因:
查找 .kibana_alerting_cases
索引的分片分配情况:
如果有未分配的分片(状态为 UNASSIGNED
),可以进一步检查原因:
3. 处理未分配分片的问题
解决
yellow
状态:添加节点或调整副本数量
如果集群只有一个节点,副本分片无法分配会导致状态为yellow
。你可以调整索引的副本数量为0
:解决
red
状态:恢复主分片
如果主分片不可用,可能需要手动分配分片:
4. 验证索引状态
确保 .kibana_alerting_cases
索引的状态变为 green
:
5. 检查磁盘空间
如果磁盘空间不足,分片可能无法分配。检查磁盘使用情况:
- 如果某个节点的磁盘使用率超过了 Elasticsearch 的限制(默认 85%),可能需要清理旧数据或扩容磁盘。
6. 增加 Kibana 超时时间
如果索引状态需要较长时间才能恢复,增加 Kibana 等待超时时间:
在 kibana.yml
文件中添加以下内容:
7. 重启 Kibana
完成修复后,重启 Kibana 并检查日志:
总结
- 确保 Elasticsearch 集群的状态为
green
。 - 检查未分配的分片并修复问题。
- 调整磁盘空间和副本配置以优化集群状态。
- 如果索引迁移超时,增加 Kibana 的超时时间。