02【線上日誌分析】之基於Flume-ng Exec Source開發自定義外掛AdvancedExecSource

hackeruncle發表於2017-01-06

1.目的
CDH的角色日誌的一行基本組成:年月日 時分秒.毫秒 日誌級別 日誌資訊 

本部落格主要是想基於Exec Source開發自定義外掛AdvancedExecSource,將機器名稱 和 服務名稱 新增到一行資料的前面,則格式為:機器名稱 服務名稱 年月日 時分秒.毫秒 日誌級別 日誌資訊  

2.關閉projet的Maven Project Builder

選擇 flume-ng-core,右鍵單擊Properties,彈出Properties頁面,單擊左側的Builders, 取消 Maven Project Builder,再 單擊OK。

02【線上日誌分析】之基於Flume-ng Exec Source開發自定義外掛AdvancedExecSource 

3.由於 flume-ng-core的部分java檔案拋錯,所以要新增資料夾
選擇 flume-ng-core,右鍵單擊Properties,彈出Properties頁面,單擊左側的Java Build Path,然後單擊右側的Source 頁,單擊Add Folder按鈕,彈出選擇頁面;
選擇 target/generated-sources/目錄的annotations,avro,java,再單擊ok;返回Properties頁面,單擊OK。
 02【線上日誌分析】之基於Flume-ng Exec Source開發自定義外掛AdvancedExecSource
02【線上日誌分析】之基於Flume-ng Exec Source開發自定義外掛AdvancedExecSource

4.建立package為com.onlinelog.analysis
選擇 flume-ng-core,右鍵單擊
New,單擊Package,輸入com.onlinelog.analysis


02【線上日誌分析】之基於Flume-ng Exec Source開發自定義外掛AdvancedExecSource



5.手工將flume-ng-core的src/main/java目錄的ora.apache.flume包下source包的ExecSource.java和ExecSoureceConfigurationConstants.java檔案,選中,複製一份至com.onlinelog.analysis包下;然後選擇ExecSoure.java檔案,右鍵選擇Refactor-->Rename, 改為AdvancedExecSource,單擊Finsh。
02【線上日誌分析】之基於Flume-ng Exec Source開發自定義外掛AdvancedExecSource


6.修改程式碼AdvancedExecSource.java程式碼
已經將程式碼上傳至GitHub:

7.匯出為AdvancedExecSource.jar包
02【線上日誌分析】之基於Flume-ng Exec Source開發自定義外掛AdvancedExecSource02【線上日誌分析】之基於Flume-ng Exec Source開發自定義外掛AdvancedExecSource02【線上日誌分析】之基於Flume-ng Exec Source開發自定義外掛AdvancedExecSource

#匯出後會有warn提示,可以忽略。因為是一些import類沒有使用而已。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/30089851/viewspace-2131995/,如需轉載,請註明出處,否則將追究法律責任。

相關文章