flume內置了不少攔截器,而且會按期的添加一些攔截器,在這裏列出一些flume內置的,常用的攔截器。
java
時間戳攔截器服務器
flume中一個最常用的攔截器 ,該攔截器的做用是將時間戳插入到flume的事件報頭中。若是不使用任何攔截器,flume接受到的只有message。時間戳攔截器的配置。spa
參數 | 默認值 | 描述 |
type | 類型名稱timestamp,也能夠使用類名的全路徑 | |
preserveExisting | false | 若是設置爲true,若事件中報頭已經存在,不會替換時間戳報頭的值 |
source鏈接到時間戳攔截器的配置:日誌
a1.sources.r1.interceptors = timestamp a1.sources.r1.interceptors.timestamp.type=timestamp a1.sources.r1.interceptors.timestamp.preserveExisting=false
2. 主機攔截器
code
主機攔截器插入服務器的ip地址或者主機名,agent將這些內容插入到事件的報頭中。時間報頭中的key使用hostHeader配置,默認是host。主機攔截器的配置
orm
參數 | 默認值 | 描述 |
type | 類型名稱host | |
hostHeader | host | 事件投的key |
useIP | true | 若是設置爲false,host鍵插入主機名 |
preserveExisting | false | 若是設置爲true,若事件中報頭已經存在,不會替換host報頭的值 |
source鏈接到主機攔截器的配置:事件
a1.sources.r1.interceptors = host a1.sources.r1.interceptors.host.type=host a1.sources.r1.interceptors.host.useIP=false a1.sources.r1.interceptors.timestamp.preserveExisting=true
3. 靜態攔截器ip
靜態攔截器的做用是將k/v插入到事件的報頭中。配置以下
ci
參數 | 默認值 | 描述 |
type |
類型名稱static | |
key | key | 事件頭的key |
value | value | key對應的value值 |
preserveExisting | true | 若是設置爲true,若事件中報頭已經存在該key,不會替換value的值 |
source鏈接到靜態攔截器的配置:it
a1.sources.r1.interceptors = static a1.sources.r1.interceptors.static.type=static a1.sources.r1.interceptors.static.key=logs a1.sources.r1.interceptors.static.value=logFlume a1.sources.r1.interceptors.static.preserveExisting=false
4. 正則過濾攔截器
在日誌採集的時候,可能有一些數據是咱們不須要的,這樣添加過濾攔截器,能夠過濾掉不須要的日誌,也能夠根據須要收集知足正則條件的日誌。
參數 | 默認值 | 描述 |
type |
類型名稱REGEX_FILTER | |
regex | .* | 匹配除「\n」以外的任何個字符 |
excludeEvents | false |
默認收集匹配到的事件。若是爲true,則會刪除匹配到的event,收集未匹配到的。 |
source鏈接到正則過濾攔截器的配置:
a1.sources.r1.interceptors = regex a1.sources.r1.interceptors.regex.type=REGEX_FILTER a1.sources.r1.interceptors.regex.regex=(rm)|(kill) a1.sources.r1.interceptors.regex.excludeEvents=false
這樣配置的攔截器就只會接收日誌消息中帶有rm 或者kill的日誌。