首页 > 代码库 > logscan设计

logscan设计

模块划分

技术分享

数据库表设计

技术分享

agent设计

 agent结构

技术分享

controller

负责每隔一段时间调度FileAnalyzer一次,将RuleConfig启动起来

ruleConfig

负责在本地保存配置规则,同步配置规则

fileAnalyzer

负责解析文件,匹配规则,其中fileMark会记录上一次读取文件的位置;在解析文件的时候,应该努力提升读取效率,避免重复从头扫描;如果用java实现,可以用BufferReader嵌套RandomAccessFile(作为字节流使用)做

alarmSender

用于向报警平台推送警报信息

 

技术选型

agent

可以用java,或者一些脚本语言,如 python 或者 go

用java,建议不用每次都启动agent,agent内部启动timer即可

python或者go,可以选择考虑使用crontab进行调度

配置同步

可以基于zookeeper同步配置,或者自建长连同步配置;或者轮询请求同步(效率比较低)

logscan设计