You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Kibana中无索引显示,如何确保Elasticsearch向Kibana推送日志?

问题排查与解决方案

1. 先确认Elasticsearch中是否存在目标索引

先通过ES API验证索引是否已生成,在终端执行:

curl http://localhost:9200/_cat/indices?v

如果返回结果里能看到serilog-dev-022222索引,说明日志已成功推送到ES,问题出在Kibana的索引识别环节;如果没有该索引,需要先排查Serilog的日志推送逻辑。

2. Kibana需手动创建索引模式才能展示索引

Kibana不会自动加载ES中的所有索引,必须创建对应索引模式:

  • 登录Kibana后,进入Stack Management > Index Patterns
  • 点击Create index pattern
  • 输入索引匹配规则:如果是固定名称索引,直接填serilog-dev-022222;如果是按日期滚动的索引,用serilog-dev-*匹配
  • 点击Next step,选择时间字段(日志中通常为@timestamp,无时间字段可跳过)
  • 点击Create index pattern
    完成后进入Discover页面,即可看到对应日志数据。

3. 检查Kibana用户权限(可选,因你已关闭X-Pack安全)

你在kibana.yml中配置的kibana_system用户,默认具备ES访问权限,但如果后续开启安全,需确保它能读取目标索引。不过你已设置xpack.security.enabled: false,权限不是当前问题的核心,可先跳过此步骤。

4. 关于Elasticsearch安全令牌的说明

你已关闭X-Pack安全模块,因此初始化ES时生成的安全令牌无需使用。该令牌仅在默认开启安全的场景下,用于Kibana自动完成与ES的身份认证,你已手动配置elasticsearch.hosts和用户名密码,无需再处理令牌。

5. 是否需要搭建Elasticsearch服务?

你已通过ElasticSearch.bat启动ES服务,且localhost:9200能正常访问,说明ES服务已正常运行,无需额外搭建。当前问题是Kibana未识别ES中的索引,而非服务未启动。

额外验证点

  • 确认Serilog日志已生成:你的代码配置了WriteTo.Console,运行WebAPI后查看控制台是否有日志输出,若没有则需先排查日志生成逻辑。
  • 检查Serilog模板注册状态:在终端执行以下命令,确认ES已成功接收Serilog的索引模板:
curl http://localhost:9200/_template/serilog-events-template

返回模板内容则说明注册成功。

内容的提问来源于stack exchange,提问作者ana

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.20 15:10:02