所有
现在我想将事件从远程服务器发送到中心服务器以收集和解析logs.Originally我使用pyinotify,但我发现logstash是一个很好的工具。
但我有一个问题,事件消息是加密的,所以我想在过滤器过程中解码消息。过滤器可以用python或java写吗?解码过程需要第三部分包,比如rc4,argparse,urlparse等等,我该怎么办?
我在logstash.net网站上找到了该文档,但这太简单了,我还是不知道怎么做。
非常感谢。
更多讯息:
因为来自远程服务器的日志是由rc4加密的,我需要首先解码然后解析日志。日志是这样的:
1418572797.786 0 112.8.84.86 TCP_MEM_HIT/200 283 GET http://statlog.cc.netease.com/query?c=AUDIO&ts=20141214235959&sig=-1056308330&data=JaaBbq_g_-yBWXkRYRTTPm5mCqMvSGNmVUeftZhFmIqEXPuxu4co4vRupZXrvGXAx2zgTgJUsQuR0X7dtuKSkOK_gzG8S-spplElIfmpoB1g3LcUF-rh8IGFxtmZlSkmU5vxOG8jmmbwe-MTijNgv6Clgh5scBKmWpzkv8dtFGop58paHL8j7W_RL6KkWqHaieADsJGNy4E_qHKfTljG0bl5AEFX - NONE/- - "-"
答案 0 :(得分:0)
如果你可以编写代码来在ruby而不是python / java中解密消息,你可以使用ruby filter来允许你在logstash过滤器中运行ruby代码。
看起来只有消息部分是加密的,所以你可能想要将加密的消息输入到一个字段中,然后将其传递给ruby来解密它。
答案 1 :(得分:0)
我明白了, 就像http://www.logstash.net/docs/1.4.2/extending/一样 使用ruby编写代码,它可以导入第三部分包。一切都会好的。