方案讨论

我们这边做的是一个监控工具,主要监控程控交换机的一些状态输出信息,如告警、日志、MML(man manchine language)等数据,对这些数据进行分析,然后回应一些命令,回应一般用telnet协议

2011-3-26 21:53:17 rocket
这块的日志数据量会很大,可能几秒就会产生十几个20M的日志记录文件

2011-3-26 21:53:47 rocket
要对日志信息作分析,会用到正则表达式的工具

2011-3-26 21:55:29 rocket
MML的格式: [命令][对象]:[参数名1=参数值1][参数名2=参数值2]...[参数名n=参数值n]

2011-3-26 21:56:11
telnet是自己实现吗? 

2011-3-26 21:56:12 rocket
几个模块需要同时工作

2011-3-26 21:56:18 rocket
嗯 没错

2011-3-26 21:57:13 rocket
telnet协议比较简单,不过我这边还没有好的文档,《tcp-ip协议详解》里应该会有

2011-3-26 21:57:49 rocket
以前有本,搬家时不小心丢了

2011-3-26 21:58:53 rocket
哦 今天还是地球关灯一小时

2011-3-26 21:58:58
分析是在服务器做,还是客户端 

2011-3-26 21:59:17
[表情] 

2011-3-26 21:59:38
数据的分析 

2011-3-26 21:59:52 rocket
客户端 服务器只是输出数据,然后可以接受一些命令

2011-3-26 22:00:12 rocket
对 这块的数据分析是个大头

2011-3-26 22:00:50
分析放在哪里做呢? 

2011-3-26 22:01:00 rocket
客户端啊

2011-3-26 22:01:27 rocket
读取日志文件信息,告警信息,还有其他的一些

2011-3-26 22:01:55 rocket
分析可以使用正则表达式匹配

2011-3-26 22:02:33 rocket
我个人的想法是将这些正则表达式放在配置文件中,我想这个是可以肯定的

2011-3-26 22:03:13 rocket
这样可以随需求的变化更改

2011-3-26 22:04:14
对啊,这样比较方便 

2011-3-26 22:04:28 rocket
如果是这样的话关键就是如何组织这些正则表达式,把它放在一个比较方便的地方,一个好的模型的

2011-3-26 22:05:16 rocket
可以肯定的是这里要用的状态机,当然正则表达式本身就是个状态机

2011-3-26 22:05:48
不同的格式应该有个编号吧 

2011-3-26 22:05:54 rocket
数据读取后通过正则表达式进行分析,分类的

2011-3-26 22:06:00 rocket
嗯 应该有个版本号

2011-3-26 22:06:15 rocket
编号+版本号

2011-3-26 22:07:28 rocket
编号用于格式,版本号用于升级

2011-3-26 22:08:34 rocket
所以分析功能要作为一个单独的强模块

2011-3-26 22:10:02 rocket
然后日志、告警、MML再加个telnet几个模块,之间相对独立,但又有存在交互和调用

2011-3-26 22:10:30 rocket
所以需要一个管理类

2011-3-26 22:12:02 rocket
你原先做的服务器和这个类似么

2011-3-26 22:16:10
我们以前只写日志 

2011-3-26 22:16:32
没有分析模块 

2011-3-26 22:16:51 rocket
哦~~

2011-3-26 22:17:32 rocket
那你不说要对客户端的请求进行分流么

2011-3-26 22:18:22
分流是读配置文件来的 

2011-3-26 22:18:51 rocket
哦~~ 什么意思

2011-3-26 22:19:08 rocket
分流具体是做什么的

2011-3-26 22:19:15
你们是不是定时更新的那种 

2011-3-26 22:19:26 rocket

2011-3-26 22:19:53 rocket
应该是 不过时间间隔应该在几秒之内

2011-3-26 22:20:31 rocket
也就是说对性能要求会很高,要求在几秒之内处理完一次所有的数据

2011-3-26 22:21:20 rocket
如果数据量大的话 我想这里肯定会涉及到生产-消费模型用来缓冲数据

2011-3-26 22:23:26
监控应该是实时的吧,应该是保存完整的,但显示应该是最新的吧 

2011-3-26 22:23:58 rocket
嗯 没错

2011-3-26 22:24:21 rocket
呵呵 你还是挺有经验的

2011-3-26 22:26:09 rocket
实时响应一些异常情况,然后定时输出状态

2011-3-26 22:26:41
这里应该分两块,最新的数据拿来显示,如果来不及就丢掉一些 

2011-3-26 22:27:15 rocket
哦 你说的现实丢掉 还是分析丢掉

2011-3-26 22:27:20
另一块是保存完整的数据 

2011-3-26 22:27:33 rocket

2011-3-26 22:28:09
你最终要保留的是什么 

2011-3-26 22:28:54 rocket
我想保留的应该是一些异常情况吧 正常情况只需要做个统计

2011-3-26 22:29:06 rocket
哦 对了里面还需要有个统计模块

2011-3-26 22:31:06 rocket
他这边要保留一些输出的异常,对告警进行分析,过滤其中一些不重要的告警

2011-3-26 22:32:46
那这样的话,就不能因为处理不过来就丢掉了 

2011-3-26 22:34:33
每条告警都要显示,而且是有序的 

2011-3-26 22:35:09 rocket
我想处理的应该是一起异常,正常的情况就可以丢掉了,只需要做个统计

2011-3-26 22:35:36 rocket
嗯 这里应该有个分个级别

2011-3-26 22:35:48 rocket
重要,不重要,其他

2011-3-26 22:36:51
告警的级别肯定要的 

2011-3-26 22:37:58 rocket
这个用户可以自己设置,先识别一些可以识别的,跟据已有的规则分为重要和非重要,然后将未能识别的放到其他中,待用户自己识别

2011-3-26 22:38:44 rocket
有点类似于wireshark这样的码流工具

2011-3-26 22:40:02 rocket
显示的话就显示重要的

2011-3-26 22:40:24
如果数据量很大的话,产生了堆积,怎么处理呢 

2011-3-26 22:40:53 rocket
生产-消费者模型可以处理么

2011-3-26 22:41:03
那就不是实时的状态了 

2011-3-26 22:41:21
不知道 

2011-3-26 22:41:34 rocket
但是异常不会占大多数吧

2011-3-26 22:41:57 rocket
你说的数据量大,是指待分析的?

2011-3-26 22:42:50
对呀,来不及分析了,产生了堆积 

2011-3-26 22:43:20 rocket
要是这样的话,就要用分布式处理了,将分流交给一个PC,分析交给另一个PC

2011-3-26 22:44:00 rocket
再往下分 一个模块处理给一个PC

2011-3-26 22:44:14 rocket
不过我觉得现在的PC性能应该够

2011-3-26 22:45:36 rocket
我觉得关键是对异常的处理,首先有个大的区分,然后再对重要的部分做详细分析

2011-3-26 22:46:27 rocket
分析前的数据如果来不及处理,应该不是一台PC能处理过来的

2011-3-26 22:48:21 rocket
或者就要考虑分布式的处理,多线程还是什么? 像你们服务器如果连接的客户端太多 不知道是怎么处理的

2011-3-26 22:49:20
对,其实一般情况下,流程很清晰的,一个数据服务器,提供数据,一个客户端,不断的取数据,然后分析统计 

2011-3-26 22:50:10
我们没有考虑这个问题 

2011-3-26 22:51:27
那些数据都是文件形式的吧 

2011-3-26 22:51:30 rocket
以前,我们这么处理过。用几台机子完成功能,一台机子专门用于接收和过滤,另一台用来进行分析,显示,控制

2011-3-26 22:51:37 rocket
嗯 日志是的

2011-3-26 22:51:51 rocket
还有的是读数据库

2011-3-26 22:52:13 rocket
还一部分应该是通过socket

2011-3-26 22:53:27
数据库是谁来读呢 

2011-3-26 22:53:46 rocket
客户端吧

2011-3-26 22:54:17 rocket
SQL2000

2011-3-26 22:55:06
是什么内容,应该不是实时的吧 

2011-3-26 22:56:58 rocket
应该不是

2011-3-26 22:57:19 rocket
这块的数据应该不是很大 大的是日志文件

2011-3-26 22:57:57 rocket
还有种可能就是文件在被写入的时候客户端就可以被通知到

2011-3-26 22:59:37
其实我觉得,日志分析可以分两个方式,一种是客户端分析,还有一种是服务器分析 

2011-3-26 23:01:01
服务器分析有几个好处,可以减少网络压力 

2011-3-26 23:02:14
客户端拿到的是最新的分析数据 

2011-3-26 23:03:02
不需要每个客户端各自做分析了 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值