采集数据往本地存,最先出问题的往往不是容量,而是格式。写得进去、查得出来、留得住,是三件不同的事——只保证第一件,后面两件迟早会找上门。
一、三个必须同时满足的目标
- 写得进:设备持续写入,不能因为格式问题丢点、卡顿。
- 查得出:要分析时能找到”某台设备某段时间”的数据,而不是翻一堆散文件。
- 留得住:长期保存要有保留策略,不能让磁盘被无意义的历史数据撑爆。
三者冲突时,先保”写得进”——丢点是不可逆的,其他都可以事后整理。
二、格式怎么选
追加式文本(如 CSV/行式日志):写入简单、不易丢点、随时可查,适合采集端直接落盘。
频繁改写的结构化文件:写入时要整体重写,设备一多就容易冲突和损坏。
通用做法是:采集端写”追加式”的原始记录,再在本地做聚合,生成按天/按设备组织的汇总文件。
三、抽稀:把体量降下来
原始数据高频写入,体量增长很快。但多数分析并不需要秒级精度,可以在本地做抽稀:
- 原始层:保留全量一段时间(如近 7~30 天)。
- 聚合层:按分钟/小时聚合,长期保留。
- 归档层:超期原始数据压缩归档或按策略清理。
这样既保住了追溯能力,又把体量控制在可接受的范围内——体量能降一到两个数量级。
四、保留期要明确写下来
“保留多久”不能靠感觉。哪些数据留几天、哪些按月、哪些长期留,写成明确的规则并自动执行。否则要么磁盘被撑爆,要么需要时才发现早被清掉——两种都是麻烦。
如果你正在设计设备的日志落盘,先把”写/查/留”三件事分别定清楚,再谈用哪种具体格式。