修复错误:无法检索节点 fs 统计信息
Error: unable to retrieve node fs stats
当 Kibana 或其他 Elasticsearch 客户端无法从 Elasticsearch 节点获取版本信息时,会出现此错误。如果没有版本信息,客户端将无法确认兼容性或继续处理请求。
可能的原因包括网络问题、配置不正确或节点不可用。要进行诊断,请先尝试以下常规操作
- 确保所有节点均已启动并正常运行。
- 检查客户端与节点之间的网络连通性。
- 验证配置设置。
如果问题仍然存在,请检查 Elasticsearch 日志以获取详细信息,然后继续参考以下提示。
此错误通常在 Kibana 启动期间出现在 Kibana 日志中。由于 Kibana 作为 Elasticsearch 的客户端运行,它需要访问以下资源
- 集群的主机和端口
- 身份验证凭据(如果需要)
- TLS 设置(如果适用)
如果 Kibana 无法连接到配置的节点,它将无法验证版本兼容性,并记录 unable to retrieve(无法检索)错误。请检查以下可能的访问问题
elasticsearch.hosts中的一个或多个条目无法访问或配置错误KBN_PATH_CONF环境变量指向了不同的配置文件- 防火墙阻止了 Kibana 和 Elasticsearch 之间的访问
设置定义在 kibana.yml 中,通常位于 $KIBANA_HOME/config。您可以根据需要更改路径
KBN_PATH_CONF=/home/kibana/config ./bin/kibana
检查相关设置
elasticsearch.hosts: ["https://:9200"]
elasticsearch.username: "kibana"
elasticsearch.password: "your_password"
elasticsearch.ssl.certificateAuthorities: ["path/to/ca.crt"]
Kibana 会尝试 elasticsearch.hosts 中的每个端点,因此即使是一个无法访问的节点也可能导致此错误。如果您的集群需要加密通信,请使用 https。
使用 curl 测试与 elasticsearch.hosts 中每个主机的连接
curl <ELASTICSEARCH_HOST_URL>:9200/
如果远程端点使用的证书不是公开受信任的(例如由私有或企业 CA 签名的证书),请使用 --cacert /path/to/ca.pem 提供相应的 CA 证书,以便 curl 可以验证它。
仅用于测试时,您可以使用 --insecure(或 -k)跳过证书验证。此标志会关闭 TLS 信任检查,不应在生产环境中使用。
如果您正在使用 TLS,请使用您的 CA 证书来测试连接
curl -u elastic --cacert ~/certs/ca/ca.crt https://es01:9200/
响应示例
{
"name" : "node01",
"cluster_name" : "elasticsearch",
"cluster_uuid" : "fxP-R0FTRcmTl_AWs7-DiA",
"version" : {
"number" : "7.13.3",
"build_flavor" : "default",
"build_type" : "tar",
"build_hash" : "5d21bea28db1e89ecc1f66311ebdec9dc3aa7d64",
"build_date" : "2021-07-02T12:06:10.804015202Z",
"build_snapshot" : false,
"lucene_version" : "8.8.2"
},
"tagline" : "You Know, for Search"
}
如果您仍然遇到问题,请检查 Kibana 日志以获取更多详细信息和上下文。