如何让Kibana识别Uniface JSON日志的独立可筛选字段?
解决Uniface JSON日志字段无法在Kibana中筛选的问题
方案一:用FileBeat直接解析JSON日志
直接在FileBeat配置中开启JSON解析,让日志的结构化字段直接映射到Elasticsearch文档的顶级字段,无需经过Logstash中转:
filebeat.inputs: - type: log paths: - /path/to/your/uniface/logs/*.log json.keys_under_root: true # 将JSON内的顶级字段直接放到事件根节点 json.add_error_key: true # 解析失败时添加错误标记,便于排查问题 json.message_key: "message" # 指定原JSON中的message字段,避免被覆盖
配置完成后重启FileBeat,新采集的日志会自动将application、platform、level等字段作为独立字段存入Elasticsearch,Kibana中可直接筛选。
方案二:用Logstash解析JSON字段
如果已经部署了Logstash,在filter阶段添加JSON过滤器,把嵌套在message里的JSON内容解析为独立字段:
filter { json { source => "message" # 指定要解析的源字段是原始的message target => "" # 将解析后的字段放到根节点,不嵌套 remove_field => "message" # 可选:解析完成后移除原始message字段,减少冗余 } }
该配置会把message中的JSON字符串拆分为结构化字段,比如原日志的{"level":"WARN","application":"erp","message":"xxx"}会被拆分为level: WARN、application: erp等独立字段,直接在Kibana中可用。
注意事项
- 确保Uniface输出的JSON格式严格合法,无语法错误,否则解析会失败。
- 配置生效后,在Kibana的Discover页面刷新索引模式,即可看到新增的可筛选字段。
内容的提问来源于stack exchange,提问作者user25265329
相关产品推荐
相关产品推荐

