python – Celery stacktraces的Logstash多行编解码器
发布时间:2020-12-16 21:30:21 所属栏目:Python 来源:网络整理
导读:尝试为logstash创建正确解析Celery日志格式的配置,包括多行堆栈跟踪.记录输出的示例可能如下所示: [2014-04-15 15:11:27,350: DEBUG/Worker-4] Doing some work.[2014-04-15 15:11:27,362: ERROR/MainProcess] Task core.tasks.sometask[92dc34bd-8139-4f98
尝试为logstash创建正确解析Celery日志格式的配置,包括多行堆栈跟踪.记录输出的示例可能如下所示:
[2014-04-15 15:11:27,350: DEBUG/Worker-4] Doing some work. [2014-04-15 15:11:27,362: ERROR/MainProcess] Task core.tasks.sometask[92dc34bd-8139-4f98-b359-d78caf68381d] raised unexpected: ValueError('Foobar',) Traceback (most recent call last): File "./venvs/backend-33/lib/python3.4/site-packages/celery/app/trace.py",line 238,in trace_task R = retval = fun(*args,**kwargs) File "./venvs/backend-33/lib/python3.4/site-packages/celery/app/trace.py",line 416,in __protected_call__ return self.run(*args,**kwargs) File "util.py",line 151,in wrapper rv = func(self,*args,**kwargs) File "tasks.py",line 104,in do_something_useful raise ValueError('Foobar') ValueError: Foobar 在某些时候,我让Grok准备解析单行输出,但多行是一个问题.这个配置: input { stdin { codec => multiline { 'negate' => true 'pattern' => '^[' 'what' => 'previous' } } } output { stdout { codec => rubydebug } } 从多线编解码器的Logstash文档中或多或少地直接采用,当我运行它时,它根本不产生输出. 我尝试使用多行过滤器,但它产生了相同的结果,我也尝试使用–verbose运行logstash,但它没有提供任何有用的信息.这里发生了什么? 解决方法
经过一些谷歌搜索,我找到了答案,显然多行编解码器与stdin输入不相称.使用文件输入,现在它可以工作.
见:https://logstash.jira.com/browse/LOGSTASH-1629 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |