电子发烧友App

硬声App

0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看威廉希尔官方网站 视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示
创作
电子发烧友网>电子资料下载>电子资料>Plog处理日志流的框架

Plog处理日志流的框架

2022-04-27 | zip | 0.02 MB | 次下载 | 免费

资料介绍

授权协议 未知
开发语言 Python
操作系统 跨平台
软件类型 开源软件

软件简介

Plog 是 "Parse Log" 的缩写,是一套处理日志流的框架,日志流格式可以是Apache,nginx等常规意义的日志格式,也可以是自定义格式

FlumeNG的启发,我把整个工程分成了三个部分:source,channel ,sink,已经完成了主体的共有的可以抽象出来的功能,比如线程的同步互斥,消息的生产消费,处理时间间隔的控制,还有一些简单的source,channel and sink函数

下面是一个简单的配置文件:

[source]
#定义读取数据的模块名
source_module=file_source
#定义源文件
source_file=./test/plog_demo.log
#定义读取文件的时间间隔,单位s
source_interval=5

[channel]
#定义解析数据的模块名
channel_module=regrex_channel
#如是正则,定义正则规则
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]
#定义发送数据的时间间隔
interval=60
#定义计算与发送的模块名
sink_module=zabbix_sink
sink_service=cacheL2
#定义需要的key
sink_zabbix_monitor_keys=200,300,400,500
#定义发送给zabbix写数据的文件
sink_zabbix_send_file=/tmp/zabbix_send_info
#定义发送zabbix sender路径
sink_zabbix_sender=/usr/bin/zabbix_sender
#定义zabbix的配置文件
sink_zabbix_conf=/etc/zabbix/zabbix_agentd.conf

[log_config]
#定义输出log的格式,级别,路径等,方便调试程序。
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来解析配置文件

source部分的设计思路

在这一部分,我们需要处理的是数据流的来源,他可能是file,可能是socket,可能是管道,但是我不关注你的数据来源格式是什么样的,因为我无法满足这些需要各式各样的数据来源需求,而你的需要是什么样的,你最清楚,那么你只要写一个source的插件就可以了,名字随意你定,你需要的是把你写的那个插件的名字,写到plog.conf里面,默认有读取文件的file_source模块,读取管道的read_from_pipeline模块,可以直接使用。

具体实例如下:

source_module=self-define-script-name

自定义source的具体实现,参看source module下的plog/source/youself_define_source.py

channel部分

在这个部分,主要是对数据流的处理,你同样需要写一个 Python的脚本,名字随意你定,但是你需要写到 plog.conf 中,默认有解析python正则的模块可以直接使用,类似下方:

channel_module=filter_log

同样的你需要实现的channel可以参见 plog/channel/youself_define_channel.py

sink 部分

在这个部分,你同样需要写一个Python脚本,他的名字同样取决于你的个人喜好,你需要的是把你写的那个插件的名字写到plog.conf,例如下方:

sink_module=cacheL2get_monitor

同样的你需要完成的脚本可以参见plog/sink/youself_define_sink.py

如何跑一个测试

下面的测试是读取一个本地本件,解析,计算自己要想的结果发送到zabbix监控系统。

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
 

下载该资料的人也在下载 下载该资料的人还在阅读
更多 >

评论

查看更多

下载排行

本周

  1. 1山景DSP芯片AP8248A2数据手册
  2. 1.06 MB  |  532次下载  |  免费
  3. 2RK3399完整板原理图(支持平板,盒子VR)
  4. 3.28 MB  |  339次下载  |  免费
  5. 3TC358743XBG评估板参考手册
  6. 1.36 MB  |  330次下载  |  免费
  7. 4DFM软件使用教程
  8. 0.84 MB  |  295次下载  |  免费
  9. 5元宇宙深度解析—未来的未来-风口还是泡沫
  10. 6.40 MB  |  227次下载  |  免费
  11. 6迪文DGUS开发指南
  12. 31.67 MB  |  194次下载  |  免费
  13. 7元宇宙底层硬件系列报告
  14. 13.42 MB  |  182次下载  |  免费
  15. 8FP5207XR-G1中文应用手册
  16. 1.09 MB  |  178次下载  |  免费

本月

  1. 1OrCAD10.5下载OrCAD10.5中文版软件
  2. 0.00 MB  |  234315次下载  |  免费
  3. 2555集成电路应用800例(新编版)
  4. 0.00 MB  |  33566次下载  |  免费
  5. 3接口电路图大全
  6. 未知  |  30323次下载  |  免费
  7. 4开关电源设计实例指南
  8. 未知  |  21549次下载  |  免费
  9. 5电气工程师手册免费下载(新编第二版pdf电子书)
  10. 0.00 MB  |  15349次下载  |  免费
  11. 6数字电路基础pdf(下载)
  12. 未知  |  13750次下载  |  免费
  13. 7电子制作实例集锦 下载
  14. 未知  |  8113次下载  |  免费
  15. 8《LED驱动电路设计》 温德尔著
  16. 0.00 MB  |  6656次下载  |  免费

总榜

  1. 1matlab软件下载入口
  2. 未知  |  935054次下载  |  免费
  3. 2protel99se软件下载(可英文版转中文版)
  4. 78.1 MB  |  537798次下载  |  免费
  5. 3MATLAB 7.1 下载 (含软件介绍)
  6. 未知  |  420027次下载  |  免费
  7. 4OrCAD10.5下载OrCAD10.5中文版软件
  8. 0.00 MB  |  234315次下载  |  免费
  9. 5Altium DXP2002下载入口
  10. 未知  |  233046次下载  |  免费
  11. 6电路仿真软件multisim 10.0免费下载
  12. 340992  |  191187次下载  |  免费
  13. 7十天学会AVR单片机与C语言视频教程 下载
  14. 158M  |  183279次下载  |  免费
  15. 8proe5.0野火版下载(中文版免费下载)
  16. 未知  |  138040次下载  |  免费