java - rsyslog 多行事件 java 堆栈跟踪发送到 tcp 侦听器
问题描述
所以,我有以下日志:
2018-09-13 10:29:25 ERROR [kafka-coordinator-heartbeat-thread | SDRVRF] o.a.k.common.network.SslTransportLayer Failed to send SSL Close message
java.io.IOException: Broken pipe
at sun.nio.ch.FileDispatcherImpl.write0(Native Method)
at sun.nio.ch.SocketDispatcher.write(SocketDispatcher.java:47)
at sun.nio.ch.IOUtil.writeFromNativeBuffer(IOUtil.java:93)
at sun.nio.ch.IOUtil.write(IOUtil.java:65)
at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:471)
at org.apache.kafka.common.network.SslTransportLayer.flush(SslTransportLayer.java:194)
at org.apache.kafka.common.network.SslTransportLayer.close(SslTransportLayer.java:162)
at org.apache.kafka.common.utils.Utils.closeAll(Utils.java:663)
at org.apache.kafka.common.network.KafkaChannel.close(KafkaChannel.java:59)
at org.apache.kafka.common.network.Selector.doClose(Selector.java:584)
at org.apache.kafka.common.network.Selector.close(Selector.java:575)
at org.apache.kafka.common.network.Selector.pollSelectionKeys(Selector.java:404)
at org.apache.kafka.common.network.Selector.poll(Selector.java:326)
at org.apache.kafka.clients.NetworkClient.poll(NetworkClient.java:433)
at org.apache.kafka.clients.consumer.internals.ConsumerNetworkClient.poll(ConsumerNetworkClient.java:232)
at org.apache.kafka.clients.consumer.internals.ConsumerNetworkClient.pollNoWakeup(ConsumerNetworkClient.java:270)
at org.apache.kafka.clients.consumer.internals.AbstractCoordinator$HeartbeatThread.run(AbstractCoordinator.java:931)
2018-09-13 10:29:25 WARN [kafka-coordinator-heartbeat-thread | SDRVRF] org.apache.kafka.clients.NetworkClient Connection to node 3 terminated during authentication. This may indicate that authentication failed due to invalid credentials.
当我尝试使用 rsyslog 将日志发送到 tcp 侦听器时,我有以下输出:
<133>0 2018-09-13T16:06:31.928986+02:00 server_ip nifi-app.log - - [2ca55a90-1cce-4544-ac22-02544e7a7100@293 sourcetag="!tag.server_ip"] 2018-09-13 10:29:25 ERROR [kafka-coordinator-heartbeat-thread | SDRVRF] o.a.k.common.network.SslTransportLayer Failed to send SSL Close message
<133>0 2018-09-13T16:06:31.928992+02:00 server_ip nifi-app.log - - [2ca55a90-1cce-4544-ac22-02544e7a7100@293 sourcetag="!tag.server_ip"] java.io.IOException: Broken pipe
<133>0 2018-09-13T16:06:31.928994+02:00 server_ip nifi-app.log - - [2ca55a90-1cce-4544-ac22-02544e7a7100@293 sourcetag="!tag.server_ip"] at sun.nio.ch.FileDispatcherImpl.write0(Native Method)
<133>0 2018-09-13T16:06:31.928995+02:00 server_ip nifi-app.log - - [2ca55a90-1cce-4544-ac22-02544e7a7100@293 sourcetag="!tag.server_ip"] at sun.nio.ch.SocketDispatcher.write(SocketDispatcher.java:47)
<133>0 2018-09-13T16:06:31.928999+02:00 server_ip nifi-app.log - - [2ca55a90-1cce-4544-ac22-02544e7a7100@293 sourcetag="!tag.server_ip"] at sun.nio.ch.IOUtil.writeFromNativeBuffer(IOUtil.java:93)
<133>0 2018-09-13T16:06:31.929000+02:00 server_ip nifi-app.log - - [2ca55a90-1cce-4544-ac22-02544e7a7100@293 sourcetag="!tag.server_ip"] at sun.nio.ch.IOUtil.write(IOUtil.java:65)
<133>0 2018-09-13T16:06:31.929001+02:00 server_ip nifi-app.log - - [2ca55a90-1cce-4544-ac22-02544e7a7100@293 sourcetag="!tag.server_ip"] at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:471)
<133>0 2018-09-13T16:06:31.929003+02:00 server_ip nifi-app.log - - [2ca55a90-1cce-4544-ac22-02544e7a7100@293 sourcetag="!tag.server_ip"] at org.apache.kafka.common.network.SslTransportLayer.flush(SslTransportLayer.java:194)
<133>0 2018-09-13T16:06:31.929004+02:00 server_ip nifi-app.log - - [2ca55a90-1cce-4544-ac22-02544e7a7100@293 sourcetag="!tag.server_ip"] at org.apache.kafka.common.network.SslTransportLayer.close(SslTransportLayer.java:162)
<133>0 2018-09-13T16:06:31.929006+02:00 server_ip nifi-app.log - - [2ca55a90-1cce-4544-ac22-02544e7a7100@293 sourcetag="!tag.server_ip"] at org.apache.kafka.common.utils.Utils.closeAll(Utils.java:663)
<133>0 2018-09-13T16:06:31.929009+02:00 server_ip nifi-app.log - - [2ca55a90-1cce-4544-ac22-02544e7a7100@293 sourcetag="!tag.server_ip"] at org.apache.kafka.common.network.KafkaChannel.close(KafkaChannel.java:59)
<133>0 2018-09-13T16:06:31.929010+02:00 server_ip nifi-app.log - - [2ca55a90-1cce-4544-ac22-02544e7a7100@293 sourcetag="!tag.server_ip"] at org.apache.kafka.common.network.Selector.doClose(Selector.java:584)
<133>0 2018-09-13T16:06:31.929012+02:00 server_ip nifi-app.log - - [2ca55a90-1cce-4544-ac22-02544e7a7100@293 sourcetag="!tag.server_ip"] at org.apache.kafka.common.network.Selector.close(Selector.java:575)
<133>0 2018-09-13T16:06:31.929013+02:00 server_ip nifi-app.log - - [2ca55a90-1cce-4544-ac22-02544e7a7100@293 sourcetag="!tag.server_ip"] at org.apache.kafka.common.network.Selector.pollSelectionKeys(Selector.java:404)
<133>0 2018-09-13T16:06:31.929015+02:00 server_ip nifi-app.log - - [2ca55a90-1cce-4544-ac22-02544e7a7100@293 sourcetag="!tag.server_ip"] at org.apache.kafka.common.network.Selector.poll(Selector.java:326)
<133>0 2018-09-13T16:06:31.929016+02:00 server_ip nifi-app.log - - [2ca55a90-1cce-4544-ac22-02544e7a7100@293 sourcetag="!tag.server_ip"] at org.apache.kafka.clients.NetworkClient.poll(NetworkClient.java:433)
<133>0 2018-09-13T16:06:31.929018+02:00 server_ip nifi-app.log - - [2ca55a90-1cce-4544-ac22-02544e7a7100@293 sourcetag="!tag.server_ip"] at org.apache.kafka.clients.consumer.internals.ConsumerNetworkClient.poll(ConsumerNetworkClient.java:232)
<133>0 2018-09-13T16:06:31.929022+02:00 server_ip nifi-app.log - - [2ca55a90-1cce-4544-ac22-02544e7a7100@293 sourcetag="!tag.server_ip"] at org.apache.kafka.clients.consumer.internals.ConsumerNetworkClient.pollNoWakeup(ConsumerNetworkClient.java:270)
<133>0 2018-09-13T16:06:31.929024+02:00 server_ip nifi-app.log - - [2ca55a90-1cce-4544-ac22-02544e7a7100@293 sourcetag="!tag.server_ip"] at org.apache.kafka.clients.consumer.internals.AbstractCoordinator$HeartbeatThread.run(AbstractCoordinator.java:931)
<133>0 2018-09-13T16:06:31.929026+02:00 server_ip nifi-app.log - - [2ca55a90-1cce-4544-ac22-02544e7a7100@293 sourcetag="!tag.server_ip"] 2018-09-13 10:29:25 WARN [kafka-coordinator-heartbeat-thread | SDRVRF] o.a.k.common.network.SslTransportLayer Failed to send SSL Close message
如您所见,它不会占用整个 java 堆栈跟踪,而是逐行读取文件。
我希望输出如下:
<133>0 2018-09-13T16:06:31.929024+02:00 server_ip nifi-app.log - - [2ca55a90-1cce-4544-ac22-02544e7a7100@293 sourcetag="!tag.server_ip"] whole java stack trace
<133>0 2018-09-13T16:06:31.929024+02:00 server_ip nifi-app.log - - [2ca55a90-1cce-4544-ac22-02544e7a7100@293 sourcetag="!tag.server_ip"] new java stack trace
etcetc
我有以下 rsyslog 配置:
$ModLoad imfile
#variables required for non-syslog log file forwarding – SystemErr
$InputFileName /var/opt/nifi-app_xxxxxxx.log
$InputFileTag nifi-app.log:
$InputFilestartmsg.regex="^[[:digit:]]{4}/[[:digit:]]{2}/[[:digit:]]{2} [[:digit:]]{1,2}:[[:digit:]]{1,2}:[[:digit:]]{1,2}"
$template NiFiFormatMessages,"<%pri%>%protocol-version% %timestamp:::date-rfc3339% %HOSTNAME% %app-name% %procid% %msgid% [2ca55a90-1cce-4544-ac22-02544e7a7100@293 sourcetag=\"!tag.server_ip"] %msg%"
我也尝试过不同的场景,$InputFileReadMode
但没有成功。
您能否告诉我如何配置 rsyslog 来处理 java 堆栈跟踪以便发送到 tcp 侦听器?
先感谢您!
解决方案
推荐阅读
- java - 在 selenium 的活动窗口中未单击 X 图标
- c++ - 在 C++ 中初始化二维向量
- xamarin - 为什么 Navigation.PopAsync() 不触发底层页面的 OnAppearing 方法?
- html - 如何使用 FreeMarker 显示实体?
- python - 使用 shutil.unpack_archive 获取最新解压文件的文件名
- css - 在 Cookie 中保存更改的 CSS 属性?
- machine-learning - 处理逻辑回归的 NaN(缺失)值 - 最佳实践?
- elasticsearch - Elastisearch 查询过滤器
- docker - 为什么我需要处于 Swarm 模式才能使用 Docker 机密?
- javascript - 我可以使用正则表达式捕获组来防止该组的连续匹配吗?