silenceper
silenceper
/PTAL @dixudx
@dixudx I used the goimport tool to format, but nothing changed, are there any rules?
> > @dixudx I used the goimport tool to format, but nothing changed, are there any rules? > > built-in packages third-party packages local repo packages consider add this rule...
> tail_files: false # pod 在每次发布会产生新的日志文件,这样新日志不丢吗? pod的新建就是一个新的filebeat配置文件了
发现是在log-pilot进行重启之后,假设这中间又容器销毁(包括log-pilot),registry中会遗留下这些无法日志文件,即便filebeat启动之后,也无法被删除; 想到一个解决办法是在log-pilot每次启动之前,重置一下registry文件内容(只保留当前已有的日志文件)
> 有一个参数 close_inactive 作者默认搞到2小时,你改成1分钟,默认就是当日志文件没有更新2小时后才会释放文件句柄 导致pod销毁也需要2小时 2 小时后 也没有被释放。 我是加了一个close_timeout ,定期关闭句柄
同问,用filebeat 的模式跑了几天,大量被删除的文件句柄还保持,占用磁盘空间,导致node 上业务pod被驱逐
有个疑问,state信息放在了filebeat内存中,通过`ioutil.WriteFile(FILEBEAT_REGISTRY, nb, 0600)`能成功吗? 不会在filebeat自身调用`func (r *Registrar) flushRegistry() {`的时候覆盖吗?
https://github.com/elastic/beats/blob/master/filebeat/registrar/registrar.go#L372-L408 ``` func (r *Registrar) flushRegistry() { if err := r.writeRegistry(); err != nil { logp.Err("Writing of registry returned error: %v. Continuing...", err) } if r.out != nil { r.out.Published(r.bufferedStateUpdates)...
> @silenceper 目前还不支持 这个有计划吗,或者实现方式 初步设想是通过watch apiserver的pod变化,在调用cri接口去获取容器配置