监控服务端设计-SSH-日志抓取写入部分

在上一篇中,客户端会负责将日志记录到本地log日志文件中。格式类似与

 

 

2011-01-14 14:21:55 lu f=548|g=574|

 

 包括三部分:

1.2011-01-14 14:21:55 记录时间

2.lu 记录的类型 (这里lu是level usage的意思 呵呵)

3.f=548|g=574| 记录的主体部分

 

===========================================================================

在服务端,需要有两个部分负责工作

1.使用SSH负责抓取客户端数据的线程

2.负责将抓取到的数据存储到数据库中

 

大致是这样的:

 

=================

ReadAgent(put,start,stop)

=================

|ssh reader thread 1 grab the log 

|....                                                   

|ssh reader thread n grab the log   

=================

ConcurrentLinkedQueue

=================

|db writer thread 1 

|....

|db writer thread n

 

=========================================================================

为了方便分表,对于每个客户端建立一张表

 

在内部有几个bean用于记录信息,需要说明一下

 

1.HostInfo

用于映射客户端主机的实体。主要提供连接主机及抓取日志的信息,包括id,主机ip,用户名,密码,日志路径,记录行数...

2.WriteBean

用于构造需要写入数据的实体。日志的格式如上述,除此之外还有很重要的便是需要将主机的id传入到writeBean中。因为dbWriter中需要使用记录的类型和主机id动态构造写入数据的表名。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值