日志限速
简介
processor_rate_limit processor插件用于对日志进行限速处理,确保在设定的时间窗口内,具有相同索引值的日志条目的数量不超过预定的速率限制。若某索引值下的日志条目数量超出限定速率,则超额的日志条目将被丢弃不予采集。
以”ip”字段作为索引的情况为例,考虑两条日志:{"ip": "10.**.**.**", "method": "POST", "browser": "aliyun-sdk-java"} 和{"ip": "10.**.**.**", "method": "GET", "browser": "aliyun-sdk-c++"}。这两条日志有相同的”ip”索引值(即 “10…“)。在此情形下,系统将对所有”ip”为”10…”的日志条目进行累计,确保其数量在限定时间窗口内不超过设定的速率限制。
版本
配置参数
| 参数 | 类型,默认值 | 说明 | 
|---|---|---|
| Fields | []string, [] | 限速的索引字段。processor会根据这些字段的值所组合得到的结果,进行分别限速。 | 
| Limit | string, [] | 限速速率。格式为 数字/时间单位。支持的时间单位为s(每秒),m(每分钟),h(每小时) | 
样例
- 输入
echo '{"ip": "10.**.**.**", "method": "POST", "brower": "aliyun-sdk-java"}' >> /home/test-log/proccessor-rate-limit.logecho '{"ip": "10.**.**.**", "method": "POST", "brower": "aliyun-sdk-java"}' >> /home/test-log/proccessor-rate-limit.logecho '{"ip": "10.**.**.**", "method": "POST", "brower": "aliyun-sdk-java"}' >> /home/test-log/proccessor-rate-limit.log- 采集配置
enable: trueinputs:  - Type: input_file    FilePaths:      - /home/test-log/*.logprocessors:  - Type: processor_json    SourceKey: content    KeepSource: false    ExpandDepth: 1    ExpandConnector: ""  - Type: processor_rate_limit    Fields:      - "ip"    Limit: "1/s"flushers:  - Type: flusher_stdout    OnlyStdout: true- 输出
{  "__tag__:__path__": "/home/test-log/proccessor-rate-limit.log",  "__time__": "1658837955",  "brower": "aliyun-sdk-java",  "ip": "10.**.**.**",  "method": "POST"}