【发布时间】:2020-03-31 20:52:13
【问题描述】:
我的 GKE 集群中有标准的 EFK 堆栈设置。我确实将我的测试 gunicorn 服务切换为以 json 格式登录。能够在kibana中通过json字段值搜索服务日志。我使用命令在 pod 控制台中正确输出了所有日志:
kubectl logs pod/dev-django-rest-service-678964c7f5-kh4k4 -n django-rest-service
{"bla": "bla-value", "REFERRER": null, "HOST": "api.myhost.com", "req_id": "4e845383a6ddbc2781919420b1ecb4fe", "message": "Test message", "time": "2019-12-06T11:25:21.635692"}
但是 kibana 不显示这些消息。我没有看到 fluentd pod 报告任何解析错误。 在我将服务消息格式切换为 json 之前,所有消息都显示在 kibana 中。 我还向我的服务添加了一些处理程序,只是为了将一些文本(不是 JSON)输出到 pod 控制台。它在我的 kibana 中正确显示。
SAY: Hello Word!
{"bla": "bla-value", "REFERRER": null, "HOST": "api.myhost.com", "req_id": "c7123f4419656c9effd40410aac43e51", "message": "Test message", "time": "2019-12-06T19:09:09.378297"}
说:你好字! - 在 kibana 中正确显示,但 json 消息没有。请帮忙找出json消息被忽略的原因。
-----编辑------
我确实创建了过滤器
<filter kubernetes.var.log.containers.dev-django-rest-service**.log>
@type stdout
</filter>
并在 fluentd pods 控制台中找到了我的 json 日志记录,但带有纪元时间。
1970-01-01 00:33:39.993485000 +0000 kubernetes.var.log.containers.dev-django-rest-service-5cf648b874-qj264_django-rest-service_kc2-micros-36e63553f54ecd1ee4cbd6503e19c56a4ff62b98152b7f0e20983384f4b0cf52.log: {"stream":"stdout","docker":{"container_id":"36e63553f54ecd1ee4cbd6503e19c56a4ff62b98152b7f0e20983384f4b0cf52"},"kubernetes":{"container_name":"kc2-micros","namespace_name":"django-rest-service","pod_name":"dev-django-rest-service-5cf648b874-qj264","container_image":"registry.gitlab.com/xxxx/project-templates/django_rest_service/dev:56048ac6eb463ed132a103a052274fb050748f1b","container_image_id":"docker-pullable://registry.gitlab.com/xxxx/project-templates/django_rest_service/dev@sha256:61776222330dacb9ed6b6175e87b6e6626945aa1e7eec87344638be530a2230b","pod_id":"9bdf8bc6-1866-11ea-994f-42010a800002","host":"gke-kc2-small-default-pool-b37c22e6-x5hv","labels":{"app":"dev-django-rest-service","pod-template-hash":"5cf648b874","release":"dev-django-rest-service","tier":"web","track":"stable"},"master_url":"https://10.0.0.1:443/api","namespace_id":"6a6b1eaf-ea8b-11e9-9ec8-42010a80020e"},"bla":"bla-value","REFERRER":null,"HOST":"api.my-host.com","req_id":"bc642dd8c8ae0ed59fa02632dc9567dd","message":"Test message"}
【问题讨论】:
标签: json time kubernetes kibana fluentd