我正在使用kube fluentd操作符使用 fluentd
进入 Elasticsearch
并在中查询它们 Kibana
.
我可以在集群中看到我的应用程序(pods)日志。但是,我看不到集群内主机的日志(systemd units、kubelet等)。
在fluentd的pods日志中没有明显的消息,并且该堆栈适用于来自应用程序的日志。内部 fluentd
我可以进入集装箱 /var/log/journal
目录( drwxr-sr-x 3 root 101 4096 May 21 12:37 journal
). 在我的efk堆栈中,下一步我应该在哪里获取日志日志?
这是你的答案 kube-system.conf
文件附加到 kube-system
命名空间:
<match systemd.**kube.kube-system.**k8s.**docker>
# all k8s-internal and OS-level logs
@type elasticsearch
host "logs-es-http.logs"
port "9200"
scheme "https"
ssl_verify false
user "u1"
password "password"
logstash_format true
#with_transporter_log true
#@log_level debug
validate_client_version true
ssl_version TLSv1_2
</match>
最小,简单,根据文件。
有没有可能我的搜索词错了?为了得到日志,我应该搜索什么?
1条答案
按热度按时间b1zrtrql1#
在尝试了所有可能的解决方案(从启用
log_level debug
,只有kube-system
命名空间监视,添加runAsGroup: 101
对于容器),我只剩下更改日志聚合所使用的内容,并决定从该操作符切换到DaemonSet
提供单位fluent
他们自己:https://github.com/fluent/fluentd-kubernetes-daemonset这一转换已被证明是成功的,搜索
systemd
单元从efk堆栈内部工作。