Spillable Memory Channel
事件被存储在内存缓存中或者磁盘上,内存缓存作为主要存储而磁盘则是接收溢出时的事件将其存储到磁盘上。磁盘存储是由一个嵌入的File Channel来管理的。当内存缓存队列满了的时候,额外的event将被存储到File Channel。这样当agent 崩溃或者机器死机 存放在磁盘上的数据将能够被恢复,从而减少数据丢失
This channel is currently experimental and not recommended for use in production.(不适用于生产……………………)
属性名 | 默认 | 描述 |
type | – | 组件名 ,固定值 SPILLABLEMEMORY |
memoryCapacity | 10000 | 设定memory channel队列存储事件的最大值,如果要禁用, 将该值设置为0 |
overflowCapacity | 100000000 | 设定file channel中存储事件的最大值,如果要禁用, 将该值设置为0 |
overflowTimeout | 3 | 内存channel满了之后,切换到file channel之前的等待时间 |
byteCapacityBufferPercentage | 20 | 用来限制内存channel使用物理内存量,默认20 |
byteCapacity | 进程中可用堆空间的80% | channel允许使用的最大的堆空间 |
avgEventSize | 500 | 指定每个event的大小,用来计算内存channel可以使用的slot总数量,会把event量化为slot,而不是字节,默认500 |