自荐一个Kubernetes的日志采集软件
自荐一个 Kubernetes 的日志采集软件:envlog https://github.com/zhangrr/envlog 软件最大优势 采集容器内自定义文件 阿里的SLS有个最大的优势,可以在Deployment中宣告pod容器内的文件路径,然后就会自动采集。 Docker引擎可以很容易搜索pod路径,Containerd做起来比较费劲。 但这也是最吸引人的特性,如果只采集stdout,那随便什么软件loki、filebeat都可以,就没什么吸引力。 这个困扰了我很多年,终于在AI的加持下实现了: 例如我们要采集 Pod 内的文件 /tmp/logtest.log: - env: - name: envlog_ngtest value: "/tmp/logtest.log" 该模式会尝试将容器内路径映射到宿主机路径(优先使用 volume mount,其次使用容器 overlay upperdir),并生成对应的 Filebeat paths。 然后发往ES、Kafka比较好,本软件优化了ES的字段,去掉了多余的字段,也便于阅读。 这也是本软件最大的特色! 然后我们去ES的Kibana面板,Management –> Stack Management 建立Index Patterns 然后去 Analytics –> Discover 就可以看到日志的详细内容了: 字段做了优化,不需要的字段统统都舍弃了,保留了必要的字段和日志的详细内容。