Kubernetes将日志保存在/var/log/syslog
中。范例:
I1021 12:57:47.052671 35084 setters.go:73] Using node IP: "10.11.22.33."
我知道I
代表info
,后面跟着一个特定的代码,然后是一个时间戳。但之后的代码是什么?setters.go
是什么意思我还看到实际的日志消息出现在]
之后。
我想用Logstash解析这些,但我找不到任何关于头中每个字段的含义的文档。
当然,我可以用grok
过滤器自己编写这些解析器,但首先我想了解每条消息的含义。
2条答案
按热度按时间qc6wkl3g1#
I1021 12:57:47.052671 35084 setters.go:73]使用节点IP:“10.11.22.33”
/var/log/syslog或**/var/log/messages**:一般消息以及系统相关信息。从本质上讲,此日志存储全局系统中的所有活动数据。请注意,基于Redhat的系统(如CentOS或Rhel)的活动存储在消息中,而Ubuntu和其他基于Debian的系统则存储在Syslog中。
这是kubelet的入口:
setters.go
-是用GO编写的脚本,用于更新节点上的守护进程端点。73
-打印消息的行数klog.V(2).Infof("Using node IP: %q", nodeIP.String())
如果您使用的是
systemd
,则应该使用jurnalctl -u kubelet
您还应该检查Kubernetes文档以查看日志。
目前,要深入挖掘集群,需要登录到相关的机器。以下是相关日志文件的位置。(注意,在基于systemd的系统上,您可能需要使用
journalctl
)Master
/var/log/kube-apiserver.log
- API服务器,负责提供API服务/var/log/kube-scheduler.log
-调度程序,负责制定调度决策/var/log/kube-controller-manager.log
-管理复制控制器的控制器工作节点
/var/log/kubelet.log
- Kubelet,负责在节点上运行容器/var/log/kube-proxy.log
- Kube Proxy,负责服务负载均衡如果您正在寻找应用程序日志,请检查Troubleshoot Applications。
mspsb9vt2#
除了Crou提供的内容外,
35084
还引用了写入日志的进程的PID。然而,查看klog代码,在某个时候,它会出现,这可以改为线程id。