测试环境管理之线上日志实时收集过滤转发
作者:网络转载 发布时间:[ 2013/1/17 10:29:57 ] 推荐标签:
warden:展示日志的工具,与中间节点warden-aggr建立socket connect连接,用zeromq sub模式接收消息后解压缩再用print输出消息,消息的 send 和 recv都用multipart模式,所以在warden上可以指定只看某一台机器的日志.
sample code:
class Warden:
_sock = None
def __init__(self, connectInfo):
context = zmq.Context()
self._sock = context.socket(zmq.SUB)
self._sock.setsockopt(zmq.SUBSCRIBE, '')
self._sock.connect(connectInfo)
def loop(self, filter):
while 1:
msg = self._sock.recv_multipart()
if cmp(msg[0], filter) != -1:
print zlib.decompress(msg[1]),
问题:
-定义和规范identity 目前只能通过机器过滤日志,一台机器上通常有很多种日志,我们希望定义详细的identity来区分和过滤日志.
-转发模式 目前的过滤全是在warden上做的,等于把所有日志收下来后不用扔掉来过滤,我们希望使用类似订阅的模式,客户端发送一个订阅消息来接收指定的日志,服务器收到订阅消息才广播日志,这样能省很多网络流量.
后:
我们把warden定义成一个长期的基础项目,可以不停的改进.

This entry was posted in 平台工具 by sdhou. Bookmark the permalink.

sales@spasvo.com