UCS Tools 应用程序的日志管理
遥测本质上是各种组件的读取日志。它在检查构成微服务的健康状况方面起着至关重要的作用。将日志发送到日志管理系统至关重要,在该系统中可以存储、分析日志,并为任何问题生成警报。
先决条件
应用程序中使用的微服务必须记录到 stdout / stderr。
在 MicroK8s 集群中启用日志记录
使用 Elasticsearch、Fluentd 和 Kibana (EFK 堆栈) 在 MicroK8s 集群中启用日志管理非常容易。
为了演示日志记录,我们将使用教程 在 Pod 副本之间共享存储 中的应用程序,并假设它已经部署。
启用 EFK 堆栈
首先启用 community
附加组件,然后启用 fluentd
附加组件。
$ microk8s enable community
...
Community repository is now enabled
$ microk8s enable fluentd
...
Fluentd-Elasticsearch is enabled
接下来,转发 kibana 服务端口以从任何主机访问 Kibana 服务。
$ microk8s kubectl port-forward -n kube-system service/kibana-logging --address 0.0.0.0 8181:5601
Forwarding from 0.0.0.0:8181 -> 5601
创建新的索引模式
现在在浏览器中打开 http://<NODE_IP>:8181/app/management/kibana/indexPatterns/create
,其中 NODE_IP
是运行 kubectl port-forward
命令的机器的 IP 地址。
输入 *
或 logstash-*
作为索引模式,然后单击“下一步”

接下来,选择 @timestamp
作为时间戳字段,然后单击“创建索引模式”

查看日志
现在转到 http://<NODE_IP>:8181/app/discover
。应用程序日志以及其他 Kubernetes 和系统日志应该在此处可见。
让我们过滤数据以仅显示 curl-client
日志,并且仅显示一些选定的字段。
接下来,选择 @timestamp
作为时间戳字段,然后单击“创建索引模式”。

因此,我们可以在 EFK 堆栈中看到来自我们应用程序的日志。