/var/log/messages
我已经有一段时间没有看我的了。事实证明充满了类似的消息
Dec 23 06:27:01 ifs-web rsyslogd-2359: action 'action 18' resumed (module 'builtin:ompipe') [try http://www.rsyslog.com/e/2359 ]
Dec 23 07:17:01 ifs-web rsyslogd-2007: action 'action 18' suspended, next retry is Wed Dec 23 07:17:31 2015 [try http://www.rsyslog.com/e/2007 ]
这对我来说意义不大——我不知道“行动 18”是什么意思。我如何进一步追踪以尝试找到问题的根源?
答案1
网址http://www.rsyslog.com/e/2007第二条消息中显示,将我带到了一个信息丰富的线程。
编辑:此链接的内容已更改。为了显示撰写本文时本页的内容,这里有一个存档链接。当前内容位于http://www.rsyslog.com/e/2007解释了下面描述的相同问题。
让我们忽略“完整描述”,该描述表示此状态不应暴露给用户并指示编程错误。看来 rsyslog 中的行为发生了一些变化,这是现在暴露了。但这是可以解决的。
有什么地方可以找到操作 18 是什么或如何调试问题是什么?
您可以命名操作(name=“xxx”属性)。如果未命名,rsyslog 将按加载顺序对它们进行计数,并分配一个名称“action-”,因此这是加载顺序中的第 18 个操作。
我猜想这是写入 xconsole 管道的发行版默认设置,实际上它不存在,因为它没有被使用。如果是这样,您只需从 rsyslog.conf 中删除该行即可。有些发行版默认这样做,当我们遇到写入错误时,我们需要像往常一样报告它们。
这里的另一个线索是消息module 'builtin:ompipe'
中的resume
(即它试图写入此处的管道,而不是普通的日志文件)。
我确实正在运行 Debian Jessie,线程中提到它默认具有此配置。并且操作编号对应于 xconsole 行。
在较新版本的 Debian 中,xconsole 行已被删除。Debian rsyslog 软件包 8.14.0-2 版中引入了此修复。 https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=745492#25
答案2
使用以下命令进行调试:
rsyslogd -N 1 -d 2> /tmp/rsyslog.stderr.$$ | egrep "cnf:|ssigned|filter|ACTION|PRIFILT" | \
egrep -v 'cnf:global:script|END' | more