我正在使用kube-fluentd-operator将使用fluentd的日志聚合到Elasticsearch中,并在Kibana中查询它们。
我可以在集群中看到我的应用程序(pods)日志。但是,我看不到来自集群内主机的日志(systemd unit、kubelet等)。
fluentd的pods日志中没有明显的消息,堆栈可以处理来自应用程序的日志。在fluentd容器中,我可以访问/var/log/journal目录(drwxr-sr-x 3 root 101 4096 May 21 12:37 journal)。接下来,我应该从哪里获取EFK堆栈中的日志?
下面是附加到kube-system名称空间的kube-system.conf文件:
<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>最小的,简单的,根据文档。
有没有可能我的搜索词是错的?要获取日志日志,我应该搜索什么?
发布于 2020-09-24 20:46:22
在尝试了所有可能的解决方案(从启用log_level debug,到只监视kube-system名称空间,再到将runAsGroup: 101添加到容器)之后,我剩下的就是更改用于日志聚合的内容,并决定从该操作符切换到fluent自己提供的DaemonSet:https://github.com/fluent/fluentd-kubernetes-daemonset
这种切换已被证明是成功的,并且systemd单元的搜索是从EFK堆栈内部进行的。
https://stackoverflow.com/questions/64041277
复制相似问题