码农大佬,求支招

Big Steppa Yetti 🫵🏾💪🏾🦍-avatar

Big Steppa Yetti 🫵🏾💪🏾🦍

2021-07-10T11:59:51+00:00

最近搞一个日志分析,日志服务器一秒接收100条日志,我打算用python写,写代码监控日志文件,服务器接收一条日志,就用if条件匹配关键字,大概要写20行if判断,那么问题来了,if或者for循环效率咋样啊?有没有更优解?

编辑
要事实监控日志,发现问题,发送告警
从日志里面匹配cpu,内存等关键异常信息,目前我的做法是
if 关键字 === "a" then
a()
else if 关键字 === "b" then
b()
else if ...

感觉效率会很低
MatchaMellow-avatar

MatchaMellow

[quote][tid=27673527]Topic[/tid] Post by [uid=9077230]jbl78004957[/uid] (2021-07-19 20:03):

最近搞一个日志分析,日志服务器一秒接收100条日志,我打算用python写,写代码监控日志文件,服务器接收一条日志,就用if条件匹配关键字,大概要写20行if判断,那么问题来了,if或者for循环效率咋样啊?有没有更优解?[/quote]原始日志直接落盘,后续再根据需求分析数据,有必要预处理?
Phrenzy-avatar

Phrenzy

表驱动或者有限状态机可行吗,弱鸡码农一枚,轻喷
Con<3-avatar

Con<3

我拒绝回答这个问题,请百度。
Astralotus-avatar

Astralotus

重新编辑下,你是要对项目进行日志监控,还是要对生成的日志进行监控?
Spacewaifu-avatar

Spacewaifu

dict?
用字典替代if
ItzKyle-avatar

ItzKyle

没明白你意思,是不是写了这类代码

if 关键字 === "a" then
a()
else if 关键字 === "b" then
b()
else if ...

关键字越来越多,需要 if 的内容也越来越多
TACO ASS-avatar

TACO ASS

你这个量级,用啥都一样
jul_xy66-avatar

jul_xy66

日志没统一格式? 那没办法 if吧
有了提取关键字位置hash对比简单
danny-avatar

danny

你不先试试看,真的有性能问题了再来问
ChrisB_B4con-avatar

ChrisB_B4con

用消息中间件处理会比较好。
NiTe-avatar

NiTe

linux写个shell脚本用grep wc-l不可以吗?设个crontab 或者用awk命令
amazonhahatrees-avatar

amazonhahatrees

你应该用buffer存日志
两条线程处理
写和读锁住
Fadburger-avatar

Fadburger

正则啊
或者手撕状态机
if else或者switch效率都低
不过看你效率要求不高 _(:з'∠)_咋写都行
SRoeT19-avatar

SRoeT19

哪来的骚操作
不同进程对同一个文件进行读写怎么同步锁
梦`-avatar

梦`

我觉得你的需求没整理清楚
𝒲𝑒𝑒𝓀𝑒𝒹-avatar

𝒲𝑒𝑒𝓀𝑒𝒹

[img]http://img.nga.178.com/attachments/mon_201209/14/-47218_5052bc4cc6331.png[/img]字典加函数 用了都说好
Mohamed_Ahmed-avatar

Mohamed_Ahmed

哈希表吧,空间换时间。
eight-avatar

eight

锁休息,其他的这个量级没什么太大的纠结感觉