1

对于 Knative 日志记录,请按照此处的说明 - https://github.com/knative/docs/blob/master/serving/installing-logging-metrics-traces.md#elasticsearch-kibana-prometheus--grafana-setup,我试过使用 Kibana UI(Elasticsearch 的可视化工具)可视化日志,但在配置索引模式时遇到以下错误 - <strong>“无法获取映射。你有与模式匹配的索引吗?” 日志存储 在此处输入图像描述

有什么解决方法或解决方法吗?

更新:这是我按照评论中的建议发出 cURL GET 请求时看到的内容在此处输入图像描述

4

2 回答 2

1

在本期https://github.com/knative/serving/issues/2218中记录了最新版本的 KNative 中有一个错误。已经有一个已批准但尚未合并的 PR,您可以在此处查看https://github.com/knative/serving/pull/2560

简而言之,问题在于fluentdpod 使用了在命名空间system-node-critical之外不再支持的优先级kube-system

因此fluentd,不会创建 pod,因此不会将任何日志发送到 Elasticsearch,因此logstashKibana 中不会显示任何索引。

作为 KNative v0.2.2 的解决方法,您可以1909在此处从发布文件中下载和删除行: https ://github.com/knative/serving/releases/download/v0.2.2/release.yaml 。

然后,您可以安装补丁版本: kubectl apply -f release.yaml

如果您不想下载和编辑,您可以在此处获取已修补的 0.2.2 版本,您可以安装它:

kubectl apply -f https://github.com/gevou/knative-blueprint/blob/master/knative-serving-release-0.2.2-patched.yaml

当然,您可以对以前的版本做类似的事情。

于 2018-11-29T19:05:07.543 回答
0

以下是我必须执行的一些额外步骤才能使其完全正常工作。在此处发布,以便这可以帮助面临相同问题并寻找答案的人

以下是步骤,运行以下命令以应用补丁以修复 fluentd-ds pod 未显示问题

kubectl apply -f https://raw.githubusercontent.com/gevou/knative-blueprint/master/knative-serving-release-0.2.2-patched.yaml

验证您的每个节点是否具有 beta.kubernetes.io/fluentd-ds-ready=true 标签:

kubectl get nodes --selector beta.kubernetes.io/fluentd-ds-ready=true

如果您收到 No Resources Found 响应:运行以下命令以确保 Fluentd DaemonSet 在您的所有节点上运行:

kubectl label nodes — all beta.kubernetes.io/fluentd-ds-ready=”true”

运行以下命令以确保 fluentd-ds 守护程序集在至少一个节点上准备就绪:

kubectl get daemonset fluentd-ds --namespace knative-monitoring

在此处输入图像描述

稍等片刻,运行此命令

kubectl proxy

导航到Kibana UI。代理可能需要几分钟才能工作。

  • 在“Configure an index pattern”页面中,输入 logstash-* 到 Index pattern 并从 Time Filter 字段名称中选择 @timestamp 并单击 Create 按钮。

  • 要创建第二个索引,请选择页面左上角的创建索引模式按钮。输入 zipkin* 到 Index pattern 并从 Time Filter 字段名称中选择 timestamp_millis 并单击 Create 按钮。 在此处输入图像描述

如果问题仍然存在,按照上面评论中的建议应该可以修复错误

GET _cat/indices?v

在此处输入图像描述

在此处添加了端到端的调查结果

于 2018-12-13T05:49:32.137 回答