資料介紹
軟件簡(jiǎn)介
Plog 是 "Parse Log" 的縮寫(xiě),是一套處理日志流的框架,日志流格式可以是Apache,nginx等常規(guī)意義的日志格式,也可以是自定義格式
受FlumeNG的啟發(fā),我把整個(gè)工程分成了三個(gè)部分:source,channel ,sink,已經(jīng)完成了主體的共有的可以抽象出來(lái)的功能,比如線程的同步互斥,消息的生產(chǎn)消費(fèi),處理時(shí)間間隔的控制,還有一些簡(jiǎn)單的source,channel and sink函數(shù)
下面是一個(gè)簡(jiǎn)單的配置文件:
[source] #定義讀取數(shù)據(jù)的模塊名 source_module=file_source #定義源文件 source_file=./test/plog_demo.log #定義讀取文件的時(shí)間間隔,單位s source_interval=5 [channel] #定義解析數(shù)據(jù)的模塊名 channel_module=regrex_channel #如是正則,定義正則規(guī)則 channel_filter_regex=([\w\d.\s,]{0,})\s([0-9.]+)\s(?P\d+|-)\s(\w+)\s\[([^\[\]]+)\s\+\d+\]\s"((?:[^"]|")+)"\s(?P\d{3})\s(\d+|-)\s"((?:[^"]|")+|-)"\s"(.+|-)"\s"((?:[^"]|")+)"\s"(.+|-)"$ [sink] #定義發(fā)送數(shù)據(jù)的時(shí)間間隔 interval=60 #定義計(jì)算與發(fā)送的模塊名 sink_module=zabbix_sink sink_service=cacheL2 #定義需要的key sink_zabbix_monitor_keys=200,300,400,500 #定義發(fā)送給zabbix寫(xiě)數(shù)據(jù)的文件 sink_zabbix_send_file=/tmp/zabbix_send_info #定義發(fā)送zabbix?sender路徑 sink_zabbix_sender=/usr/bin/zabbix_sender #定義zabbix的配置文件 sink_zabbix_conf=/etc/zabbix/zabbix_agentd.conf [log_config] #定義輸出log的格式,級(jí)別,路徑等,方便調(diào)試程序。 logging_format=%(asctime)s?%(filename)s?[funcname:%(funcName)s]?[line:%(lineno)d]?%(levelname)s?%(message)s logging_level=20 logging_filename=/tmp/plog.log
使用了ConfigParse來(lái)解析配置文件
source部分的設(shè)計(jì)思路
在這一部分,我們需要處理的是數(shù)據(jù)流的來(lái)源,他可能是file,可能是socket,可能是管道,但是我不關(guān)注你的數(shù)據(jù)來(lái)源格式是什么樣的,因?yàn)槲覠o(wú)法滿足這些需要各式各樣的數(shù)據(jù)來(lái)源需求,而你的需要是什么樣的,你最清楚,那么你只要寫(xiě)一個(gè)source的插件就可以了,名字隨意你定,你需要的是把你寫(xiě)的那個(gè)插件的名字,寫(xiě)到plog.conf里面,默認(rèn)有讀取文件的file_source模塊,讀取管道的read_from_pipeline模塊,可以直接使用。
具體實(shí)例如下:
source_module=self-define-script-name
自定義source的具體實(shí)現(xiàn),參看source module下的plog/source/youself_define_source.py
channel部分
在這個(gè)部分,主要是對(duì)數(shù)據(jù)流的處理,你同樣需要寫(xiě)一個(gè) Python的腳本,名字隨意你定,但是你需要寫(xiě)到 plog.conf 中,默認(rèn)有解析python正則的模塊可以直接使用,類似下方:
channel_module=filter_log
同樣的你需要實(shí)現(xiàn)的channel可以參見(jiàn) plog/channel/youself_define_channel.py
sink 部分
在這個(gè)部分,你同樣需要寫(xiě)一個(gè)Python腳本,他的名字同樣取決于你的個(gè)人喜好,你需要的是把你寫(xiě)的那個(gè)插件的名字寫(xiě)到plog.conf,例如下方:
sink_module=cacheL2get_monitor
同樣的你需要完成的腳本可以參見(jiàn)plog/sink/youself_define_sink.py
如何跑一個(gè)測(cè)試
下面的測(cè)試是讀取一個(gè)本地本件,解析,計(jì)算自己要想的結(jié)果發(fā)送到zabbix監(jiān)控系統(tǒng)。
1.git?clone?https://github.com/SinaMSRE/Plog.git 2.cd?./Plog/test? 3.sh?gen_log.sh?&? 4.cd?..?&&?python?plog.py?-c?conf/plog.conf 5.you?will?see?a?file**/tmp/zabbix_send_info_test123**,its?contents?like?followings: [xxxx@test?Plog]$?cat?/tmp/zabbix_send_info_test123 xxxx?test123_300?0.000000 xxxx?test123_200?59.000000 xxxx?test123_500?0.000000 xxxx?test123_400?0.000000
- ChatGPT:AI模型框架研究 9次下載
- 日志行篩選工具 0次下載
- AB1562軟件開(kāi)發(fā)DUBUG日志抓取方法 0次下載
- NUMA架構(gòu)下的內(nèi)存數(shù)據(jù)庫(kù)命令日志故障恢復(fù) 26次下載
- 基于日志信息和CNN-text的軟件系統(tǒng)異常檢測(cè) 6次下載
- AN-304:?jiǎn)涡酒盎摺笨?b class="flag-6" style="color: red">處理日志、反日志進(jìn)行實(shí)時(shí)處理
- 一種基于區(qū)塊鏈的日志安全存儲(chǔ)方法 6次下載
- 集成流挖掘和圖挖掘的內(nèi)網(wǎng)異常檢測(cè)方法 7次下載
- 盡可能限制NVM寫(xiě)操作的數(shù)據(jù)庫(kù)日志方案NVRC 14次下載
- 一個(gè)高效自動(dòng)化分析日志的兩階段檢測(cè)方法 16次下載
- 基于時(shí)間卷積網(wǎng)絡(luò)的通用日志序列異常檢測(cè)框架 8次下載
- C++的框架、庫(kù)和資源資料匯總大全
- 一套異步、分布、并行處理的日志記錄系統(tǒng) 0次下載
- 基于優(yōu)先級(jí)的柔性時(shí)空工作流異常處理
- 圖形處理器的流執(zhí)行模型
- nginx日志配置方法 255次閱讀
- Linux日志管理經(jīng)驗(yàn)總結(jié) 240次閱讀
- 什么是Apache日志?Apache日志分析工具介紹 876次閱讀
- 基于Rust的Log日志庫(kù)介紹 3536次閱讀
- MySQL三種日志講解 770次閱讀
- 如何設(shè)計(jì)一個(gè)高效的分布式日志服務(wù)平臺(tái) 583次閱讀
- 如何設(shè)計(jì)嵌入式C語(yǔ)言日志分級(jí)? 731次閱讀
- log4j日志框架分析 1148次閱讀
- 10分鐘學(xué)會(huì)使用Loki日志聚合系統(tǒng) 1370次閱讀
- 解析Linux系統(tǒng)日志 1658次閱讀
- SpringBoot如何快速過(guò)濾出一次請(qǐng)求的所有日志? 721次閱讀
- java日志框架 java日志配置等需要注意的幾個(gè)方面 1037次閱讀
- 詳解MySQL三大日志的作用 1373次閱讀
- 單片機(jī)對(duì)日志系統(tǒng)的設(shè)計(jì) 5386次閱讀
- 輕松搭建ELK日志分析系統(tǒng) 1.1w次閱讀
下載排行
本周
- 1人形機(jī)器人電機(jī)驅(qū)動(dòng)和傳感報(bào)告
- 4.27 MB | 9次下載 | 免費(fèi)
- 2Altium Designer元件庫(kù)
- 17.11 MB | 6次下載 | 免費(fèi)
- 324V2A開(kāi)關(guān)電源PCB資料分享
- 0.23 MB | 4次下載 | 1 積分
- 4GD100PIX120C6SNA規(guī)格書(shū)
- 0.98 MB | 3次下載 | 免費(fèi)
- 5Multisim模擬電路仿真教程
- 1.93 MB | 1次下載 | 3 積分
- 6BK7258英文規(guī)格書(shū)
- 1.67 MB | 1次下載 | 免費(fèi)
- 7RA4L1硬件手冊(cè)
- 21.89 MB | 1次下載 | 免費(fèi)
- 8RA4L1_SENSOR-V1原理圖
- 754.36 KB | 1次下載 | 免費(fèi)
本月
- 1晶體三極管的電流放大作用詳細(xì)說(shuō)明
- 0.77 MB | 32次下載 | 2 積分
- 2雙極型三極管放大電路的三種基本組態(tài)的學(xué)習(xí)課件免費(fèi)下載
- 4.03 MB | 25次下載 | 1 積分
- 3AIWA HS-J303 MKⅡ維修手冊(cè)
- 22.47 MB | 24次下載 | 10 積分
- 4九陽(yáng)豆?jié){機(jī)高清原理圖
- 2.47 MB | 23次下載 | 1 積分
- 5多級(jí)放大電路的學(xué)習(xí)課件免費(fèi)下載
- 1.81 MB | 21次下載 | 2 積分
- 6AIWA HS-J202/HS-J202M/HS-J800維修手冊(cè)
- 13.60 MB | 16次下載 | 10 積分
- 7東芝彩色電視機(jī)29SF6C維修說(shuō)明書(shū)
- 4.86 MB | 9次下載 | 1 積分
- 8人形機(jī)器人電機(jī)驅(qū)動(dòng)和傳感報(bào)告
- 4.27 MB | 9次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935127次下載 | 10 積分
- 2開(kāi)源硬件-PMP21529.1-4 開(kāi)關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計(jì)
- 1.48MB | 420063次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233089次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191382次下載 | 10 積分
- 5十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
- 158M | 183338次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81586次下載 | 10 積分
- 7Keil工具M(jìn)DK-Arm免費(fèi)下載
- 0.02 MB | 73814次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65988次下載 | 10 積分
評(píng)論