log-pilot icon indicating copy to clipboard operation
log-pilot copied to clipboard

log-pilot不支持containerd引擎

Open xjdszp opened this issue 2 years ago • 9 comments

log-pilot不支持containerd引擎,现在k8s集群的版本高时,无法采集containerd容器引擎的日志

xjdszp avatar May 18 '22 09:05 xjdszp

https://hub.docker.com/r/williamguozi/log-pilot-filebeat ,可以用这个试试

lvelvis avatar Dec 29 '22 05:12 lvelvis

https://hub.docker.com/r/williamguozi/log-pilot-filebeat ,可以用这个试试 @lvelvis 厉害了,这个实测可以支持containerd runtime,有一点要注意,因为换了容器运行时,在要收集stdout日志时,需要把filebeat配置模板 filebeat.tpl里面这几行去掉,才会正常收集服务stdout输出的日志:

  {{if .Stdout}}
  docker-json: true
  {{end}}

bogeit avatar Mar 09 '23 09:03 bogeit

https://hub.docker.com/r/williamguozi/log-pilot-filebeat ,可以用这个试试 @lvelvis 厉害了,容器运行时,有有要要要的日记:

  {{if .Stdout}}
  docker-json: true
  {{end}}

支持es7吗

可以的,一般不建议直接入到ES,可以用kafka或者redis中转下,再用logstash清洗过滤入库

lvelvis avatar Mar 17 '23 11:03 lvelvis

我记得output是kafka的时候,会自动创建topic的,但是我用了上面的image,不知道为啥不会自动创建topic了

wuchenyanghaoshuai avatar Jun 09 '23 03:06 wuchenyanghaoshuai

https://hub.docker.com/r/williamguozi/log-pilot-filebeat ,可以用这个试试

源码地址能发下吗

wolgod avatar Jul 05 '23 02:07 wolgod

filebeat.tpl 是要进入到容器里面修改吗?然后子啊commit生成新的镜像?

zhajingwen avatar Aug 30 '23 03:08 zhajingwen

用该配置文件(yml)部署在kind搭建的K8s上

apiVersion: apps/v1
kind: DaemonSet
metadata:
  name: log-pilot-filebeat
spec:
  selector:
    matchLabels:
      app: log-pilot-filebeat
  template:
    metadata:
      labels:
        app: log-pilot-filebeat
    spec:
      containers:
        - name: log-pilot-filebeat
          image: williamguozi/log-pilot-filebeat:containerd
          volumeMounts:
            - name: containerd-sock
              mountPath: /var/run/containerd/containerd.sock
            - name: localtime
              mountPath: /etc/localtime
            - name: rootfs
              mountPath: /host
              readOnly: true
          securityContext:
            capabilities:
              add:
                - SYS_ADMIN
          env:
            - name: PILOT_LOG_PREFIX
              value: "bitget"
            - name: LOGGING_OUTPUT
              value: "elasticsearch"
            - name: ELASTICSEARCH_HOSTS
              value: "http://elasticsearch:9200"
      volumes:
        - name: containerd-sock
          hostPath:
            path: /run/containerd/containerd.sock
        - name: localtime
          hostPath:
            path: /etc/localtime
        - name: rootfs
          hostPath:
            path: /
          readOnly: true

报如下错误,该咋整?

time="2023-08-30T03:19:00Z" level=info msg="logs: eda28d6da7a090b25e7ea201d6a5c05ec2d89115dde90264d623e69c61624868 = &{spider /host/var/log/pods/default_spiders-8696457598-p88pk_7e87573f-2be6-4bd8-8749-ea2a707aece5/cmc-tg  nonex map[time_format:%Y-%m-%dT%H:%M:%S.%NZ] *.log map[index:spider topic:spider]  false true map[] map[]}"

false true map[] map这意思是map错误?

image bign并且K8s 查看并未采集到日志

zhajingwen avatar Aug 30 '23 03:08 zhajingwen

已经基于williamguozi/log-pilot-filebeat:containerd再次构建,以此来适配捕获stdout日志输出;详细流程

zhajingwen avatar Aug 30 '23 05:08 zhajingwen

换了容器运行时,在要收集stdout日志时,需要把filebeat配置模板 filebeat.tpl里面这几行去掉,才会正常收集服务stdout输出的日志:

  {{if .Stdout}}

我也遇到相同问题了,但是按照你后面贴的详细流程,还是收不到日志。。。请问这是怎么解决的?

yidaimi avatar Jan 10 '24 12:01 yidaimi