-
Notifications
You must be signed in to change notification settings - Fork 255
Cleaner
Sun Jianbo edited this page Dec 6, 2017
·
7 revisions
cleaner是logkit提供的日志删除功能,可以方便用户删除已经读取到Pandora的日志文件。目前Cleaner仅支持针对文本文件进行删除,故reader模式为dir
时,才能使用cleaner功能。其他如MongoDB Reader
、Kafka Reader
、MySQL Reader
、MSSQL Reader
、ElasticSearch
以及 File Reader
中的tailx
、file
模式等,暂不支持删除数据的配置。
"cleaner":{
"delete_enable":"true",
"delete_interval":"10",
"reserve_file_number":"10",
"reserve_file_size":"10240"
},
-
delete_enable
该选项表示是否启用cleaner,cleaner是删除控制功能,默认不开启,当delete_enable为true时开启。开启后,当reader已经读取完毕的数据,cleaner会负责通知mgr删除。 -
delete_interval
cleaner执行周期,会在每个周期检查是否符合删除的条件,单位为秒(s),到了删除周期,且检测发现符合删除条件的数据会被删除,reader读取完毕后会生成file.done文件,当整个file.done文件里的日志都被发送至mgr删除时,文件名会变为file.deleted。 -
reserve_file_number
最大保留的已读取文件数,当超过这个数量时就会把多出的文件删除,默认为保留10个. -
reserve_file_size
最大保留已读文件总大小,当已读文件的总大小超过这个值时,会把最老的那部分删掉,默认保留10GB,单位为MB. -
reserve_file_number
和reserve_file_size
这2个条件只要满足其一,且文件在file.done中(已经读取完毕),就会触发删除。
- cleaner的主要功能是删除的控制,当日志只被一个runner读取时,建议配置cleaner来控制日志的删除。
- 当同一个日志目录有多个runner在读取时,如果不启用cleaner,则表示该runner放弃控制日志的删除。
- 一份日志目录被多个cleaner控制时,只有当所有的cleaner均通知mgr可以删除时,才执行删除日志。
- Cleaner仅删除已经读取过的日志,不经过logkit读取的日志无法删除
- 若仅想通过logkit删除日志,可以配置
raw parser
和discard sender
,前者不进行任何解析,后者不发送到任何目的地址,同时日志也能删除。
快速开始 | Pandora | Readers | Parsers | Senders | Download | 七牛智能日志管理平台 | logkit-pro专业版