新需求,要求所有 k8s 里的服务把日志都保存到本地磁盘

186 天前
 0987363
机房托管,自建的 k8s ,几台 es 物理机做日志集群。

k8s 里跑的普通业务,没有什么特殊要求。

现在是要求把 k8s 里跑的各种服务打印的日志全部保存到本地磁盘,理由是日志服务器会挂,会丢日志。。。
3370 次点击
所在节点    Kubernetes
18 条回复
cdlnls
186 天前
根据我的经验,90%不是日志服务器挂了,而是压根没打印。
joyhub2140
186 天前
对日志服务器做远程备份啊。

打本地快照也行。
Jokesy
186 天前
Pod 的日志默认都是在磁盘内部,/var/lib/docker/* 去可以找的到。
idihs
185 天前
bro, try a random LLM(large language model
birdhk
185 天前
fluent-bit 、vector 这些日志收集组件不都可以直接收集 k8s 中的日志吗?收集到了想保存哪里就保存到哪里
birdhk
185 天前
直接 fluent-bit 收集或 vector 收集然后直接写入到 es 不就行了,没啥问题
runzhliu
185 天前
k8s 节点也会挂,磁盘也可能有问题,光存本地肯定不行
defunct9
185 天前
最近正在搞这个,用 ilogtail 吧,满足你的需求
dbak
185 天前
搞一个 nfs 网盘 挂载到容器/data/logs 下 把应用的日志都保存到这里 定期压缩归档
cheng6563
185 天前
看你怎么部署的,比如直接用 vector daemonset 把/var/log/pods/全收集就完了。
yelog
185 天前
直接 hostPath 落盘
kd9yYw2RyhQwAwzn
185 天前
这种碰到 pod 漂移 日志翻看起来会很痛苦吧
tairan2006
185 天前
容器的 stdout 本来就保存在本地啊……
set
185 天前
@Jokesy #3 对的
$ cp /var/lib/docker/* /root/
报个 1 个月开发工时, 其后就可以摸鱼拿钱了
oudemen
185 天前
存本地的话用 victorialogs 吧,兼容多种协议。也一天一个目录,方便归档和备份
lff0305
185 天前
用 fluent bit ,protail 之类(一般都是装成 daemon set ),监控/var/lib/docker 下面的日志文件,转发到日志服务器。日志服务器可以用 Loki 或者 ES 或者其它什么现在选择很多;
可以装在本地自己定期备份,或者装在云上,直接用各种高可用的存储。

真要是不差钱可以直接用 datadog 或者 dynatrace 之类的服务,直接把日志发给他们,整个监控+日志查询+归档一条龙,可用性要比开源方案强的多,就是要很多¥¥¥¥
Bromine0x23
185 天前
那只能用 Filebeat 采集 /var/log/containers ,再同时输出到 ES 和本地文件了
sampeng
185 天前
你本来就有个 agent 每台机器上进行采集日志啊。加一个 output 输出到 NFS 的盘上就好了啊。我们是云服务,所以一个 output 是 kafka 。kafka 分两个 output 一个 s3 一个 es 。也做过直接 agent 分两个 output ,一个直接往 nfs 上 backup 一份,一个给 es 。但其实。。99%的原因是压根没打日志。1%的可能是 es 有并发限制丢弃了,加个 kafka 就不会丢了。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1115626

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX