當前位置:
首頁 > 最新 > logkit:七牛 Pandora 開發的通用日誌收集工具

logkit:七牛 Pandora 開發的通用日誌收集工具

logkit簡介

logkit是七牛Pandora開發的一個通用的日誌收集工具,可以將不同數據源的數據方便的發送到Pandora進行數據分析,除了基本的數據發送功能,logkit還有容錯、並發、監控、刪除等功能。

詳細的文檔可以參見logkit wiki

支持的數據源

文件(包括csv格式的文件,kafka-rest日誌文件,nginx日誌文件等,並支持以grok的方式解析日誌)

MySQL

Microsoft SQL Server(MSSQL)

ElasticSearch

MongoDB

工作方式

logkit本身支持多種數據源,並且可以同時發送多個數據源的數據到Pandora,每個數據源對應一個邏輯上的runner,一個runner負責一個數據源的數據推送,工作原理如下圖所示

下載

請移步至Download頁面

安裝與使用

下載&解壓logkit工具

Linux 版本wget http://op26gaeek.bkt.clouddn.com/logkit.tar.gz && tar xvf logkit.tar.gz && cd _package_linux64/MacOS 版本wget http://op26gaeek.bkt.clouddn.com/logkit_mac.tar.gz && tar xvf logkit_mac.tar.gz && cd _package_mac/Windows 版本

請下載http://op26gaeek.bkt.clouddn.com/logkit_windows.zip並解壓縮,進入目錄

修改runner的配置

打開 confs/default.conf

按照圖示進行修改

啟動logkit工具

./logkit -f logkit.conf

logkit.conf是logkit工具本身的配置文件,主要用於指定logkit運行時需要的資源和各個runner配置文件的具體路徑。

logkit運行過程中最多用到多少個核

日誌輸出級別,0為debug,數字越高級別越高

是一個列表,列表中的每一項都是一個runner的配置文件夾,如果每一項中文件夾下配置發生增加、減少或者變更,logkit會相應的增加、減少或者變更runner,配置文件夾中的每個配置文件都代表了一個runner。

典型的配置如下:

{ "max_procs": 8, "debug_level": 1, "confs_path": ["confs"] }

上面的配置指定了一個runner的配置文件夾,這個配置文件夾下面每個以.conf結尾的文件就代表了一個運行的runner,也就代表了一個logkit正在運行的推送數據的線程。

單個runner的配置詳解

典型的 csv Runner配置如下。

{ "name":"csv_runner", # 用來標識runner的名字,用以在logkit中區分不同runner的日誌 "reader":{ "mode":"dir", # 是讀取方式,支持`dir`和`file`兩種 "log_path":"/home/user/app/log/dir/", # 需要收集的日誌的文件(夾)路徑 "meta_path":"./metapath", # 是reader的讀取offset的記錄路徑,必須是文件夾 }, "parser":{ "name":"csv_parser", # parser的名字,用以在logkit中區分不同的parser "type":"csv", "csv_schema":"timestamp long, method string, path string, httpcode long" # 按照逗號分隔的字元串,每個部分格式按照`欄位名 欄位類型`構成,欄位類型現在支持`string`, `long`, `jsonmap`, `float` }, "senders":[{ # senders是 "name":"pandora_sender", "sender_type":"pandora", # 如果數據要發送到Pandora,那麼必須寫pandora "pandora_ak":"your_ak", # 賬號的ak "pandora_sk":"your_sk", # 賬號的sk "pandora_host":"https://pipeline.qiniu.com", "pandora_repo_name":"your_repo_name", # 賬號的repo name "pandora_region":"nb" }] }

對於csv文件的上傳,只需要修改上述配置文件的 , , , , 就完成了一個基本的上傳csv文件的logkit配置。

從源碼安裝與啟動

啟動服務的命令中可以指定服務的啟動配置

go get -u github.com/kardianos/govendor govendor sync go get ./... go build -o logkit logkit.go ./logkit -f logkit.conf使用logkit的docker鏡像啟動docker pull wonderflow/logkit docker run -d -p 3000:3000 -v /local/logkit/dataconf:/app/confs -v /local/log/path:/logs/path logkit

鏡像中,logkit讀取 下的配置文件,所以可以通過掛載目錄的形式,將本地的logkit配置目錄 掛載到鏡像裡面。

需要注意的是,鏡像中的logkit收集 目錄下的日誌,需要把本地的日誌目錄也掛載到鏡像裡面去才能啟動,比如本地的日誌目錄為 , 掛載到鏡像中的 目錄,那麼 目錄下的配置文件填寫的日誌路徑必須是 。

Enjoy it!

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 推酷 的精彩文章:

90後正成為結婚主力,「糖生糖太」要提供高顏值、定製化的婚慶伴手禮
let 聲明會提升嗎?
用代碼寫靜態表格
如何設計合理友好的錯誤提示?
Spring boot學習

TAG:推酷 |

您可能感興趣

Android&Linux&Windows三平台通用實用程序推薦
對話 Geoffrey Hinton&Demis Hassabis:通用人工智慧離我們有多遠?
iPhone、iPad和Mac的通用APP將允許研發
Redis Keys的通用操作
Cruise Automation聘任通用汽車總裁Dan Ammann為新任CEO
Mobileye/Drive.ai/特斯拉/Waymo/通用 自動駕駛最新大事件
Spotify 現已支持Linux snap 通用套件
Calamares 3.2通用Linux安裝程序框架新版發布
TensorLayer 2.0:保有最多官方神經網路層的通用Python庫
Uber開源Fusion.js:一個基於插件架構的通用Web框架
3億美元!通用型CAR-T療法火花再現,細胞療法新銳Allogene獲輝瑞、Servier、Cellectis共同支持
再怎麼「漢語熱」,英文依舊會是堅挺的世界最通用語for a long long long long time
省時間!定製Office右鍵菜單 Word/Excel 通用
Kubernetes 已成為一種通用調度器
攝影|Bruno Barbey:世界通用語言
9月新iPhone機模曝光,保護殼與iPhone X通用
iPhone Xs/Xs Max/XR/X通用壁紙
斯坦福&Adobe CVPR 19 Oral:全新通用深度網路架構CPNet
Service Mesh中的通用數據平面API設計
彭博社:蘋果2021年將iPhone iPad Mac應用程序通用