我使用带有Elasticsearch和Kibana 6.8.6以及Filebeat 7.5.1的minikube设置了一个示例Kubernetes集群。
我的应用程序以json格式{"@timestamp":"2019-12-30T21:59:48+0000","message":"example","data":"data-462"}
我可以在Kibana中看到日志消息,但是我的json日志以字符串形式嵌入在“消息”属性中:
我将json.keys_under_root: true
配置为无效(如文档:https://www.elastic.co/guide/en/beats/filebeat/current/filebeat-input-log.html#filebeat-input-log-config-json所述)
我的配置:
filebeat.yml: |-
migration.6_to_7.enabled: true
filebeat.config:
modules:
path: ${path.config}/modules.d/*.yml
reload.enabled: false
filebeat.autodiscover:
providers:
- type: kubernetes
hints.enabled: true
hints.default_config.enabled: false
json.keys_under_root: true
json.add_error_key: true
output.elasticsearch:
hosts: ['${ELASTICSEARCH_HOST:elasticsearch}:${ELASTICSEARCH_PORT:9200}']
username: ${ELASTICSEARCH_USERNAME}
password: ${ELASTICSEARCH_PASSWORD}
kubernetes.yml: |-
- type: docker
containers.ids:
- "*"
processors:
- add_kubernetes_metadata:
in_cluster: true
在Kibana中,我需要将“消息”和“数据”字段作为单独的字段。
我缺少什么?
答案 0 :(得分:0)
尝试在文件信号配置中添加json.message_key: message