Agent
OSSIM Agent的主要职责是收集网络上存在的各种设备发送的所有数据,然后按照一种标准方式(standardized way)有序的发送给OSSIM Server,Agent收集到数据后在发送给Server之前要对这些数据进行标准化处理,这样Server就可以依一种统一的方式来处理这些信息,并且也简化了Server的处理过程。
这一点和Hyperic HQ 的Agent有很大的区别:HQ Agent只负责数据的采集,将采集到的数据通过HTTP协议发送给HQServer,然后HQServer将数据存入数据库。
OSSIM Server接收到的每一个事件都是被某个Agent事先处理过的,即便是当一个Server只有另外一个Server(被设计用来只负责转发数据的server)和他链接时(即该server不和Agent直接链接,而是和别的Server链接),那个处在这个链接链的最后的那个Server的数据肯定也是某个Agent处理后发送过来的。
老外的上面这段话有点绕,概括一下就是:Server中的数据信息归根到底肯定是由某个Agent事先处理后发送过来的,即便该Server不和任何其他Agent直接相连接!
通过这段话我们也可以得出结论:OSSIM网络中,Server和Server是可以互联的,也就是说Server既可以作为Server也可以作为Agent?
OSSIM Agent发送给Server的数据,绝大多数情况下是通过读取网络设备终端中的日志文件得来的。OSSIM有计划将来会实现从其他类型的数据来源(如DB或Socket)中读取数据信息。
Agent和Server的连接断掉后,Agent便不能将事件发送给Server了,但是Agent会将这些事件入栈(stacks),当连接重新建立后Agent会自动将这些事件按照到达的顺序发送给Server端。